|
IAR 5.11, Объясните pls |
|
|
|
May 16 2008, 15:28
|
Группа: Новичок
Сообщений: 9
Регистрация: 17-04-08
Пользователь №: 36 836

|
Собственно проблема такая - примеры для AT91SAM7A3 компилятся, линкуются и тп. но!, при попытке прогнать их во встроенном симуляторе Cstartup.s с первой точки (reset) улетает куда-то на адрес 6E7C0000, при попытке переписать стартап чтобы он с ресета уходил на lowlevel_init в симуляторе все ОК, однако в железе - мертвяк. все во Flash_DEBUG
|
|
|
|
|
 |
Ответов
|
May 17 2008, 05:41
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(Laurica @ May 16 2008, 18:28)  Собственно проблема такая - примеры для AT91SAM7A3 компилятся, линкуются и тп. но!, при попытке прогнать их во встроенном симуляторе Cstartup.s с первой точки (reset) улетает куда-то на адрес 6E7C0000, при попытке переписать стартап чтобы он с ресета уходил на lowlevel_init в симуляторе все ОК, однако в железе - мертвяк. все во Flash_DEBUG Немного непонятно А файл прошивки должен формироваться в режиме Реалис. Вы так его формировали? И ещё, где-то было сообщение нащёт версии 5.11 толи В толи А что она вообще не рабочая.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
May 17 2008, 06:31
|

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

|
Цитата(sKWO @ May 17 2008, 07:41)  И ещё, где-то было сообщение нащёт версии 5.11 толи В толи А что она вообще не рабочая. - А это правда, что Сидоров выиграл машину в лотерею? - Правда. Только не машину, а тысячу рублей. И не в лотерею, а в преферанс, и не выиграл, а проиграл... Цитата(Laurica @ May 17 2008, 08:16)  ...все-же хочется работать, а не бороться со средствами разработки...  Боритесь только сами с собой. Разработчики коммпилятров ошибаются несораизмеримо реже, нежели их пользователи  . тем более на переходе в main(). A EWARM 4.xx, Вы конечно взять можете на сайте iar.com, но незачем.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 17 2008, 10:53
|
Группа: Новичок
Сообщений: 9
Регистрация: 17-04-08
Пользователь №: 36 836

|
Цитата(zltigo @ May 17 2008, 10:31)  Боритесь только сами с собой. Разработчики коммпилятров ошибаются несораизмеримо реже, нежели их пользователи  . Да я не против бороться, я даже за  . Но чтобы бороться надо знатьхоть с чем конкретно. Кто нибудь знает где почитать как startup-ы пишуться в 5.11 с примерами/картинками  . На сайте IAR я посмотрю, но по-моему там уже везде ссылки на 5.10-5.11.
|
|
|
|
|
May 17 2008, 17:02
|
Группа: Новичок
Сообщений: 9
Регистрация: 17-04-08
Пользователь №: 36 836

|
Цитата(zltigo @ May 17 2008, 18:27)  C картинками - это Вам тогда в детский сад надо пойти. Да староват вроде как для сада уже... Зря вы так, наглядный пример лучше трех талмудов.
|
|
|
|
|
May 17 2008, 17:33
|

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

|
Цитата(Laurica @ May 17 2008, 19:02)  Зря вы так, наглядный пример лучше трех талмудов. Повторяю: Код ..базовый вариант startup в комплекте поставки.. Более, чем нагляден и достаточно универсален. Разве только без картинок  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 17 2008, 18:55
|
Группа: Новичок
Сообщений: 9
Регистрация: 17-04-08
Пользователь №: 36 836

