eddy_em: (Костерок)
[personal profile] eddy_em
Итак, я уже жаловался на то, что обиделся на разработчиков opencm3, поломавших API в очередном обновлении. И грозился перейти на "безбиблиотечную" разработку.
Время настало: пора помаленьку знакомиться с STM32F042 и разрабатывать систему термомониторинга зеркала. Третий час сижу, пока особо без результата: скачал "сниппеты" с сайта st, но как-то не нравится мне их подход. Но пытаться сделать конфетку из opencm3 — тоже много времени займет!
Мучают сомнения: как, например, usb прикручивать или lwip... Самым идеальным вариантом было бы "скрестить ежа и ужа": сделать что-то свое на основе "сниппетов" и opencm3. Вот и думаю: доводить ли "сниппеты" до уровня opencm3 или же потихоньку править код opencm3 под свои нужды, заворачивая все в дефайны или инлайны... В любом случае и там, и там полным-полно дыр. Скажем, тактирование от HSE отсутствует — по-любому самостоятельно писать надо.
Пожалуй, сделаю себе репу актуальной opencm3 (с еще не поломанным API, чтобы иметь возможность собирать с нею старый код), и буду помаленьку пилить ее под свои нужды.

Date: 2016-12-26 09:04 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Попытка извлечь хоть что-то полезное из STM'овских сниппетов провалилась: я так и не нашел, где у них задаются векторы прерываний.
Хреново, что для таких популярных микроконтроллеров никакой вменяемой среды разработки нет: или жри калокуб, или сам принимай участие в разработке какого-нибудь opencm3, или все свое время посвящай написанию нормальной среды погромирования...

Date: 2016-12-27 05:53 am (UTC)
From: [identity profile] alex-avr2.livejournal.com
Пиши на ассемблере и будет тебе счастье.

Date: 2016-12-27 05:57 am (UTC)
From: [identity profile] eddy-em.livejournal.com
USB под ассемблер? Не, это совсем уж перебор.
Я решил инициализацию делать на форкнутой opencm3, а критические вещи переделать — засунуть их в #define'ы, чтобы уж точно заинлайнены были и не было бешеных лагов в критичных местах (это я уже настрадался, когда 1-wire делал на таймере с ПДП).

Date: 2016-12-27 05:58 am (UTC)
From: [identity profile] mbr.livejournal.com
Возьми RExOS. Я как раз недавно поддержку USB в F0 запилил. У меня в сэмплах USB есть.

И да, скажи спасибо, что они в F0 в хедерах USB регистры прописали. Для F1 я свой хедер писал.
Edited Date: 2016-12-27 06:01 am (UTC)

Date: 2016-12-27 07:53 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Очень лень переучиваться на что-то новое.
А твоя RExOS может работать в режиме bare metal?

К opencm3 я привык, потихоньку допишу недостающую инициализацию, а вот в рантайме буду все только через регистры напрямую делать, без дурацких функций.

Date: 2016-12-27 08:08 am (UTC)
From: [identity profile] mbr.livejournal.com
Это ртось в принципе :) USB сложный процесс, там вечно отвечать на хотелки хоста. Bare metall под нее сложно проектировать.

Date: 2016-12-27 08:09 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Ну, мне ртось нафиг не нужна. Я ничего такого сложного, где понадобилась бы ртось, не планирую разрабатывать.

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 03:19 pm
Powered by Dreamwidth Studios