|
|
  |
STM32 flash, помогите разобраться |
|
|
|
Jul 1 2014, 15:29
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Golikov A. @ Jul 1 2014, 18:11)  Но аварийная кнопка нужна. Если случайно зальют левак какой-то с верным ЦРЦ и верным кодом безопасности или в котором команда перехода в бутлоадер сломана или езернет отвалится, или случайно у битого кода совпадет ЦРЦ, мало ли что..... Именно. Или какой-то непредусмотренной комбинацией штатных настроек устройство приводится в нерабочее состояние (ну бывает, любая программа содержит минимум одну ошибку), или клиенту случайно отправили промежуточную, совсем нерабочую версию - вот в таком крайнем случае можно попросить клиента вскрыть устройство, замкнуть заветную точку и залить исправление. Это быстрее и дешевле, чем пересылать устройство на ремонт через половину земного шарика. В штатном режиме устройство обновляется командой по интерфейсу без вмешательства человека.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 2 2014, 08:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(demiurg_spb @ Jul 2 2014, 11:42)  Она не выносится, она уже есть и является частью клавиатуры прибора. И используется обычно по своему назначению, а вызов загрузчика это её вторая скрытая функция, активируемая лишь в момент подачи питания на несколько миллисекунд. Убеждать вас в её необходимости я не буду. Сами всё поймёте рано или поздно. Может быть и так, но тогда есть вероятность получить такое: Цитата(Golikov A. @ Jul 1 2014, 18:11)  А у меня есть видеорегистратор, который виснет если при включении держать кнопку, и только ресетом через дырочку отвисает. Подозреваю как раз в загрузчик переходит. А вот что выйти кнопкой включения нельзя - руки бы поломал бы.... Да еще кнопки так стоят, что включая легко задеть ту самую заветную%)... Ну и как же быть, если нет никаких кнопок. В нашей системе и без кнопок всё нормально работает, переход в загрузчик только по командам CAN, Ethernet. Не считаю наличие данной кнопки необходимостью любой системы и Вас также переубеждать не стану. Думаю, где-то может быть оправдано такое решение где-то нет.
|
|
|
|
|
Jul 4 2014, 17:37
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Писал ответ в соседнюю тему и пришла в голову такая мысль: запустить загрузчик на Cortex-M3/M4 очень просто. Мы же знаем, где он находится. Значит знаем, где начинаются его вектора. Нам надо запретить прерывания, установить VTOR на вектора загрузчика, загрузить в MSP число из первого слова векторов, переключить стек на MSP и передать управление на адрес из второго слова векторов. То есть произвести те же действия, которые мы делаем при запуске приложения из самописного загрузчика.
P.S. Хм, ViKo как раз это и предлагал. Надо читать сообщения внимательнее.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 4 2014, 17:57
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Сергей Борщ @ Jul 4 2014, 13:37)  Писал ответ в соседнюю тему и пришла в голову такая мысль: запустить загрузчик на Cortex-M3/M4 очень просто. Мы же знаем, где он находится. Значит знаем, где начинаются его вектора. Нам надо запретить прерывания, установить VTOR на вектора загрузчика, загрузить в MSP число из первого слова векторов, переключить стек на MSP и передать управление на адрес из второго слова векторов. То есть произвести те же действия, которые мы делаем при запуске приложения из самописного загрузчика.
P.S. Хм, ViKo как раз это и предлагал. Надо читать сообщения внимательнее. А смысл? Входить в загрузчик без кнопки все равно не получится. В смысле получится, пока прошивка нормальная, как только глюк - все. Хотя если просто пользовать фирменный загрузчик в своем бутлоадере, то да.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|