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

 
 
> Проблема с LPC3250 service boot, Сервисный загрузчик в ROM LPC3250 работает не так как должен
Dennis E
сообщение Jan 4 2011, 08:07
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 27-07-07
Пользователь №: 29 404



Проблема следующая.

Не удаётся загрузить LPC3250 через последовательный интерфейс в режиме ‘Service boot’. Это режим загрузки, который включается при установке линии ‘BOOTSEL’ в ‘0’. В нём после ‘Reset’ из ROM процессора запускается заводской загрузчик ‘bootstrap’, который позволяет через UART5 загрузить во внутреннюю IRAM и запустить бинарник.

1. Выяснилось, что ‘bootstrap’ в запаянных на наши платы LPC3250 ревизии ‘-’ ведёт себя немного отлично от того, как он должен это делать судя по UserManual.
В UserManual говорится, что процесс ‘Service’ загрузки такой:
LPC32x0 Host
-> BootID (0x35=’5’)
<- 0x41=’A’
-> BootID (0x35=’5’)
<- 0x55=’U’
<- 0x33=’3’
-> 0x52=’R’
<- StartAddress (4 bytes)
<- CodeSize (4 bytes)
<- Code

А наш процессор почему-то в самом начале выдаёт не 1 код ‘BootID’ а сразу 2 штуки:

[смотри картинку "01_osc_dbl_'5'.png"]

Последующие этапы обмена процессор отрабатывает верно. Но у программы «LPC3250 Loader» из NXP’s CSP v2.01 “nxpmcu/software/csps/lpc32xx/tools/LPC3250 loader” всё равно сносит крышу и она прерывает процесс загрузки. (Причём физически два ‘BootID’ идут сразу друг за другом, а крышу у программы сносит немного позже, когда проходит несколько этапов обмена):

[смотри картинку "Serial_loader_dbl_'5'.PNG"]


2. Был сделан «Передатчик» на первой попавшейся подходящей плате, который транслирует данные с 1-го UART, подключенного к компьютеру, на 2-ой UART, подключенный к LPC3250. Но при трансляции «Передатчик» вырезает второй ‘BootID’, посылаемый LPC3250:

[смотри картинку "02_osc_do_single_'5'.png"]


После этого процесс ‘Service’ загрузки продвинулся дальше:

[смотри картинку "Serial_loader_cut_dbl_'5'.PNG"]


«LPC3250 Loader» начинает загружать бинарник. Но всё равно! Примерно через 1,42 секунды LPC3250 опять инициализирует процесс ‘Service’ boot, выдавая двойной ‘BootID’ и в дальнейшем выдавая ‘BootID’ в ответ на каждый байт продолжающегося грузиться бинарника:

[смотри картинку "07_osc_boot.png"]


3. Маркировка нашего LPC3250 следующая:

LPC3250FET296
POG454.00 01
ESD0920-

То есть ревизия нашего процессора ‘-’, дата производства: 11-17 Мая 2009 года.

PS: К сообщению прицеплен PDF с иллюстрациями: скриншоты и осциллограммы.
PPS: Также к сообщению прицеплены иллюстрации в виде отдельных файлов.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  LPC3250_Service_boot_problem_rus.pdf ( 174.27 килобайт ) Кол-во скачиваний: 159
 
Go to the top of the page
 
+Quote Post



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

 


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


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