|
|
  |
Что у STM32 после таблицы прерываний? |
|
|
|
Aug 16 2018, 07:53
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(aaarrr @ Aug 16 2018, 10:43)  Ставим маркер в ОЗУ и пролетаем мимо, делов-то. Нет. Не "делов-то". Вы опять как и предыдущий оратор 90% не договариваете. 1) надо позаботиться чтобы этот маркер не попал в область используемую ROM-бутлоадером; 2) надо не забыть снять этот маркер, перед сбросами из основной программы, после которых нужно войти в бутлоадер; 3) если нужен вход в бутлоадер при любом типе сброса, в том числе неожиданных по WDT или BOR из основного ПО, то маркер нужно снять уже при старте основного ПО и зарезервировать место под него, чтобы оно не использовалось в основной программе.
|
|
|
|
|
Aug 16 2018, 07:59
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Alechek @ Aug 16 2018, 10:46)  Даже если сбрасывается периферия, то ОЗУ остается. Не всё. В некоторых МК вообще есть биты управления тактированием некоторыми регионами ОЗУ и при сбросе всей периферии (а не только ядра!) эти биты также могут быть сброшены и содержимое ОЗУ станет непредсказуемым. Цитата(x893 @ Aug 16 2018, 10:53)  Не совсем так. Если сидит aaarrr, то думаю будет работать. Я бы вообще не стал бы доверять девайсу, который работает или нет в зависимости от того кто сидит рядом
|
|
|
|
|
Aug 16 2018, 08:11
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(jcxz @ Aug 16 2018, 10:53)  Нет. Не "делов-то". Вы опять как и предыдущий оратор 90% не договариваете. Если для кого-то это "90%" не являются очевидными, то ему не стоит пока заниматься написанием загрузчика. Цитата(jcxz @ Aug 16 2018, 10:53)  1) надо позаботиться... 0) надо озаботится достаточной разрядностью маркера, например. И можно еще пару десятков пунктов добавить, кэп одобрит
|
|
|
|
|
Aug 16 2018, 08:24
|

Профессионал
    
Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226

|
Цитата(jcxz @ Aug 16 2018, 11:18)  У Вас САМ segger это делает??? Странно... у меня он делает то, что ему указано в разделе "J-Link/J-Trace\Setup\Reset" свойств проекта IAR. Какой-то он у Вас больно самостоятельный.  То что вопрос задал именно этот "кто-то", видно уже из первого поста.  SEGGER это делает в своём коде для JLink-OB. Для вызова бутлодера, который обновляет прошивку свою. А так как код их бутлодера неизвестен, то приходится вызывать системный (DFU) и через него менять прошивку на новую. Но это совсем другая история.
|
|
|
|
|
Aug 16 2018, 12:55
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Цитата(klen @ Aug 16 2018, 16:35)  костыль.. модуль RCC специально для Вас имеет регистр в котором указан источник сброса, как раз для таких случаев. Это универсально для многих архитектур. Тем более, как было отмечено, не покажет конкретно откуда сбросили. В некоторых случаях флаг нужно во Flash выставлять, потому как устройство может сбойнуть по питанию в процессе обновления ПО. И надо как-то знать, что прошивка не вся дозаписана. Контрольные суммым и прочее - это все, конечно, можно, но время старта тоже бывает критичным.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|