|
Помогите запустить LPC2101 |
|
|
|
Jan 5 2010, 15:44
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Есть LPC2101, стабилизаторы 3,3В, 1,8В на LM317; RESET через 10к на 3.3В, через кнопку на землю; P0.14 и DBGSEL на землю; TXD0 и RXD0 к преобразователю на max232; кварц 11.0592 Мгц Посылаю в терминале "?", получаю: ььааь<0>а<0><0>ањ<0><0>–Af–{В<0>9yуЁ±<0>|Њря|гЂа|ѓрЊ|ѓ|cгЊЂрЊ|<0>p8~і<0>Synchronized dэ Так и должно быть? Во Flash magic нажимаю Display flash memory, ошибка: Operation Failed. Failed to autobaud - step 1. Менял скорость, не помогло. Может, настройки какие-нибудь поменять?
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 16 2010, 13:45
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Напишите, пожалуйста, последовательность действий, чтобы запустить программу. Содержимое памяти после прошивки: Код 00000000 18F09FE518F09FE518F09FE518F09FE5 ................ 00000010 18F09FE5805F20B9F0FF1FE518F09FE5 ....._ ......... 00000020 58000000400000004400000048000000 X...@...D...H... 00000030 4C000000000000005000000054000000 L.......P...T... 00000040 FEFFFFEAFEFFFFEAFEFFFFEAFEFFFFEA ................ 00000050 FEFFFFEAFEFFFFEA98009FE5AA10A0E3 ................ 00000060 5520A0E32430A0E3043080E50130A0E3 U ..$0...0...0.. 00000070 003080E50C1080E50C2080E5083090E5 .0....... ...0.. 00000080 013B13E2FCFFFF0A0330A0E3003080E5 .;.......0...0.. 00000090 0C1080E50C2080E55C009FE50410A0E3 ..... ..\....... 000000A0 041080E50210A0E3001080E54C009FE5 ............L... 000000B0 DBF021E300D0A0E1000040E2D7F021E3 ..!.......@...!. 000000C0 00D0A0E1000040E2D1F021E300D0A0E1 ......@...!..... 000000D0 000040E2D2F021E300D0A0E1800040E2 ..@...!.......@. 000000E0 D3F021E300D0A0E1080040E210F021E3 ..!.......@...!. 000000F0 0C009FE510FF2FE180C01FE000C01FE0 ....../......... 00000100 88040040080100000CD09FE5240000EB ...@........$... 00000110 00009FE500F0A0E13801000000040040 ........8......@ 00000120 0000A0E3000000EA010080E2000010E1 ................ 00000130 200050A01AFF2FA004E02DE1040020E1 .P.../...-... . 00000140 580080E1080481E5000000E0000000E2 X............... 00000150 010000E2040000E0000080E5042080E1 ............. .. 00000160 28009FE10C0080E5002080E1000000E1 (........ ...... 00000170 020552220020A022001000E2040000E0 ..R". ."........ 00000180 100080E5042080E100009FE1040080E5 ..... .......... 00000190 002080E1000000E101085282E2F7FF8A . ........R..... 000001A0 008002E000000000000002E0000000E0 ................ 000001B0 000094E0030000E0030080E0004080E0 .............@.. 000001C0 010000E110408422000054E108020000 .....@."..T..... 000001D0 08020000000000000000000000004202 ..............B. 000001E0 043080140020421204B080000AF0A000 .0... B......... 000001F0 0000A0E1000000E10000000200000000 ................ 00000200 00204212040080001802000000000040 . B............@ 00000210 000000000000000088040000F8010000 ................ 00000220 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ................ После ресета прога должна начать исполняться автоматически, или ее надо загружать в озу как-то? На caxapa.ru/lib/lpc2000.html про это написано, но я не совсем понял: Цитата Загрузчик не умеет грузить программу в ОЗУ, однако, при смене версии bootloader'а, код загружается именно в ОЗУ и ему передается управление. Он (загрузчик) , как утверждается Филипсом, не имеет также никаких функций мониторинга или отладки. На p0.14 и DBGSEL пробовал подавать все комбинации уровней. Что я не то делаю?
|
|
|
|
|
Jan 16 2010, 16:10
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(LexRoss @ Jan 16 2010, 16:45)  Напишите, пожалуйста, последовательность действий, чтобы запустить программу. Содержимое памяти после прошивки: на правду похоже. дизассемблировать не обучен,  но начало на вектора прерываний похожи... Цитата(LexRoss @ Jan 16 2010, 16:45)  После ресета прога должна начать исполняться автоматически, или ее надо загружать в озу как-то? После резета стартует загрузчик, проверяет необходимость обновления прошивки (нога boot в нуле или отсутствие контрольной суммы векторов) и передаёт управление по адресу 0 (это начало флеша). Если программа собрана правильно (т.е. для работы из флеш), всё должно быть хорошо.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Jan 16 2010, 20:43
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Сигнатуру нужно вписывать в стартап, или там должен быть NOP? Если нужно, как правильно, так? Код Vectors LDR PC, Reset_Addr LDR PC, Undef_Addr LDR PC, SWI_Addr LDR PC, PAbt_Addr LDR PC, DAbt_Addr DCD 0x0004FF11 ; Reserved Vector ; LDR PC, IRQ_Addr LDR PC, [PC, #-0x0FF0]; Vector from VicVectAddr LDR PC, FIQ_Addr
Reset_Addr DCD Reset_Handler Undef_Addr DCD Undef_Handler SWI_Addr DCD SWI_Handler PAbt_Addr DCD PAbt_Handler DAbt_Addr DCD DAbt_Handler DCD 0x0004FF11 ; Reserved Address IRQ_Addr DCD IRQ_Handler FIQ_Addr DCD FIQ_Handler
|
|
|
|
|
Jan 22 2010, 17:39
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Цитата В протеусе программа ложится, начиная с адреса 0 ? Где это в протеусе можно посмотреть? Если программа стартует, то как это проверить? Может, есть у кого-то рабочая прошивка, любая, для lpc2101, чтобы можно было осцилом что-либо увидеть на ногах?
|
|
|
|
|
Jan 23 2010, 09:02
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
LPC2101 питается от 2-х стабилизаторов на LM317, прошиваю через UART, преобразователь на MAX3232, с помощью FlashMagic. В терминале на "?" отвечает Synchronized. Пробовал шить из примеров Keil blinky - в протеусе работает, в железе - нет. Программируется через раз, память читается тоже не всегда сразу. Плата:
Эскизы прикрепленных изображений
Прикрепленные файлы
pcb.zip ( 13.27 килобайт )
Кол-во скачиваний: 27
|
|
|
|
|
Jan 23 2010, 14:33
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202

|
Подтяжка на p0.14 (pin 44) к 3,3 через 5,1К и DBGSEL на землю через 5,1К. Вот что написано на сахаре: Цитата P0.16 или P0.14 ??? "Этих признаков два - состояние ноги P0.16 в момент сброса...". Смотрю на схему "Ashling Eval Board" и там ISP MODE выбирается через P0.14 (pin44).
Это ошибка. Бутлоадер запускает нога P0.16. Это выяснено опытным путем на имеющихся кристаллах lpc210х. На остальных кристаллах bootloader запускается сигналом на P0.14. Внимание! Похоже гуляет две версии кристалла lpc210x - старый с ногой P0.16 и новый - c ногой P0.14 Так на какую ногу подавать? Сейчас подавал и на p0.16, никаких изменений.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|