но сам уже замучился.
Вводная: Есть библиотека LoRaWAN которую совместно пилили семтек, СТ и стакфорс (имена этих ужасных людей есть, порчу уже навел). Появилась необходимость портировать сей шедевр в ртос. Уже переделал бо́льшую часть проблемных мест и оно завелось и даже стабильно работает, но очень не хватает какого-нибудь руководства по тому, как сделать этот "шедевр" читаемым и переносимым. Может есть что-то, что можно почитать и как-то подготовить либу к потенциальному переносу на другие арм-платформы? Ну и в целом по оформлению кода и разбиению на уровни абстракции и отдельные файлы (пишу на сях). Боюсь что второго переноса на какой-нибудь GD32 я не переживу
Так у них там платформ уже готовых немеряно. Там всё прозрачно и по названиям директорий понятно что где лежит.
М, ну в этом же и проблема. Готовые платформы это не очень выгодно как по цене так и по потреблению, а сейчас у меня stm32l0 и отдельный дешёвый модуль радио. Готовые решения это обычно встроенный МК который работает только с трансивером, на семтековской недооперационке и управляемый АТ-командами. А сейчас я обхожусь одним чипом, который отвечает и за лора-стек и за свои основные задачи
Ты один над этим работаешь?
Пока да, но маячит перспектива появления коллеги. Так что задача совместной работы над кодом тоже стоит где-то рядом
и коллега хвостатый?
Я так и использую. Модули разные RAK4270, RAK4200, RAK3172, LORA-E5, RAK811, WRL089, и прочие.
Понятия не имею
У нас крайне ограничен размер платы и цена устройства, поэтому есть как есть. Да и сейчас уже рад что удалось перетащить всё в cmsis-rtos так что не вижу смысла отказываться от неинтегрированного модуля
Насколько я понял тебе нужно рефакторить твой проект и подвести его под определенные рамки для дальнейшего использования другими людьми (проектирование, конструирование, документирование, дальнейшее сопровождение).
Бинго. Вот хотелось бы какую-то литературу если есть с рекомендациями по разделению всего этого добра. У ст доминирует идея про Board support package но я не знаю есть ли ещё варианты
Спасибо, ознакомлюсь
отдельные главы чистая архитектура Роберт Мартин. Там они embedded посвящены. А можно целиком. Книга прекрасна. Но в си нет интерфейсов, хоть и можно сделать по-другому
Я стараюсь использовать "Интерфейсы и реализации в Си" в целом, но хорошо:) возможно у меня даже эта книжка где-то есть бумажная, накупил добра как хомяк а руки не доходят. Спасибо!
Книга отлично описывает, как строить архитектуру. Есть главы посвящённые железу. Указатели на функции в принципе могут заменить интерфейсы. По сути такой же контракт, но не такой сахар
Мне абстрактные типы понравились, ну и в целом статиков побольше, статиков, по самые уши, чтоб наружу только пара функций интерфейса торчало
попробуйте Haskell =)
Обсуждают сегодня