Comments 13
С таким подходом можно было уже взять NuttX и ложить "изменяемую часть" в файловую систему.
Может имеет смысл написать свой bootloader, который будет делать IAP только изменившихся секций?
т.е. после пересборки если код для раздела не менялся, то бинарный код для раздела каждый раз получается разным?
Как раз напротив, когда проект пересобирается полностью, то зачастую приходиться шить заново все разделы;
т.е. после пересборки если код для раздела не менялся, то бинарный код для раздела каждый раз получается разным?
Подскажите, а есть какое-нить хорошее руководство по линкеру gcc?
Меня в 90% случаев устраивает официальное руководство. Если нет, то приходится прибегать к примерам и редким статьям.
Слишком много Си и C++. Читать сложно.
Нормальный отладчик грузит 512 кб кода во внутреннюю флэш за пару секунд.
Можно уточнить, какой? Конкретно stm32f405rgt6 с помощью официального st-link v2 на «4000» шьет порядка 10 секунд (на отладочной можно в режиме «9000» шить, но почему-то на моем конкретном чипе не прокатывает). J-link с AliExpres шьет примерно так же. Причем я сейчас говорю про скорость по JTAG порту, а не по SWD.
Решительно не вижу никакой необходимости тратить свои силы и время на оптимизацию этого процесса.
В принципе, согласен. Теперь уже. Когда сделал и понял, что больше проблем, чем плюсов.
Тем более, что отладка зачастую затрагивает сразу несколько изменений и требует на порядки больше времени.
Тут когда как. Порой хочется исправить, например, неверный переход по меню и сразу посмотреть, как оно работает. Но это уже отладка бизнес-логики. Ее лучше производить либо в проекте собранном под компьютер, либо через скриптовую машину, если таковая есть в проекте.
И да, у меня был аналогичный проект, но там чисто бизнес-код занимал почти всю внутреннюю память, строки, знакогенераторы, звуки, картинки и некоторые крупные структуры лежали во внешней памяти и были размером в районе 3 Мб.
Предпочитаю, если есть возможность, ставить что-то типа micro-sd или, если недопустимо по требованиям вибрационной устойчивости или прочего, то на flash на плате накатывать fat и использовать файловую систему для всяких картинок и прочего. Это дает не сильные накладные расходы, зато удобно сопровождать.
У меня uLink2 был
Не работал. Возьму на заметку. Попробую достать. А какой контроллер шили?
но потеря скорости очень существенная
SDIO интерфейс использовали? Или по SPI? Я стараюсь первый использовать. 4 бита. В проекта что разбирал в статье — это избыточно. Но вот например когда идет запись видео, хотя бы 480p, то уже критично.
да и апдейтить такие устройства гораздо сложнее
Спорный вопрос. Если вы храните пакет на git, то вам нет труда отследить соответствие.
Sign up to leave a comment.
Делаем процесс разработки тяжеловесного программного обеспечения под микроконтроллеры более удобным (нет)