Доброго всем дня! Написал свой бутлодырь под STM32f103. Делал это впервые, так что не пинайте. Вопрос такой: прошиваю сначала основную прогу например с адреса 0x800A000, с корректировкой размера (в options for target в Кейле), затем прошиваю бут с опцией прошивальщика erase sectors. Сначала стартует бут, потом переходи в основную прогу, все норм. Но вот если питание после перепрошивки выключить и включить снова, стартует бут и не переходит в основную прогу. В чем может быть проблема?
Уже разобрался, с переносом векторов косяк был. А вот другой вопрос: как передать в МК бинарник с осн прогой? И как его кушать постранично по 2кб или налету писать? Чего посоветуете?
Лично я бы советовал передавать по странице, или несколько старниц и обязательно опрашивать загрузчик на предмет "Готов к дальнейшему?". Конечно, если у Вас на кристалле (RAM > ROM), то можно сразу всё целиком передать и пусть оно там себе занимается самопрограммированием. А в классических случаях (RAM <= ROM) - передают прошивку по частям.
UPD: Поправка. По "странице" не всегда срабатывает. Например, у меня есть чудо-юдо кристалл STM32F745, где 512kiB Flash, но только 6 секторов [32k,32k,32k,32k,128k,256k]. В более старшей модели есть и 8 секторов (+2 * 256k), так что писать лучше по нескольку килобайт. Я бы остановился на размере сегмента в 1kiB, либо даже размере классического сектора - 512B. И передать по сети можно одним пакетом (MTU помним?), и пишется шустро.
Не знаю кому вопрос? если мне, то даже не представляю как можно через терминалку прошить. Интересен вариант baghear сразу бросать hex файл, я пробовал bin через Mass Storage Device. Только чтобы не разбивать диск на два, надо создать виртуальный и записывать через него. Не имею представления как это делать.
Как оказалось этот вариант самый простой, на самом деле в хексе всего три типа пакетов, для каждого пишется обработчик и вуаля. Сначала пробовал конвертировать хекс в бинарник потом заливать, но это лишние тело движение. В хексе указывается размер пакета, тип пакета и если надо адрес, то есть все что надо.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения