|
Как заставить LPC2138 работать без отладчика? |
|
|
|
Jan 31 2009, 19:46
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-09
Из: Владимир
Пользователь №: 44 223

|
Начал осваивать ARM7. Купил ARM-JTAG фирмы Olimex и плату с LPC2138 фирмы Phyton. Работаю с Keil + H-JTAG. Простейшая программа (вкл/выкл светодиод по кнопке) с отладчиком работает нормально. Как запустить программу без отладчика? Отсоединяю разъем JTAG, снимаю перемычку DBG, которая удерживает ноль на контакте RTCK, включаю питание -- абсолютно ничего, жму сброс -- ничего. Перешел на ассемблер -- засветил светодиод. Та же картина. Из Keil программа запускается, а по сбросу светодиод гаснет. Вот программа. CODE IODIR0 EQU 0xE0028008 IOSET0 EQU 0xE0028004 IOCLR0 EQU 0xE002800C AREA RESET, CODE ENTRY ARM MOV R0, #0x80 LDR R1, =IODIR0 STR R0, [R1]
MOV R0, #0x80 LDR R1, =IOCLR0 STR R0, [R1]
Loop B Loop END
|
|
|
|
|
 |
Ответов
(1 - 12)
|
Jan 31 2009, 21:42
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(zltigo @ Jan 31 2009, 15:08)  Прочитать в документации про его bootloader и конкретнее про контрольную сумму векторов. у меня и в дебаге в бутлоадер вываливается, очевидно - изза неправильной суммы векторов - еще не проверил. Так что ето могет быть и не вариант.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Feb 1 2009, 14:40
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-09
Из: Владимир
Пользователь №: 44 223

|
Спасибо! Кажется заработало. А какого черта Keil на заполняет этот вектор контрольной суммой!? У него в стандартном Startup.s по адресу 0x14 в явном виде NOP прошивается. Мне что, так и вычислять всякий раз значение этой контрольной суммы вручную? Это вообще нормально? Так все делают? Теперь начало программы выглядит так: CODE AREA RESET, CODE ENTRY ARM
B START SPACE 16 DCD 0x15FFFFFA SPACE 8
START ...
|
|
|
|
|
Feb 1 2009, 15:58
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-09
Из: Владимир
Пользователь №: 44 223

|
Тогда вопросы: 1) Что значит "загрузчик"? По-моему "загрузчиком" следует называть Boot Loader, т.е. код, зашиваемый при изготовлении. Так он не правит сумму, а проверяет ее. 2) В самом деле же в Startup.s стоит NOP на этом месте! "Все" его не используют что ли? Свой что-ли пишут? 3) В Додековской книге Мартина процедура ручной правки контрольной суммы подробно описана. Я из этого сделал вывод, что это норально. Что скажите? 4) Где в Keil эта опция? Я его с официального сайта, думаю, не раньше декабря скачал. То есть свеженькая программа. 5) Если серьезно, как вы относитесь к этому комплекту Keil + H-JTAG + Wiggler от Olimex. Удачное решение или нет?
|
|
|
|
|
Feb 1 2009, 16:14
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(kilohm @ Feb 1 2009, 18:58)  По-моему "загрузчиком" следует называть Boot Loader Как минимум в процессе участвует и софт находящийся не только в контроллере. Цитата 5) Если серьезно, как вы относитесь к этому комплекту Keil + H-JTAG + Wiggler от Olimex. Удачное решение или нет? Огрызок счасться ввиде Wiggler давно уже давно неразумно использовать ни при каких обстоятельствах. Keil по самому факту принажлежости ARM всегда,полагаю, будет входить в тройку лидеров для ARM платформы.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 1 2009, 18:34
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-09
Из: Владимир
Пользователь №: 44 223

|
В чем недостаток Wiggler? А что использовать? Отладчики от Keil или IAR? Они стоят по крайней мере в 10 раз дороже. Вот вам и "обстоятельства".
|
|
|
|
|
Feb 1 2009, 22:22
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-09
Из: Владимир
Пользователь №: 44 223

|
1) Нет, ну за $5 можно только кабель для LPT купить. А что это за отладчик за $50? По-моему, U-LINK около $300 стоит. 2) Да объясните мне о каких проблемах речь. Чем плох этот Wiggler?
|
|
|
|
|
Feb 2 2009, 03:47
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(kilohm @ Feb 1 2009, 09:40)  Спасибо! Кажется заработало. А какого черта Keil на заполняет этот вектор контрольной суммой!? У него в стандартном Startup.s по адресу 0x14 в явном виде NOP прошивается. Мне что, так и вычислять всякий раз значение этой контрольной суммы вручную? Это вообще нормально? Так все делают? в openocd можно сказать чтоб сам подсчитывал: Код flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 [b]calc_checksum[/b]
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|