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

 
 
> Что у STM32 после таблицы прерываний?
maxntf
сообщение Aug 15 2018, 13:31
Сообщение #1


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

Группа: Участник
Сообщений: 107
Регистрация: 13-05-09
Пользователь №: 49 008



Всем привет.
Для написания собственного бутлоадера, интересует что находится между окончанием таблицы прерываний и адресом входа в основную программу (в частности начало файла startup)?
Начинается с такого:
Код
0x080000C0 F000F802  BL.W     __scatterload (0x080000C8)
0x080000C4 F000F83E  BL.W     __rt_entry (0x08000144)
0x080000C8 A00C      ADR      r0,{pc}+0x34; @0x080000FC
...

Это в Keil по крайне мере.
В отладчике проверил, в этот кусок кода попадаем в конце выполнения startup файла.
Мысль одна, что это какая то подготовка регистров ядра. Кто может подсказать, там есть что-то важное или на этот кусок не нужно обращать внимания (не трогать его вообще) и там все всегда стандартно (одинаково)? Если этот код будет дублироваться как в самом загрузчике, так и в основной программе - это нормально?
Или может в проекте с основной программой нужно как то написать scatter файл, чтоб проект вообще компилировался без этой инициализации и startup файла?

Сообщение отредактировал maxntf - Aug 15 2018, 13:34
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
x893
сообщение Aug 16 2018, 06:54
Сообщение #2


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

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



Можно использовать NVIC_SystemReset
Тогда и деинициализировать ничего не надо.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 16 2018, 07:26
Сообщение #3


Гуру
******

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



Цитата(x893 @ Aug 16 2018, 09:54) *
Можно использовать NVIC_SystemReset

1) ...и после сброса опять попадаем на бутлоадер. Замкнутый круг laughing.gif
Цитата(x893 @ Aug 16 2018, 09:54) *
Тогда и деинициализировать ничего не надо.

2) Не во всех МК сброс ядра вызывает и сброс периферии. Где-то для общесистемного сброса нужно использовать другие методы.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 16 2018, 07:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Aug 16 2018, 10:26) *
1) ...и после сброса опять попадаем на бутлоадер. Замкнутый круг laughing.gif

Ставим маркер в ОЗУ и пролетаем мимо, делов-то.
Go to the top of the page
 
+Quote Post
klen
сообщение Aug 16 2018, 12:35
Сообщение #5


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(aaarrr @ Aug 16 2018, 10:43) *
Ставим маркер в ОЗУ и пролетаем мимо, делов-то.

костыль..
модуль RCC специально для Вас имеет регистр в котором указан источник сброса, как раз для таких случаев.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- maxntf   Что у STM32 после таблицы прерываний?   Aug 15 2018, 13:31
- - Forger   Достаточно лишь сделать scatter-файл (скрипт линке...   Aug 15 2018, 13:44
- - jcxz   Цитата(maxntf @ Aug 15 2018, 16:31) Для н...   Aug 15 2018, 14:12
- - maxntf   Меня интересует, нужна ли повторная инициализация ...   Aug 16 2018, 01:22
|- - jcxz   Цитата(maxntf @ Aug 16 2018, 04:22) Меня ...   Aug 16 2018, 05:15
|- - Forger   Цитата(maxntf @ Aug 16 2018, 04:22) Меня ...   Aug 16 2018, 05:37
|- - Forger   Цитата(x893 @ Aug 16 2018, 09:54) Можно и...   Aug 16 2018, 06:57
||- - x893   Цитата(aaarrr @ Aug 16 2018, 10:43) Стави...   Aug 16 2018, 07:45
||- - jcxz   Цитата(aaarrr @ Aug 16 2018, 10:43) Стави...   Aug 16 2018, 07:53
|||- - aaarrr   Цитата(jcxz @ Aug 16 2018, 10:53) Нет. Не...   Aug 16 2018, 08:11
||- - aaarrr   Цитата(klen @ Aug 16 2018, 15:35) модуль ...   Aug 16 2018, 12:48
||- - Arlleex   Цитата(klen @ Aug 16 2018, 16:35) костыль...   Aug 16 2018, 12:55
||- - x893   Цитата(Arlleex @ Aug 16 2018, 15:55) Это ...   Aug 16 2018, 14:16
|- - Alechek   Цитата(jcxz @ Aug 16 2018, 12:26) 1) ...и...   Aug 16 2018, 07:46
|- - jcxz   Цитата(Alechek @ Aug 16 2018, 10:46) Даже...   Aug 16 2018, 07:59
- - x893   Конечно. И упростить.   Aug 16 2018, 07:04
- - x893   1. Не верно, так как зависит от программиста 2. Мы...   Aug 16 2018, 07:41
|- - jcxz   Цитата(x893 @ Aug 16 2018, 10:41) 1. Не в...   Aug 16 2018, 07:45
||- - x893   Цитата(jcxz @ Aug 16 2018, 10:45) Т.е.: е...   Aug 16 2018, 07:53
|- - Forger   Цитата(x893 @ Aug 16 2018, 10:41) 1. Не в...   Aug 16 2018, 07:46
|- - x893   Цитата(Forger @ Aug 16 2018, 10:46) Не за...   Aug 16 2018, 07:54
|- - Forger   Цитата(x893 @ Aug 16 2018, 10:54) Настоящ...   Aug 16 2018, 08:08
|- - x893   Цитата(Forger @ Aug 16 2018, 11:08) Вы по...   Aug 16 2018, 08:10
|- - Forger   Цитата(x893 @ Aug 16 2018, 11:10) Намёк п...   Aug 16 2018, 08:13
- - x893   Я тому, кто рядом сидит не доверяю. Тем более дева...   Aug 16 2018, 08:01
- - jcxz   Цитата(x893 @ Aug 16 2018, 11:01) Хотя во...   Aug 16 2018, 08:18
- - x893   Цитата(jcxz @ Aug 16 2018, 11:18) У Вас С...   Aug 16 2018, 08:24


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:00
Рейтинг@Mail.ru


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