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

Мистика…

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

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

[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 (и может еще парой сложных блоков) - да, без готовых решений довольно заморочно вручную писать, это минус. Все остальное пишется влет на регистрах без заморочек.