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

 
 
7 страниц V  « < 3 4 5 6 7 >  
Reply to this topicStart new topic
> stm32 NVIC: сброс маскировки прерываний внутри обработчика
LightElf
сообщение Aug 3 2017, 14:06
Сообщение #61


Частый гость
**

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (Forger @ Aug 3 2017, 12:47) *
Предполагать бессмысленно, все факты описаны в даташитах - выбор места старта выбирается неким аппаратным узлом, который НЕ является частью заводского бутзагрузчика.

Действительно, бессмысленно предполагать. Надо тупо залезть дизасмом в бут и посмотреть sm.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 3 2017, 14:21
Сообщение #62


Профессионал
*****

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



Цитата(LightElf @ Aug 3 2017, 17:06) *
Надо тупо залезть дизасмом в бут и посмотреть sm.gif

Если уже и даташитам веры нет (тотальный атеист), то придется назначение регистров также "проверять дизасмом" .... biggrin.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Aug 3 2017, 16:16
Сообщение #63


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(LightElf @ Aug 3 2017, 20:06) *
Действительно, бессмысленно предполагать. Надо тупо залезть дизасмом в бут и посмотреть sm.gif

КАК?
Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart???
Вопрос на миллион баксов!!!
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 4 2017, 06:56
Сообщение #64


Профессионал
*****

Группа: Свой
Сообщений: 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/.
Это вполне реализуемо, если камень не залочен.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 4 2017, 06:59
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AVI-crak @ Aug 3 2017, 19:16) *
Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart???
Вопрос на миллион баксов!!!

Очевидно: подключиться стандартно эмулятором и с помощью него запустить код UART-загрузчика из ROM?
Или что имелось в виду?
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Aug 4 2017, 08:29
Сообщение #66


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(jcxz @ Aug 4 2017, 12:59) *
Или что имелось в виду?

Я говорю о том, что в момент аппаратного срабатывания триггера выбора загрузочного интерфейса - всё остальное отключается!!!!. Потому как сам механизм записи в память флеша - не имеет арбитра. Да и всего остального фарша - тоже.
Go to the top of the page
 
+Quote Post
LightElf
сообщение Aug 4 2017, 10:23
Сообщение #67


Частый гость
**

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (AVI-crak @ Aug 3 2017, 19:16) *
Каким образом смотреть содержимое ядра и адресного пространства мк в режиме явного срабатывания загрузчика по usart???
Вопрос на миллион баксов!!!

Не понял вопроса. Код бутлодера доступен для чтения всегда (если камень не залочен).

QUOTE (Forger @ Aug 3 2017, 17:21) *
Если уже и даташитам веры нет (тотальный атеист), то придется назначение регистров также "проверять дизасмом" .... biggrin.gif

В даташите нигде не сказано, что выбор режима загрузки осуществляется строго аппаратно. На мой взгляд - это нелогично.
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 4 2017, 10:33
Сообщение #68


Профессионал
*****

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



Цитата(LightElf @ Aug 4 2017, 13:23) *
В даташите нигде не сказано, что выбор режима загрузки осуществляется строго аппаратно.

Явно слова hardware там не указано, но вы внимательнее почитайте про принцип выбора вектора сброса.
Более того, в даташитах явно указано, после выхода из standby режима повторно производится опрос пинов boot (это указано в даташитах), а уж это явно сделано аппаратно.
Ну, и как минимум то, что управление передается заводскому загрузчику по точно такому же принципу, как и юзер-коду,
наводит на мысль, что выбор вектора сброса производится где-то в недрах камня, про детальную работу которого нигде нет информации.
Если вам удастся найти эту информацию, поделитесь с нами sm.gif

Цитата
На мой взгляд - это нелогично.
Это еще почему?
По-мне - как раз существующее исполнение вполне логично.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 4 2017, 10:43
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AVI-crak @ Aug 4 2017, 11:29) *
Я говорю о том, что в момент аппаратного срабатывания триггера выбора загрузочного интерфейса - всё остальное отключается!!!!.

