-
- Адрес 4. В зависимости от режима запуска (ножки BOOTx) туда отображается либо флеш для программ (0x08000000), либо код заводского загрузчика, либо хз что ещё. Читать memory remap, если есть сложности. Стариканы помнят дешифраторы адреса. - SciFi(05.08.2019 22:33)
- То есть значение BOOT выставлены в SYSCFG как Main Flash memory (0х08000000) Balda(105 знак., 05.08.2019 22:43)
- Конечно. Я собирал прошивки и по адресу 0, и 0x08000000. Работают одинаково. - SciFi(05.08.2019 22:45)
- тогда 2й круг тупизны: Balda(523 знак., 05.08.2019 23:05)
- Вопрос 3 - В чем смысл VTOR? если в PC автоматом прописывается адрес начала? - Balda(06.08.2019 09:34)
- Ничего никуда автоматом не пишется, vtor заполняется в SystemInit(), никто вам не мешает туда свой адрес прописать - Aleksey_75(06.08.2019 09:39)
- тогда подругому. каким образом в PC возникает адрес systeminit? - Balda(06.08.2019 10:04)
- смотрите Reset handler в файле xxx.s и все встанет на свои места Aleksey_75(539 знак., 06.08.2019 10:16 - 10:18)
- ну вот я и не понимаю.. Вы говорите ничего автоматом не записывается. но каким образом определяется reset handler? Balda(168 знак., 06.08.2019 10:26)
- стоп! в vtor как раз и хранится адрес reset_handler, какой адрес там записан туда и попадете при ресете - Aleksey_75(06.08.2019 10:34)
- Вы что-то странное говорите - Apтём(286 знак., 06.08.2019 11:14)
- да, вы правы вектор сброса adr + 4. Ну суть от этого не меняется, vtor стартовый адрес таблицы векторов - Aleksey_75(06.08.2019 11:23)
- Естественно - Apтём(160 знак., 06.08.2019 11:27)
- Вот. а то я уже реально затупил от версий - Balda(06.08.2019 11:16)
- да, вы правы вектор сброса adr + 4. Ну суть от этого не меняется, vtor стартовый адрес таблицы векторов - Aleksey_75(06.08.2019 11:23)
- Вы что-то странное говорите - Apтём(286 знак., 06.08.2019 11:14)
- стоп! в vtor как раз и хранится адрес reset_handler, какой адрес там записан туда и попадете при ресете - Aleksey_75(06.08.2019 10:34)
- еще можно глянуть функцию __set_MSP() она делает тоже самое что асмовая вставка - Aleksey_75(06.08.2019 10:22)
- получается.. при ресете vtor =0 Balda(327 знак., 06.08.2019 10:45)
- я не очень понимаю для чего вам все это. напишите свой reset_handler, при этом reset_handler из xxx.s файла больше использоваться не будет , в своем обработчике двигайте таблицу векторов как вам хочется и запускай прогу с любого удобного для вас Aleksey_75(6 знак., 06.08.2019 10:52)
- да в нем в родном - Balda(06.08.2019 17:23)
- чтоб отладчик стартовал с произвольного адреса нужен скрипт, иначе не будет )) - Aleksey_75(06.08.2019 17:41)
- Нужно поподробнее разобраться с этим. В будущем нужно написать свой боот. Сейчас добрался до железа - буду пробовать. Balda(50 знак., 06.08.2019 11:15)
- я вам даже образцы функций для этого дела дал ))) - Aleksey_75(06.08.2019 11:30)
- Может пригодится напочитать Apтём(132 знак., 06.08.2019 11:19)
- Спасибо коллега. - Balda(06.08.2019 11:28)
- Попробовал на железе.. Цель переместить АПП с адреса 0х08000000 на 0х08010000 Balda(363 знак., 06.08.2019 11:38)
- Так всё правильно же - aplication по адресу 0x08010000 лежит, а запустить его должен bootloader, который должен быть в области 0x08000000. Так что руками ничего вбивать не надо. - Apтём(06.08.2019 11:55)
- все верно! по дефолтному стартовому адресу в любом случае должна быть функция которая прописывает новые адреса векторов в vtor и запускает main с нового адреса. Все функции я дал. Кстати вы случаем не в отладчике смотрите ? - Aleksey_75(06.08.2019 11:47)
- Попробовал на железе.. Цель переместить АПП с адреса 0х08000000 на 0х08010000 Balda(363 знак., 06.08.2019 11:38)
- Спасибо коллега. - Balda(06.08.2019 11:28)
- да в нем в родном - Balda(06.08.2019 17:23)
- я не очень понимаю для чего вам все это. напишите свой reset_handler, при этом reset_handler из xxx.s файла больше использоваться не будет , в своем обработчике двигайте таблицу векторов как вам хочется и запускай прогу с любого удобного для вас Aleksey_75(6 знак., 06.08.2019 10:52)
- получается.. при ресете vtor =0 Balda(327 знак., 06.08.2019 10:45)
- ну вот я и не понимаю.. Вы говорите ничего автоматом не записывается. но каким образом определяется reset handler? Balda(168 знак., 06.08.2019 10:26)
- смотрите Reset handler в файле xxx.s и все встанет на свои места Aleksey_75(539 знак., 06.08.2019 10:16 - 10:18)
- тогда подругому. каким образом в PC возникает адрес systeminit? - Balda(06.08.2019 10:04)
- Ничего никуда автоматом не пишется, vtor заполняется в SystemInit(), никто вам не мешает туда свой адрес прописать - Aleksey_75(06.08.2019 09:39)
- Вопрос 3 - В чем смысл VTOR? если в PC автоматом прописывается адрес начала? - Balda(06.08.2019 09:34)
- тогда 2й круг тупизны: Balda(523 знак., 05.08.2019 23:05)
- Конечно. Я собирал прошивки и по адресу 0, и 0x08000000. Работают одинаково. - SciFi(05.08.2019 22:45)
- То есть значение BOOT выставлены в SYSCFG как Main Flash memory (0х08000000) Balda(105 знак., 05.08.2019 22:43)
- Адрес 4. В зависимости от режима запуска (ножки BOOTx) туда отображается либо флеш для программ (0x08000000), либо код заводского загрузчика, либо хз что ещё. Читать memory remap, если есть сложности. Стариканы помнят дешифраторы адреса. - SciFi(05.08.2019 22:33)