|
stm32 NVIC: сброс маскировки прерываний внутри обработчика |
|
|
|
 |
Ответов
(60 - 74)
|
Aug 3 2017, 14:06
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (Forger @ Aug 3 2017, 12:47)  Предполагать бессмысленно, все факты описаны в даташитах - выбор места старта выбирается неким аппаратным узлом, который НЕ является частью заводского бутзагрузчика. Действительно, бессмысленно предполагать. Надо тупо залезть дизасмом в бут и посмотреть
|
|
|
|
|
Aug 3 2017, 16:16
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894

|
Цитата(LightElf @ Aug 3 2017, 20:06)  Действительно, бессмысленно предполагать. Надо тупо залезть дизасмом в бут и посмотреть  КАК? Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart??? Вопрос на миллион баксов!!!
|
|
|
|
|
Aug 4 2017, 06:56
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(AVI-crak @ Aug 3 2017, 19:16)  Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart??? Вероятно, имелось ввиду подключиться отладчиком, и смотреть из-под соотв. проги, например, такой: https://www.segger.com/products/debug-probe...er/about-ozone/. Это вполне реализуемо, если камень не залочен.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Aug 4 2017, 08:29
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894

|
Цитата(jcxz @ Aug 4 2017, 12:59)  Или что имелось в виду? Я говорю о том, что в момент аппаратного срабатывания триггера выбора загрузочного интерфейса - всё остальное отключается!!!!. Потому как сам механизм записи в память флеша - не имеет арбитра. Да и всего остального фарша - тоже.
|
|
|
|
|
Aug 4 2017, 10:23
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (AVI-crak @ Aug 3 2017, 19:16)  Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart??? Вопрос на миллион баксов!!! Не понял вопроса. Код бутлодера доступен для чтения всегда (если камень не залочен). QUOTE (Forger @ Aug 3 2017, 17:21)  Если уже и даташитам веры нет (тотальный атеист), то придется назначение регистров также "проверять дизасмом" ....  В даташите нигде не сказано, что выбор режима загрузки осуществляется строго аппаратно. На мой взгляд - это нелогично.
|
|
|
|
|
Aug 4 2017, 10:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(LightElf @ Aug 4 2017, 13:23)  В даташите нигде не сказано, что выбор режима загрузки осуществляется строго аппаратно. Явно слова hardware там не указано, но вы внимательнее почитайте про принцип выбора вектора сброса. Более того, в даташитах явно указано, после выхода из standby режима повторно производится опрос пинов boot (это указано в даташитах), а уж это явно сделано аппаратно. Ну, и как минимум то, что управление передается заводскому загрузчику по точно такому же принципу, как и юзер-коду, наводит на мысль, что выбор вектора сброса производится где-то в недрах камня, про детальную работу которого нигде нет информации. Если вам удастся найти эту информацию, поделитесь с нами  Цитата На мой взгляд - это нелогично. Это еще почему? По-мне - как раз существующее исполнение вполне логично.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Aug 4 2017, 11:04
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Aug 4 2017, 13:43)  Может быть конечно, что при подключении JTAG область ROM становится невидимой, но обычно она видна (в тех МК что я видел). Если камень не залочен, то ВСЕ прекрасно видно, весь камень )) зы Ради спортивного интереса прям щас принудительно кинул BOOT0 на VDD, подключился через Ozone. Загрузчик тут начинается с 0x1FFFC800 (discovery на базе STM32F072RB, st-link ессно перешит в j-link) Встроенный бут запускается сразу же после сброса (нажали на кнопку, которая коротит NRST на землю) и тут же останавливается (нужно выбрать режим сброса "Reset & halt"). Т. е. управление СРАЗУ ЖЕ передается в System memory, как и указано в даташите. Вот картинку сделал:
Кстати, посмотрел на состояние SRAMдо и после аппаратного сброса: не потерлась. Кроме, конечно тех частей, к которым обращается сам код.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Aug 4 2017, 12:38
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894

|
Цитата(Forger @ Aug 4 2017, 17:04)  зы Ради спортивного интереса прям щас Дык это программный ресет, при аппаратном ресете отладчик не успевает подключиться, по крайней мере у меня.
|
|
|
|
|
Aug 4 2017, 13:12
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(AVI-crak @ Aug 4 2017, 15:38)  Дык это программный ресет, при аппаратном ресете отладчик не успевает подключиться, по крайней мере у меня. Нет, это - не "программный" ресет, это - сброс всего ядра и вообще всего проца (через модуль отладки). Кстати, программный сброс у STM сделан так, что формирует фактически как и аппаратый сброс (тянет ножку NRST на землю на несколько мкс). Отличается программный сброс у STM от полного сброса POR (подали питание) разве лишь тем, что содержимое SRAM сохраняется. Открывайте мануалы, изучайте. Там все про это расписано. Внимательно читайте. Пусть у ST и не самая лучшая документация, но это там точно описано. Я же пробовал под отладчиком жать аппаратный сброс (я написал об этом в прошлом посте, читайте внимательнее). Поведение точно такое же, разве что отладчик подключается лишь сразу после отпускания кнопки сброс. Но если выбрать режим подключения "Reset & Halt", то проц останавливается сразу же на месте запуска встроенного загрузчика или юзер софта (зависит от BOOT0). Короче, если вы ВЕРИТЕ в существование какого-то мифического бут-загрузчика в STM, который всегда безусловано запускается, то это - лично ваше дело, вероисповедание - личное дело каждого. Но коли речь идет про конкретные физические вещи, созданные обычными людьми, то и правила тут работают соответствующие - факты. Факты я привел. А домыслы и мифы предлагаю оставить вне этой темы
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Aug 5 2017, 10:06
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (Forger @ Aug 4 2017, 13:33)  Это еще почему? По-мне - как раз существующее исполнение вполне логично. Городить аппаратный блок, уникальный для каждого кристалла и для дальнейшей работы совершенно не нужный, вместо того чтобы добавить пяток команд - это логично?
|
|
|
|
|
Aug 5 2017, 10:29
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(LightElf @ Aug 5 2017, 13:06)  Городить аппаратный блок, уникальный для каждого кристалла и для дальнейшей работы совершенно не нужный, вместо того чтобы добавить пяток команд - это логично? Этот вопрос сразу задавайте в ST. Ваши рекомендации им явно будут очень полезны  Мне же лично решение ST в данном случае кажется вполне логичным. Цитата(LightElf) Городить аппаратный блок, уникальный для каждого кристалла Он одинаковый, а в новых кристаллах лишь дополняется небольшим, но очень полезным функционалом, связанным с особенностями конкретного семейства - RTFM
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|