|
TI AM1808 Program Reset, Как реализовать программный сброс процессора? |
|
|
|
Nov 17 2014, 14:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Приветствую! Хочу реализовать программный сброс процессора, но не могу подобрать нужную команду. Можно сделать что-то типа: Код asm(" .ref Entry"); asm(" b Entry"); программа должна перезапуститься, но в моём случае не работает (только перейдёт на Entry и куда-то улетит), как понимаю надо ещё что-то почистить или сбросить, сделать аналог "System Reset" из CCS и перезапустить программу. А как сделать, чтобы программа перешла на адреса встроенного ROM загрузчика и уже в соответствии с выбранным режимом загрузки перезагрузила прошивку и стартанула её? Пока что-то не получается
|
|
|
|
|
 |
Ответов
|
Nov 18 2014, 14:33
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
проверил - компилируется (компилятор gcc 4.7.7, ассемблер из него).... LDR PC, =0xFFFD0000 листинг: Код 20 .globl _start 21 _start: 22:/home/s-markov/Linux_psp/sau-load/preload/start.S **** ldr r3, _start_armboot 23:/home/s-markov/Linux_psp/sau-load/preload/start.S **** bx r3 24 25:/home/s-markov/Linux_psp/sau-load/preload/start.S **** ldr pc, =0xFFFD0000 26 27 000c 00000000 _start_armboot: .word start_armboot 28 29 .globl _end 30 0010 00000000 _end: .word __end 31 .globl _code_len 32 0014 18000000 _code_len: .word __end - _start + 4 32 0000FDFF отлично видно, что число 0xFFFD0000 он сам разместил в конце как слово данных. Кодов операции нету, что тоже понятно, их линкер только сформирует. Цитата(doom13 @ Nov 18 2014, 17:18)  что надо обнулять для нормального перезапуска Надо, как минимум, перевести все LPSC в состояния "power-on", по сути, обресетить периферию.
|
|
|
|
|
Nov 18 2014, 15:04
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SM @ Nov 18 2014, 17:33)  У меня компилер TI v5.1.1 в настройках пректа стоит, наверное, поэтому и не компилится данная инструкция. Цитата(SM @ Nov 18 2014, 17:33)  Надо, как минимум, перевести все LPSC в состояния "power-on", по сути, обресетить периферию. Попробовал перед переходом на BOOTROM загнать все PSC модули в состояние SwRstDisable state, работает, но иногда, при нескольких последовательных ресетах может повиснуть.
|
|
|
|
|
Nov 19 2014, 07:59
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(doom13 @ Nov 19 2014, 00:23)  Ну не совсем все, SPI1 оставил - с него прошивка грузится и при его состоянии SwRstDisable загрузчик перестаёт работать, хотя должен был бы сам настроить его в нужное состояние (Enable). Проверю ещё кто должен быть по дефолту в состоянии сброса, спасибо. Логично, но почему-то до бутописателей это не доходит....  Сам сталкивался на OMAP L137 с подобной проблемой: Загрузка идёт с внешней SPI-Flash микросхемы, после старта firmware и чтения конфига с той-же flash, перевожу её командой в Power Down (вроде ведь логично если такая функция есть в микросхеме и она больше не нужна ?). Но после этого, если подать HW RESET на OMAP, он больше не грузится с flash (грузится только после выкл./вкл. питания). Если не подавать Power Down, то всё ок (а если она в Power Down, то она не отвечает ни на какие команды до команды Power Up). Значит писатели встроенного бутлоадера не додумались, что флешка может быть в Power Down.  ((((( А вроде такая очевидная вещь....
|
|
|
|
Сообщений в этой теме
doom13 TI AM1808 Program Reset Nov 17 2014, 14:58 jcxz Используйте встроенный сторожевик для сброса. Nov 18 2014, 03:39 doom13 Цитата(jcxz @ Nov 18 2014, 06:39) Использ... Nov 18 2014, 06:25  jcxz Цитата(doom13 @ Nov 18 2014, 12:25) Это м... Nov 18 2014, 08:27   doom13 Цитата(jcxz @ Nov 18 2014, 11:27) Пришла ... Nov 18 2014, 08:55    jcxz Цитата(doom13 @ Nov 18 2014, 14:55) Попро... Nov 18 2014, 09:07     doom13 Цитата(jcxz @ Nov 18 2014, 12:07) Восстан... Nov 18 2014, 09:16      jcxz Цитата(doom13 @ Nov 18 2014, 15:16) Тут я... Nov 18 2014, 09:34       doom13 Цитата(jcxz @ Nov 18 2014, 12:34)
Спасиб... Nov 18 2014, 11:17        jcxz B - это прямой переход. В команде адрес назначения... Nov 18 2014, 11:31         doom13 Цитата(jcxz @ Nov 18 2014, 14:31) B - это... Nov 18 2014, 12:04          SM Цитата(doom13 @ Nov 18 2014, 15:04) Ведь ... Nov 18 2014, 12:31           doom13 Цитата(SM @ Nov 18 2014, 15:31)
Не замет... Nov 18 2014, 13:08            SM Цитата(doom13 @ Nov 18 2014, 16:08) , где... Nov 18 2014, 13:16             doom13 Цитата(SM @ Nov 18 2014, 16:16)
Счас пон... Nov 18 2014, 13:31              SM BootRom: .long.set 0xFFFD0000
B BootRom
а ... Nov 18 2014, 14:13            jcxz Цитата(doom13 @ Nov 18 2014, 19:08) Тут ч... Nov 18 2014, 13:37        SM Цитата(doom13 @ Nov 18 2014, 14:17) Где м... Nov 18 2014, 11:33 doom13 Цитата(jcxz @ Nov 18 2014, 06:39) Использ... Nov 18 2014, 14:18      SM Цитата(doom13 @ Nov 19 2014, 12:45) Но ес... Nov 19 2014, 09:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|