189 похожих чатов

Товарищи-Программисты и инженеры, вопросец у меня есть. Тапками не кидайте,

но сам уже замучился.
Вводная: Есть библиотека LoRaWAN которую совместно пилили семтек, СТ и стакфорс (имена этих ужасных людей есть, порчу уже навел). Появилась необходимость портировать сей шедевр в ртос. Уже переделал бо́льшую часть проблемных мест и оно завелось и даже стабильно работает, но очень не хватает какого-нибудь руководства по тому, как сделать этот "шедевр" читаемым и переносимым. Может есть что-то, что можно почитать и как-то подготовить либу к потенциальному переносу на другие арм-платформы? Ну и в целом по оформлению кода и разбиению на уровни абстракции и отдельные файлы (пишу на сях). Боюсь что второго переноса на какой-нибудь GD32 я не переживу

16 ответов

17 просмотров

Так у них там платформ уже готовых немеряно. Там всё прозрачно и по названиям директорий понятно что где лежит.

Maxim-Khodnenko🌈 Автор вопроса
x893
Так у них там платформ уже готовых немеряно. Там в...

М, ну в этом же и проблема. Готовые платформы это не очень выгодно как по цене так и по потреблению, а сейчас у меня stm32l0 и отдельный дешёвый модуль радио. Готовые решения это обычно встроенный МК который работает только с трансивером, на семтековской недооперационке и управляемый АТ-командами. А сейчас я обхожусь одним чипом, который отвечает и за лора-стек и за свои основные задачи

Ты один над этим работаешь?

Maxim-Khodnenko🌈 Автор вопроса
Sergey
Ты один над этим работаешь?

Пока да, но маячит перспектива появления коллеги. Так что задача совместной работы над кодом тоже стоит где-то рядом

Maxim Khodnenko🌈
М, ну в этом же и проблема. Готовые платформы это ...

Я так и использую. Модули разные RAK4270, RAK4200, RAK3172, LORA-E5, RAK811, WRL089, и прочие.

Maxim-Khodnenko🌈 Автор вопроса
Maxim-Khodnenko🌈 Автор вопроса
x893
Я так и использую. Модули разные RAK4270, RAK4200,...

У нас крайне ограничен размер платы и цена устройства, поэтому есть как есть. Да и сейчас уже рад что удалось перетащить всё в cmsis-rtos так что не вижу смысла отказываться от неинтегрированного модуля

Насколько я понял тебе нужно рефакторить твой проект и подвести его под определенные рамки для дальнейшего использования другими людьми (проектирование, конструирование, документирование, дальнейшее сопровождение).

Maxim-Khodnenko🌈 Автор вопроса
Sergey
Насколько я понял тебе нужно рефакторить твой прое...

Бинго. Вот хотелось бы какую-то литературу если есть с рекомендациями по разделению всего этого добра. У ст доминирует идея про Board support package но я не знаю есть ли ещё варианты

Maxim-Khodnenko🌈 Автор вопроса

Спасибо, ознакомлюсь

отдельные главы чистая архитектура Роберт Мартин. Там они embedded посвящены. А можно целиком. Книга прекрасна. Но в си нет интерфейсов, хоть и можно сделать по-другому

Maxim-Khodnenko🌈 Автор вопроса
Евгений
отдельные главы чистая архитектура Роберт Мартин. ...

Я стараюсь использовать "Интерфейсы и реализации в Си" в целом, но хорошо:) возможно у меня даже эта книжка где-то есть бумажная, накупил добра как хомяк а руки не доходят. Спасибо!

Maxim Khodnenko🌈
Я стараюсь использовать "Интерфейсы и реализации в...

Книга отлично описывает, как строить архитектуру. Есть главы посвящённые железу. Указатели на функции в принципе могут заменить интерфейсы. По сути такой же контракт, но не такой сахар

Maxim-Khodnenko🌈 Автор вопроса
Евгений
Книга отлично описывает, как строить архитектуру....

Мне абстрактные типы понравились, ну и в целом статиков побольше, статиков, по самые уши, чтоб наружу только пара функций интерфейса торчало

попробуйте Haskell =)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта