|
RL-ARM и bootloader, Запуск основной программы после перепрошивки |
|
|
|
May 3 2012, 09:01
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 30-01-05
Из: Volgograd
Пользователь №: 2 305

|
Имеется следующий проектик, как водится, состоящий из двух частей. Бутлоадер и основная программа. Причем в основной программе также есть блок перепрошивки "самой себя". Используется RL-ARM. Вопрос в следующем - как после перпрошивки перезапустить проц? Собсно как перезапустить более или менее понятно. Проблема в том, что после перезапуска все уходит в HardFault при вызове os_sys_init(). Т.е. перешиваемся, рестартуем, код запускается, но как только доходит до инита операционки - вылет. Кто знает, как это победить? Компилятор ессно Keil.
|
|
|
|
|
 |
Ответов
|
May 24 2012, 04:34
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 30-01-05
Из: Volgograd
Пользователь №: 2 305

|
Цитата(jcxz @ May 24 2012, 06:14)  Не очень понятно - зачем упорно пытаться сделать сброс коряво - переходом на стартовый адрес, вместо корректного ресета через сторожевик??? Наверно я чего-то не понимай  Если по каким-то религиозным соображениям не нравится сторожевик, то часто в контроллерах есть другие документированные способы сброса. Например в Cortex-M3: регистр AIRCR (0xE000ED0C). Ну сбросили камень. Дальше что - опять заходим в лоадер. Мне не сброс нужен а переход из лоадера на основную программу, которая находится далеко не на 0 адресе.
|
|
|
|
|
May 24 2012, 05:47
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (EXeGLuMATOR @ May 24 2012, 07:34)  Ну сбросили камень. Дальше что - опять заходим в лоадер. А из него "с чистого листа" BX R0. При этом уверены, что ни прерывания не разрешены, ни запросы на них необслуженные не висят, ну и т.д. QUOTE (EXeGLuMATOR @ May 24 2012, 07:34)  Мне не сброс нужен а переход из лоадера на основную программу, которая находится далеко не на 0 адресе. Программа-то ладно, где у вас вектора от этой программы расположены? Куда попадет инструкция SWI - в загрузчик?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 24 2012, 05:58
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 30-01-05
Из: Volgograd
Пользователь №: 2 305

|
Цитата(Сергей Борщ @ May 24 2012, 09:47)  А из него "с чистого листа" BX R0. При этом уверены, что ни прерывания не разрешены, ни запросы на них необслуженные не висят, ну и т.д. Программа-то ладно, где у вас вектора от этой программы расположены? Куда попадет инструкция SWI - в загрузчик? Ну так в лоадер-то все равно заходить нужно. Смысл - ведь все работало и так раньше. Ппросто потребовалось перенести проект на другой проц. Не могу понять в чем дело. Вот с тем, где все вектора будут лежать и как их положить куда нужно и хочу разобраться.
|
|
|
|
Сообщений в этой теме
EXeGLuMATOR RL-ARM и bootloader May 3 2012, 09:01 jcxz как делаете рестарт? May 3 2012, 10:44 EXeGLuMATOR Цитата(jcxz @ May 3 2012, 14:44) как дела... May 3 2012, 11:48  _Артём_ Цитата(EXeGLuMATOR @ May 3 2012, 14:48) Р... May 3 2012, 15:49  jcxz Цитата(EXeGLuMATOR @ May 3 2012, 17:48) А... May 4 2012, 01:54 AlexandrY Цитата(EXeGLuMATOR @ May 3 2012, 12:01) Т... May 3 2012, 17:18 Sanya_kv EXeGLuMATOR
А какое ядро Вы используете ARM 7 или ... May 4 2012, 05:35 EXeGLuMATOR Отвлекся на другие дела...
Не совсем может понятно... May 21 2012, 13:00 net QUOTE (EXeGLuMATOR @ May 21 2012, 17:00) ... May 23 2012, 05:18 EXeGLuMATOR Ну как-же не признался. Вот оно все. Было.
Цита... May 24 2012, 07:50  Сергей Борщ QUOTE (EXeGLuMATOR @ May 24 2012, 10:50) ... May 24 2012, 08:05   EXeGLuMATOR Цитата(Сергей Борщ @ May 24 2012, 12:05) ... May 24 2012, 08:30   Сергей Борщ QUOTE (Сергей Борщ @ May 24 2012, 11:05) ... May 24 2012, 08:50     jcxz Цитата(EXeGLuMATOR @ May 24 2012, 11:58) ... May 24 2012, 06:52      Сергей Борщ QUOTE (jcxz @ May 24 2012, 09:52) Как пол... May 24 2012, 07:14 EXeGLuMATOR Да, сурово. Повелся на экономию места и цену. И ка... May 24 2012, 10:20 Сергей Борщ QUOTE (EXeGLuMATOR @ May 24 2012, 13:20) ... May 24 2012, 11:30 EXeGLuMATOR Урррааа! Заработало. Большое спасибо!
Дума... May 25 2012, 08:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|