|
|
  |
Вливаюсь в коллектив ARMоводов, жду советов и дележа опытом |
|
|
|
Jul 21 2006, 07:42
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(AVR @ Jul 21 2006, 00:17)  При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++, Поставить курсор в окно с исходным текстом на С++. Цитата(AVR @ Jul 21 2006, 00:17)  а ещё лучше по брейкпоинтам?..  Ставишь брейкпоинт (кажется не более 3 при отладке из флеш, при том что одну отладчик ставит на main если стоит галочка "Run to main" и сколько угодно при отладке из ОЗУ), жмешь Run.
Сообщение отредактировал Сергей Борщ - Jul 21 2006, 07:45
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 21 2006, 18:17
|

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

|
Цитата(klen @ Jul 21 2006, 20:53)  Ну это засада - че трудно чтоли TAP контроллеру.... Нормальное и естественное поведение для периферии. Ну что из того, что какое-то из ПЕРЕФЕРИЙНЫХ устройств случайно оказалось внутри корпуса контроллера? А если их реально 36 штук и все они внешние. Что "вешатся" по причине того, что при останове контроллера они в трепете не останавливаются? Более того, может оказаться желательным и именно неостанавливающаяся периферия. Общий случай отладки с периферийным устройством решения останова оного не имеет, ну и примите это как даденность.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 21 2006, 18:52
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(Сергей Борщ @ Jul 21 2006, 11:42)  Цитата(AVR @ Jul 21 2006, 00:17)  При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++,
Поставить курсор в окно с исходным текстом на С++. Да, это конечно так, при отладке симулятором у меня всё шагает по коду на C++, но при запуске отладки "в железе" при начале отладки у меня вылетает ошибка что main не найдено и запускает отладку по ASMу...
--------------------
|
|
|
|
|
Jul 23 2006, 09:53
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
В качестве эксперемента посмотречть че будет если выставил для ФАПЧ множитель 7 и делитель 1. Получается частота тактирования ядра и переферии 103.219Мгц при кварце 14.7456МГц. При работе из флеша сразу ессесено возникает Page Abort Exeption, а вот при работе из паямяти все чудно рабоет, без збоевэ, в качестве теста зациклил переключение вывода порта - осцилограф мерит частотц 29,54Мгц кусок кода Код #define FastIOMeandr(fiomask) \ {\ int fiomask = _BV(4);\ int fiopin_addr = FIOPIN_ADDR;\ __asm__ ("\ mov r0 , #0x01; /*установка SCS=1*/ \ str r0 , %0 ; \ ldr r0 , %3 ; /*установка FIODIR = ~fiomask*/\ str r0 , %1 ; \ ldr r0 , %3 ; /*установка FIOMASK = fiomask */\ mvn r0 , r0 ; \ str r0 , %2 ; \ ldr r1 , %4 ; /*загрузка адреса FIOPIN*/\ ldr r0 , %3 ; \ mov r2 , #0x0 ; \ Lab: \ str r0 , [r1]; str r2 , [r1]; str r0 , [r1];str r2 , [r1]; str r0 , [r1]; str r2 , [r1]; \ str r0 , [r1]; str r2 , [r1]; str r0 , [r1];str r2 , [r1]; str r0 , [r1]; str r2 , [r1]; \ ..... очень много раз эти пары строк.... str r0 , [r1]; str r2 , [r1]; str r0 , [r1];str r2 , [r1]; str r0 , [r1]; str r2 , [r1]; \ str r0 , [r1]; str r2 , [r1]; str r0 , [r1];str r2 , [r1]; str r0 , [r1]; str r2 , [r1]; \ b Lab; "\ : \ : "m"(SCS) , "m"(FIODIR) , "m"(FIOMASK) , "m"(fiomask) , "m"(fiopin_addr)\ : "r0" , "r1" , "r2"\ ); \ Чето цифры не сходятся, если предположить что тратится по одному такту на инструкцию, частота переключения должна быть ~51Мгц (APBDIV выставлен равным 1-без деления частоты AHB), прчем 103.219 даже близко нацело не делится на 29,54. Почему так? Эксперементы с разгоном могут привести к неприятностям?
|
|
|
|
|
Jul 24 2006, 05:46
|

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

|
Цитата(AVR @ Jul 24 2006, 01:56)  У меня возникла проблема Это не оно? http://supp.iar.com/Support/?note=70964&am...m=search+resultДругиx проблен не было. Цитата(klen @ Jul 23 2006, 12:53)  Чето цифры не сходятся, Никто обещал, что обращение к периферийной шине будет за один такт.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|