реклама на сайте
подробности

 
 
> STM32 сделать bootloader в Keil, помогите разобраться
smk
сообщение Nov 2 2014, 15:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Суть вопроса такова. Понадобился бутлоадер. Ранее таким не занимался. Начитался форума и интернета по самое нехочу. Теперь в голове просто каша. Хочу все поставить на места и упорядочить. Изначально давайте сразу ориентироваться на STM32 чтоб уже применительно к ним. Задача следующая: устройство подключено по ethernet и другие интерфейсы недоступны. Нужно перепрошивать по имеющемуся. Размер кода программы примерно 30% от имеющейся флеши на борту. Представляет интерес получать файл прошивки, записывать его в свободную часть флеши, проверять и если все ОК то переписывать на место для собственно программы. Бутлоадер думал располагать в самом конце. Собственно вопрос как бы это все устроить? Наверно было бы удобно сделать бутлоадер отдельным проектом и при изменении размера флеши контроллера следить за его расположением. Можно ли сделать так чтоб потом шить программу (как новый проект) не стирая бутлоадер и чтоб он всеравно продолжал оставаться работоспособным?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Nov 2 2014, 16:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



у вас должно быть 2 пути

сброс -> загрузчик -> основная программа - это путь для основной работы
и
сброс -> загрузчик - это путь для обновления прошивки

ну и как следствие, если вы хотите перейти основной режим работы -> загрузчик, то просто через сброс на второй укороченный путь

основной режим работы -> сброс -> загрузчик

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


Нет никакого смысла менять программу из программы, перейдите в режим обновления и оттуда меняйте. Если что-то не получится, то вы просто останетесь в режиме обновления. Если всегда грузиться через него, то сбой питания или еще что, все равно вас выкинет в загрузчик который может прошить верную программу, как бы прошлый процесс прошивки не закончился.


отладка собственно отдельная тема, зачем отлаживать программу через загрузчик? МЫ отлаживаем программу, потом собираем ее для версии загрузчика и все. Не надо усложнять и делать отладку программы вместе с загрузчиком. Потому что по сути прошивку обновляют клиенты, зачем им отладка? А вы у себя можете программу и без загрузчика погонять, и если удачная копия залить.
Это если отладка с жетагом, а если отладка через порт, то разницы нет с загрузчиком или без, а если все же с жетагом, то нафига загрузчик%sm.gif?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   STM32 сделать bootloader в Keil   Nov 2 2014, 15:22
- - Golikov A.   у нас сделано так бутлоадер в начале флеши, прям т...   Nov 2 2014, 15:27
- - smk   Можно и так, но не понятны два вопроса. 1) как про...   Nov 2 2014, 16:00
- - scifi   Насколько я помню, неоднократно перетирали тему пр...   Nov 2 2014, 16:05
|- - smk   Цитата(scifi @ Nov 2 2014, 18:05) Насколь...   Nov 2 2014, 16:10
|- - scifi   Цитата(smk @ Nov 2 2014, 19:10) Как перед...   Nov 2 2014, 16:27
- - kolobok0   Цитата(smk @ Nov 2 2014, 18:22) ...Понадо...   Nov 2 2014, 17:21
- - smk   Сложновато выходит. Да и нужды нет разбивать на мо...   Nov 2 2014, 17:29
|- - scifi   Цитата(smk @ Nov 2 2014, 20:29) В отношен...   Nov 2 2014, 17:49
- - inventor   мы сделали такой прошиватель (на блекфине, но в пр...   Nov 2 2014, 17:34
|- - AHTOXA   Цитата(inventor @ Nov 2 2014, 22:34) на S...   Nov 2 2014, 17:59
|- - inventor   Цитата(AHTOXA @ Nov 2 2014, 20:59) А поче...   Nov 2 2014, 18:05
- - Golikov A.   ЦитатаЗагрузчик получается по сути добавляется в п...   Nov 2 2014, 18:15
|- - scifi   Цитата(Golikov A. @ Nov 2 2014, 21:15) За...   Nov 2 2014, 18:33
- - menzoda   Это уже обсуждали вот здесь. Можно хотя бы для при...   Nov 2 2014, 20:06
- - KnightIgor   Цитата(smk @ Nov 2 2014, 17:22) Суть вопр...   Nov 2 2014, 20:28
|- - smk   Цитата(KnightIgor @ Nov 2 2014, 22:28) Мн...   Nov 3 2014, 10:42
|- - KnightIgor   Цитата(smk @ Nov 3 2014, 12:42) Если я пр...   Nov 3 2014, 13:53
- - smk   Код; *********************************************...   Nov 3 2014, 11:45
- - smk   CODE; ********************************************...   Nov 3 2014, 13:01
- - Golikov A.   а я версию программы по репозиторию гит получаю пр...   Nov 3 2014, 13:07
- - smk   Да, так и есть если применительно к моему. Значит ...   Nov 3 2014, 14:36
- - smk   КодAREA RESET, DATA, READONLY, ALIGN=9 ; 2^9=5...   Nov 4 2014, 11:49
|- - scifi   Цитата(smk @ Nov 4 2014, 14:49) вот эта с...   Nov 4 2014, 12:46
|- - KnightIgor   Цитата(smk @ Nov 4 2014, 13:49) КодAREA ...   Nov 4 2014, 14:28
- - smk   Кодerror: L6236E: No section matches selec...   Nov 5 2014, 11:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016