Так всё-таки: что мешает не срабатывать этот самый триггер, а подключиться как обычно JTAG-ом, найти точку входа в процедуру загрузки по UART (в ROM очевидно) и запустить её ручками?
Может быть конечно, что при подключении JTAG область ROM становится невидимой, но обычно она видна (в тех МК что я видел).
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 4 2017, 11:04
Сообщение #70


Профессионал
*****

Группа: Свой
Сообщений: 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до и после аппаратного сброса: не потерлась.
Кроме, конечно тех частей, к которым обращается сам код.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 4 2017, 12:19
Сообщение #71


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Forger @ Aug 4 2017, 14:04) *
Встроенный бут запускается сразу же после сброса (нажали на кнопку, которая коротит NRST на землю) и тут же останавливается (нужно выбрать режим сброса "Reset & halt").

Теперь осталось только обещанный миллион с AVI-crak стрясти! Все свидетели - он обещал biggrin.gif
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Aug 4 2017, 12:38
Сообщение #72


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(Forger @ Aug 4 2017, 17:04) *
зы Ради спортивного интереса прям щас

Дык это программный ресет, при аппаратном ресете отладчик не успевает подключиться, по крайней мере у меня.
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 4 2017, 13:12
Сообщение #73


Профессионал
*****

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



Цитата(AVI-crak @ Aug 4 2017, 15:38) *
Дык это программный ресет, при аппаратном ресете отладчик не успевает подключиться, по крайней мере у меня.

Нет, это - не "программный" ресет, это - сброс всего ядра и вообще всего проца (через модуль отладки).
Кстати, программный сброс у STM сделан так, что формирует фактически как и аппаратый сброс (тянет ножку NRST на землю на несколько мкс).
Отличается программный сброс у STM от полного сброса POR (подали питание) разве лишь тем, что содержимое SRAM сохраняется.
Открывайте мануалы, изучайте. Там все про это расписано. Внимательно читайте. Пусть у ST и не самая лучшая документация, но это там точно описано.

Я же пробовал под отладчиком жать аппаратный сброс (я написал об этом в прошлом посте, читайте внимательнее).
Поведение точно такое же, разве что отладчик подключается лишь сразу после отпускания кнопки сброс.
Но если выбрать режим подключения "Reset & Halt", то проц останавливается сразу же на месте запуска встроенного загрузчика или юзер софта (зависит от BOOT0).

Короче, если вы ВЕРИТЕ в существование какого-то мифического бут-загрузчика в STM, который всегда безусловано запускается, то это - лично ваше дело, вероисповедание - личное дело каждого.
Но коли речь идет про конкретные физические вещи, созданные обычными людьми, то и правила тут работают соответствующие - факты. Факты я привел.
А домыслы и мифы предлагаю оставить вне этой темы sm.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
LightElf
сообщение Aug 5 2017, 10:06
Сообщение #74


Частый гость
**

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (Forger @ Aug 4 2017, 13:33) *
Это еще почему?
По-мне - как раз существующее исполнение вполне логично.

Городить аппаратный блок, уникальный для каждого кристалла и для дальнейшей работы совершенно не нужный, вместо того чтобы добавить пяток команд - это логично?
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 5 2017, 10:29
Сообщение #75


Профессионал
*****

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



Цитата(LightElf @ Aug 5 2017, 13:06) *
Городить аппаратный блок, уникальный для каждого кристалла и для дальнейшей работы совершенно не нужный, вместо того чтобы добавить пяток команд - это логично?

Этот вопрос сразу задавайте в ST. Ваши рекомендации им явно будут очень полезны biggrin.gif

Мне же лично решение ST в данном случае кажется вполне логичным.

Цитата(LightElf)
Городить аппаратный блок, уникальный для каждого кристалла

Он одинаковый, а в новых кристаллах лишь дополняется небольшим, но очень полезным функционалом, связанным с особенностями конкретного семейства - RTFM


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

7 страниц V  « < 3 4 5 6 7 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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