Перейти к содержанию
    

Помогите запустить LPC2101

Есть 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

Так и должно быть?

 

Во Flash magic нажимаю Display flash memory, ошибка: Operation Failed. Failed to autobaud - step 1.

Менял скорость, не помогло.

Может, настройки какие-нибудь поменять?

post-44202-1262706222_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что должно приходить в терминал после "?" ?

Каждый раз приходят разные символы, потом Synchronized, потом еще несколько символов. Почему так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что должно приходить в терминал после "?"

Просто Synchronized и CR LF. В документации есть подробности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в чем может быть проблема, в питании, длинных проводах? Питание с юсб, провода от max232 до компа 1м, от max232 до lpc 10см.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Flash magic перестала выдавать ошибку после замены преобразователя на max3232.

Я зашил программку blinky из примеров keil. Что дальше делать, кроме ресета, чтобы она запустилась? Уровни на p0.14 и DBGSEL должны оставаться низкими?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уровни на p0.14 и DBGSEL должны оставаться низкими?

нет, конечно. При низком уровне как раз bootloader запускается

 

RESET через 10к на 3.3В, через кнопку на землю;

емкость 0.1мкФ параллельно кнопке поставьте

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напишите, пожалуйста, последовательность действий, чтобы запустить программу.

Содержимое памяти после прошивки:

00000000 18F09FE518F09FE518F09FE518F09FE5 ................
00000010 18F09FE5805F20B9F0FF1FE518F09FE5 ....._ .........
00000020 58000000400000004400000048000000 [email protected]...
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 пробовал подавать все комбинации уровней.

Что я не то делаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напишите, пожалуйста, последовательность действий, чтобы запустить программу.

Содержимое памяти после прошивки:

на правду похоже. дизассемблировать не обучен, :) но начало на вектора прерываний похожи...

 

После ресета прога должна начать исполняться автоматически, или ее надо загружать в озу как-то?

После резета стартует загрузчик, проверяет необходимость обновления прошивки (нога boot в нуле или отсутствие контрольной суммы векторов) и передаёт управление по адресу 0 (это начало флеша).

Если программа собрана правильно (т.е. для работы из флеш), всё должно быть хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит "программа собрана правильно (т.е. для работы из флеш)" ?

В протеусе все работает, в железе - нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сигнатуру нужно вписывать в стартап, или там должен быть 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В протеусе программа ложится, начиная с адреса 0 ? Тогда всё должно быть нормально.

 

Не сильно в это верю, но если напрячься, можно заставить линкер собрать программу для работы в ОЗУ (т.е. адреса там будут начинаться с 0x40000000), а hex сформировать с адреса 0. Работать такое не будет :)

 

Сигнатуру (кстати, в число не верю. как считали?) флешмэджик считает (и перезаписывает) самостоятельно.

 

 

Может, допустим, что программа всё-таки стартует? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В протеусе программа ложится, начиная с адреса 0 ?

Где это в протеусе можно посмотреть?

 

Если программа стартует, то как это проверить?

Может, есть у кого-то рабочая прошивка, любая, для lpc2101, чтобы можно было осцилом что-либо увидеть на ногах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LPC2101 питается от 2-х стабилизаторов на LM317, прошиваю через UART, преобразователь на MAX3232, с помощью FlashMagic.

В терминале на "?" отвечает Synchronized.

Пробовал шить из примеров Keil blinky - в протеусе работает, в железе - нет.

Программируется через раз, память читается тоже не всегда сразу.

Плата:

post-44202-1264240173_thumb.jpg

pcb.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подтяжка на 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, никаких изменений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...