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

 
 
> LPC 213x адрес main / c code, keil, RV
Spb_Alex
сообщение Nov 30 2007, 07:33
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 26-10-07
Пользователь №: 31 745



keil, RV, lpc213x

сделал удаленную перепрошивку, и хочу перейти в новую программу, пока приходится тупо искать адрес main
/////////////////////////
int main(void)
{
main_addr = __current_pc();
main_addr = main_addr-4;
/////////////////////////
вроде все работает (файл sturtup.s одинаков для всех проектов, вектора прерываний (первые 64 байт новой прошивки)помещены в RAM),

хочется узнать, по какому адресу мне перейти, чтобы гарантированно попасть в main новой прошивки

Сообщение отредактировал Spb_Alex - Nov 30 2007, 07:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Nov 30 2007, 10:41
Сообщение #2


Гуру
******

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



Цитата(Spb_Alex @ Nov 30 2007, 09:33) *
и хочу перейти в новую программу, пока приходится тупо искать адрес main
Немного непонятно, а кто же у вас инициализирует глобальные переменные для новой программы, т.е. то, что обычно делает ее cstartup?
Цитата(Spb_Alex @ Nov 30 2007, 09:33) *
вектора прерываний (первые 64 байт новой прошивки)помещены в RAM
...
хочется узнать, по какому адресу мне перейти, чтобы гарантированно попасть в main новой прошивки
Сделать ремап (а его все равно надо делать, чтобы эти скопированные вектора начали работать) и перейти на адрес 0. Выполнится cstartup новой прошивки, пройдет вся инициализация и попадете в main() естественным образом.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 30 2007, 10:52
Сообщение #3


Гуру
******

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



Цитата(Сергей Борщ @ Nov 30 2007, 13:41) *
Немного непонятно, а кто же у вас инициализирует глобальные переменные для новой программы, т.е. то, что обычно делает ее cstartup?

Тогда нужно на _main переходить.

На нулевой адрес следует переходить с известной осторожностью, и лучше при помощи WD или SoftReset'а какого-нибудь.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 30 2007, 12:28
Сообщение #4


Гуру
******

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



Цитата(aaarrr @ Nov 30 2007, 12:52) *
Тогда нужно на _main переходить.
Возможно. Не знаю структуру кейловского стартапа.
Цитата(aaarrr @ Nov 30 2007, 12:52) *
На нулевой адрес следует переходить с известной осторожностью, и лучше при помощи WD или SoftReset'а какого-нибудь.
WD или SoftReset отменят ремап. попадем опять в загрузчик. У меня реализован переход на нулевой адрес, главное - чтобы загрузчик периферию не трогал.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Spb_Alex   LPC 213x адрес main / c code   Nov 30 2007, 07:33
- - aaarrr   Не совсем понял задачу - Вам нужен адрес main в те...   Nov 30 2007, 09:47
|- - Spb_Alex   Цитата(Сергей Борщ @ Nov 30 2007, 15:28) ...   Nov 30 2007, 13:43
|- - Сергей Борщ   Цитата(Spb_Alex @ Nov 30 2007, 15:43) заг...   Nov 30 2007, 13:55
|- - Alex03   Цитата(Сергей Борщ @ Nov 30 2007, 18:55) ...   Dec 4 2007, 06:22
|- - Сергей Борщ   Цитата(Alex03 @ Dec 4 2007, 08:22) Немног...   Dec 4 2007, 11:42
- - Spb_Alex   Путем жесточайших экспериментов над lpc2138, устан...   Nov 30 2007, 14:17
|- - Сергей Борщ   Цитата(Spb_Alex @ Nov 30 2007, 16:17) пер...   Nov 30 2007, 15:25
- - aaarrr   Цитата(Spb_Alex @ Nov 30 2007, 16:43) дал...   Nov 30 2007, 14:54
- - Spb_Alex   Цитата(aaarrr @ Nov 30 2007, 17:54) А апп...   Dec 3 2007, 08:00
- - Сергей Борщ   Цитата(Spb_Alex @ Dec 3 2007, 10:00) пото...   Dec 3 2007, 09:32
- - Spb_Alex   Цитата(Сергей Борщ @ Dec 3 2007, 12:32) Н...   Dec 3 2007, 13:46
- - Сергей Борщ   Цитата(Spb_Alex @ Dec 3 2007, 15:46) толь...   Dec 3 2007, 17:37
- - Spb_Alex   Цитата(Сергей Борщ @ Dec 3 2007, 20:37) Т...   Dec 4 2007, 10:33


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

 


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


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