eddy_em: (Костерок)
eddy_em ([personal profile] eddy_em) wrote2017-01-15 05:44 pm

Мистика…

Уже полдня бьюсь с АЦП через ПДП. На стадии вывода значений возникают непонятные зависания. Что только не делал. И вдруг: бамц, озарение! Если убрать математические операции (деление, умножение, взятие остатка), никакого зависания нет. А как только я пытаюсь отобразить значение, вылезает ошибка.

То ли микроконтроллер дохлый, то ли какая-то хитрость есть в том, чтобы STM32F042 научить целочисленной арифметике кроме сложения и вычитания...

[identity profile] alex-avr2.livejournal.com 2017-01-15 06:56 pm (UTC)(link)
А при чем тут вообще opencm3 О_О
И нахрена оно нужно? Ты бы еще под SPL писал бы..

А пеняет еще на микроконтроллер...

[identity profile] eddy-em.livejournal.com 2017-01-15 07:02 pm (UTC)(link)
При том, что с нуля писать все дефайны я не собираюсь.

[identity profile] alex-avr2.livejournal.com 2017-01-15 07:13 pm (UTC)(link)
А зачем писать все дефайны, если они все давно написаны в цмсисе?

[identity profile] eddy-em.livejournal.com 2017-01-15 07:22 pm (UTC)(link)
Я не видел в цмсисе ничего, что позволит мне написать
DMA1_CCR5 |= DMA_CCR_MINC | DMA_CCR_TCIE | DMA_CCR_EN;

CMSIS - он только для всего семейства общее содержит, а уже конкретно для STM32 нужно где-то брать заголовки.

[identity profile] alex-avr2.livejournal.com 2017-01-15 07:31 pm (UTC)(link)
Ты какую-то хрень пишешь.
Те дефайны что ты написал это и есть цмсис. к опенцм3 вообще никакого отношения не имеет.

http://www.keil.com/dd/docs/arm/st/stm32f0xx/stm32f0xx.h

[identity profile] eddy-em.livejournal.com 2017-01-15 07:43 pm (UTC)(link)
Это — не cmsis, это инклюд от ST.
У меня в сниппетах такой есть в CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h. Но в нем мне не нравится, что описания регистров через структуры делаются. В opencm3 удобней.

Найти бы где готовый пример, чтобы проверить... Я те же сниппеты без мучений в течение 4-8 часов не соберу: там Makefile отсутствует. Поди-ка собери все, что там им нужно...

Где бы нормальный Makefile взять, чтобы скомпилировать примеры вообще безо всяких левых библиотек и стартап-файлов?

[identity profile] alex-avr2.livejournal.com 2017-01-15 07:47 pm (UTC)(link)
Это — не cmsis, это инклюд от ST.
Тут ты формально прав, да, это надо было мне уточнить. Но так сложилось, что все давно это называют цмсисом и не парятся :)

>>не нравится, что описания регистров через структуры делаются

И в чем же плюсы такого? Структуры - наоборот удобно.

>>Makefile отсутствует.

а нефиг говносредами пользоваться.
Я вот одну кнопочку нажимаю и все готово.

[identity profile] eddy-em.livejournal.com 2017-01-15 07:50 pm (UTC)(link)
> Структуры - наоборот удобно.
Ну, учитывая то, что gcc в отличие от sdcc умеет оптимизировать, то действительно, все равно.

> а нефиг говносредами пользоваться.
Я как раз говносредами не пользуюсь. У меня IDE geany и компилятор gcc.

> Я вот одну кнопочку нажимаю и все готово.
Мне больше нравится видеть всю информацию в консоли, поэтому хоть и могу на хоткеи все повесить, лучше набрать make, посмотреть выхлоп, а затем уже make flash.

[identity profile] alex-avr2.livejournal.com 2017-01-15 07:53 pm (UTC)(link)
А я нажимаю кнопочку тоже весь выхлоп вижу :)

[identity profile] eddy-em.livejournal.com 2017-01-15 07:58 pm (UTC)(link)
Меня от мастдайки в частности и от проприетарщины вообще так воротит, что я лучше сменю сферу деятельности, чем буду в этом говне копаться!

[identity profile] alex-avr2.livejournal.com 2017-01-15 08:01 pm (UTC)(link)
Ну тогда учачи с копанием в своем говне :)))

[identity profile] eddy-em.livejournal.com 2017-01-15 08:38 pm (UTC)(link)
Попробую без opencm3 сделать blink и воткнуть туда деление. Если будет работать, так и буду продолжать.
Непонятно только, как туда usb и (в случае необходимости) lwip прикручивать: в opencm3-то все сделано единым массивом, никаких лишних движений не нужно делать.

[identity profile] alex-avr2.livejournal.com 2017-01-15 08:42 pm (UTC)(link)
Удачи :)

С usb/ethernet/sdio (и может еще парой сложных блоков) - да, без готовых решений довольно заморочно вручную писать, это минус. Все остальное пишется влет на регистрах без заморочек.

[identity profile] simsun.livejournal.com 2017-01-15 07:50 pm (UTC)(link)
О!
я тоже этот вот .h подпихиваю в GCC из cmd
из него уже stm32f030x6.h подставляется

[identity profile] eddy-em.livejournal.com 2017-01-15 07:51 pm (UTC)(link)
Makefile'ом не поделишься?

[identity profile] simsun.livejournal.com 2017-01-15 09:17 pm (UTC)(link)
ума не приложу что там можно полезного увидеть в моём исполнении, для одного файла наверно и скрипта хватило. Да ещё и для win,кстати, но мне не жалко :)))

ps не скажу, что помню откуда и для чего часть ключей GCC :)
-D STM32F030x4 - откуда то из прошлого там например

[identity profile] eddy-em.livejournal.com 2017-01-15 09:23 pm (UTC)(link)
Да я вот думаю на F0 полностью на сниппеты перейти. А там ld-файлов нет, да и вообще как-то странно заковыряно.
Ладно, буду разбираться как-нибудь в другое время.