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

 
 
> Как заставить LPC2138 работать без отладчика?
kilohm
сообщение Jan 31 2009, 19:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
zltigo
сообщение Jan 31 2009, 20:08
Сообщение #2


Гуру
******

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



Прочитать в документации про его bootloader и конкретнее про контрольную сумму векторов.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jan 31 2009, 21:42
Сообщение #3


Знающий
****

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



Цитата(zltigo @ Jan 31 2009, 15:08) *
Прочитать в документации про его bootloader и конкретнее про контрольную сумму векторов.


у меня и в дебаге в бутлоадер вываливается, очевидно - изза неправильной суммы векторов - еще не проверил.
Так что ето могет быть и не вариант.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
kilohm
сообщение Feb 1 2009, 14:40
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 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
...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 1 2009, 14:46
Сообщение #5


Гуру
******

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



Цитата(kilohm @ Feb 1 2009, 17:40) *
Так все делают?


Неа, "у всех" загрузчик правит сумму. У некоторых линкеров тоже соответствующая дополнительная опция есть. Ну а вообще в реальности таблица векторов зачастую просто не меняется.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
kilohm
сообщение Feb 1 2009, 15:58
Сообщение #6


Участник
*

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



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


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
kilohm
сообщение Feb 1 2009, 18:34
Сообщение #8


Участник
*

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



В чем недостаток Wiggler? А что использовать? Отладчики от Keil или IAR? Они стоят по крайней мере в 10 раз дороже. Вот вам и "обстоятельства".
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 1 2009, 21:36
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(kilohm @ Feb 1 2009, 21:34) *
В чем недостаток Wiggler? А что использовать? Отладчики от Keil или IAR? Они стоят по крайней мере в 10 раз дороже. Вот вам и "обстоятельства".

Десять раз - это $5 и $50, что уже смешно. За пять получаете по сути моток проводов для LPT (которого в нормальных компьютерах/ноутах уже нет) с кучей проблем в нагрузку.
Go to the top of the page
 
+Quote Post
kilohm
сообщение Feb 1 2009, 22:22
Сообщение #10


Участник
*

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



1) Нет, ну за $5 можно только кабель для LPT купить. А что это за отладчик за $50? По-моему, U-LINK около $300 стоит.
2) Да объясните мне о каких проблемах речь. Чем плох этот Wiggler?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 1 2009, 22:32
Сообщение #11


Гуру
******

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



Цитата(kilohm @ Feb 2 2009, 01:22) *
1) Нет, ну за $5 можно только кабель для LPT купить. А что это за отладчик за $50? По-моему, U-LINK около $300 стоит.



А сколько стоит Wiggler smile.gif? Вы купили КЛОН Wiggler-a за пару десятков долларов. А КЛОНы U-Link/MT-Link/... соответственно тоже стоят не 250, а 50-60.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Feb 2 2009, 03:47
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 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]


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 2 2009, 11:04
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(kilohm @ Feb 2 2009, 01:22) *
Чем плох этот Wiggler?

Будете подбирать скорость JTAG, длину LPT-кабеля и положение звезд на небе, чтобы таргет не отваливался каждые 30 секунд. Возможно, будет и не так плохо, но не стоит превращать отладку в дополнительный геморрой.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:23
Рейтинг@Mail.ru


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