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

 
 
> Bootloader никак не могу поймать глюк
Vovanchik
сообщение May 19 2010, 11:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 7-07-08
Из: Тульская область, г. Новомосковск
Пользователь №: 38 780



Здравствуйте.
Использую AT91SAM7S512. Написал для него Bootloader (во Flash по адресам 0x100000 по 0x101FFF).
Основная прога во Flash по адресам 0x102000 по 0x17FFFF.
Переход из бута в основную прогу сделан так:
Код
...
#define USER_FLASH_START 0x2000;
...
void (*user_code_entry)(void);
user_code_entry = (void (*)(void))USER_FLASH_START;
user_code_entry();

В большинстве случаев все отрабатывает нормально.
Но периодически при запуске происходит глюк. Причем в основной программе.
Проверял в отладке - прога крутится в файле SAM7.s примерно в этом месте:
Код
;  Wait until Main Oscillator is stablilized
                IF      (PMC_MOR_Val:AND:PMC_MOSCEN) != 0
MOSCS_Loop      LDR     R2, [R0, #PMC_SR]
                ANDS    R2, R2, #PMC_MOSCS
                BEQ     MOSCS_Loop
                ENDIF

Циклическое выполнение происходит до срабатывания WDT таймера - после чего происходит нормальный запуск.

С чем это может быть связано? Куда копать?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 19:40
Рейтинг@Mail.ru


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