"Безбиблиотечная" разработка под STM32
Dec. 26th, 2016 09:48 pmИтак, я уже жаловался на то, что обиделся на разработчиков opencm3, поломавших API в очередном обновлении. И грозился перейти на "безбиблиотечную" разработку.
Время настало: пора помаленьку знакомиться с STM32F042 и разрабатывать систему термомониторинга зеркала. Третий час сижу, пока особо без результата: скачал "сниппеты" с сайта st, но как-то не нравится мне их подход. Но пытаться сделать конфетку из opencm3 — тоже много времени займет!
Мучают сомнения: как, например, usb прикручивать или lwip... Самым идеальным вариантом было бы "скрестить ежа и ужа": сделать что-то свое на основе "сниппетов" и opencm3. Вот и думаю: доводить ли "сниппеты" до уровня opencm3 или же потихоньку править код opencm3 под свои нужды, заворачивая все в дефайны или инлайны... В любом случае и там, и там полным-полно дыр. Скажем, тактирование от HSE отсутствует — по-любому самостоятельно писать надо.
Пожалуй, сделаю себе репу актуальной opencm3 (с еще не поломанным API, чтобы иметь возможность собирать с нею старый код), и буду помаленьку пилить ее под свои нужды.
Время настало: пора помаленьку знакомиться с STM32F042 и разрабатывать систему термомониторинга зеркала. Третий час сижу, пока особо без результата: скачал "сниппеты" с сайта st, но как-то не нравится мне их подход. Но пытаться сделать конфетку из opencm3 — тоже много времени займет!
Мучают сомнения: как, например, usb прикручивать или lwip... Самым идеальным вариантом было бы "скрестить ежа и ужа": сделать что-то свое на основе "сниппетов" и opencm3. Вот и думаю: доводить ли "сниппеты" до уровня opencm3 или же потихоньку править код opencm3 под свои нужды, заворачивая все в дефайны или инлайны... В любом случае и там, и там полным-полно дыр. Скажем, тактирование от HSE отсутствует — по-любому самостоятельно писать надо.
Пожалуй, сделаю себе репу актуальной opencm3 (с еще не поломанным API, чтобы иметь возможность собирать с нею старый код), и буду помаленьку пилить ее под свои нужды.
no subject
Date: 2016-12-26 09:04 pm (UTC)Хреново, что для таких популярных микроконтроллеров никакой вменяемой среды разработки нет: или жри калокуб, или сам принимай участие в разработке какого-нибудь opencm3, или все свое время посвящай написанию нормальной среды погромирования...
no subject
Date: 2016-12-27 05:53 am (UTC)no subject
Date: 2016-12-27 05:57 am (UTC)Я решил инициализацию делать на форкнутой opencm3, а критические вещи переделать — засунуть их в #define'ы, чтобы уж точно заинлайнены были и не было бешеных лагов в критичных местах (это я уже настрадался, когда 1-wire делал на таймере с ПДП).
no subject
Date: 2016-12-27 05:58 am (UTC)И да, скажи спасибо, что они в F0 в хедерах USB регистры прописали. Для F1 я свой хедер писал.
no subject
Date: 2016-12-27 07:53 am (UTC)А твоя RExOS может работать в режиме bare metal?
К opencm3 я привык, потихоньку допишу недостающую инициализацию, а вот в рантайме буду все только через регистры напрямую делать, без дурацких функций.
no subject
Date: 2016-12-27 08:08 am (UTC)no subject
Date: 2016-12-27 08:09 am (UTC)