|
Обратился к первоисточнику: Код ARM __vector: ldr pc,[pc,#+24] ;; Reset ---------------------------------- __und_handler: | ldr pc,[pc,#+24] ;; Undefined instructions | __swi_handler: | ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC) | __prefetch_handler: | ldr pc,[pc,#+24] ;; Prefetch abort | __data_handler: | ldr pc,[pc,#+24] ;; Data abort | DC32 0xFFFFFFFF ;; RESERVED | __irq_handler: | ldr pc,[pc,#+24] ;; IRQ<----------------------------------- __fiq_handler: ldr pc,[pc,#+24] ;; FIQ DC32 __iar_program_start DC32 __und_handler DC32 __swi_handler DC32 __prefetch_handler DC32 __data_handler<-------------------------------------- а из IRQ сдесь B . DC32 IRQ_Handler_Entry DC32 FIQ_Handler_Entry если я правильно понимаю, то вот сдесь Код ldr pc,[pc,#+24] происходит добавление к текущему адресу числа 24, (смещение на 6 dword) то есть если выполнится первая такая команда, то мы окажемся там, где стрелочка в коде. Так? Понимаю, что звучит по-дурацки, но...
|
|
|
|
|
May 19 2008, 06:23
|

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

|
Цитата(Laurica @ May 17 2008, 20:55)  если я правильно понимаю, то вот сдесь Код ldr pc,[pc,#+24] происходит добавление к текущему адресу числа 24, (смещение на 6 dword) то есть если выполнится первая такая команда, то мы окажемся там, где стрелочка в коде. Так? Нет. "Для разобраться" надо просто слегка посмотреть на архитектуру процессора и на то, что значат в ASM скобочки []. Хотя написано, конечно от балды. Я так не пишу, дабы не заморачивать голову ненужными магическими числами. Так читабельнее: Код ldr pc, (?vect_entry + 4*0); 00 ldr pc, (?vect_entry + 4*1); 04 ldr pc, (?vect_entry + 4*2); 08 ldr pc, (?vect_entry + 4*3); 0C ldr pc, (?vect_entry + 4*4); 10 dc32 0 ; 14 Summ of other vectors instructions ldr pc, [pc,#-0xFF0]; 18 Jump directly to the address given by the AIC ; from [0xFFFFF030] Curent 18h +conveyer ldr pc, (?vect_entry + 4*7); 1C ;---------------------------------------------------------------------------- ORG 0x20 ; Constant table entries (for ldr pc) will be placed at 0x20 ?vect_entry: dc32 ?cstartup ; Reset dc32 ?undf_abort ; UND dc32 vPortYieldProcessor; SWI dc32 ?pref_abort ; P_ABT dc32 ?data_abort ; D_ABT dc32 0 ; ARM-reserved vector dc32 0 ; IRQ (Jump directly!) dc32 FIQ_ISR_handler; FRQ
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Laurica IAR 5.11 May 16 2008, 15:28 Laurica Цитата(sKWO @ May 17 2008, 09:41) Немного... May 17 2008, 06:16       alexander55 Цитата(Laurica @ May 17 2008, 22:55) Кодl... May 19 2008, 05:33        Laurica Цитата(alexander55 @ May 19 2008, 09:33) ... May 19 2008, 06:14        Laurica За пример - большое спасибо, так и вправду понятне... May 19 2008, 06:46 Vitaliy_ARM Столкнулся с такой проблемой.
Не могу в этом IAR ... May 20 2008, 09:03 Сергей Борщ Цитата(Vitaliy_ARM @ May 20 2008, 12:03) ... May 20 2008, 09:44  Vitaliy_ARM Цитата(Сергей Борщ @ May 20 2008, 13:44) ... May 20 2008, 10:01 Vitaliy_ARM Потихоньку разбираюсь с C++. Не пойму один момент.... May 22 2008, 08:07 Сергей Борщ Цитата(Vitaliy_ARM @ May 22 2008, 11:07) ... May 22 2008, 08:40  Vitaliy_ARM Цитата(Сергей Борщ @ May 22 2008, 12:40) ... May 22 2008, 14:29   Сергей Борщ Ах вот оно как! Я чего-то подумал, что TIMER1 ... May 22 2008, 18:18    Vitaliy_ARM Цитата(Сергей Борщ @ May 22 2008, 22:18) ... May 23 2008, 09:26     Сергей Борщ Цитата(Vitaliy_ARM @ May 23 2008, 12:26) ... May 23 2008, 11:27      Vitaliy_ARM Цитата(Сергей Борщ @ May 23 2008, 15:27) ... May 26 2008, 07:01       Сергей Борщ Цитата(Vitaliy_ARM @ May 26 2008, 10:01) ... May 26 2008, 08:45        Vitaliy_ARM Цитата(Сергей Борщ @ May 26 2008, 12:45) ... May 26 2008, 09:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|