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

 
 
> EWARM 5.10
zltigo
сообщение Jun 27 2007, 16:28
Сообщение #1


Гуру
******

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



Сергей Борщ подсказал, что только что на сайте IAR появилась ссылка на 5.10 версию! Однако скачивается старая 4.41. Но наверное вскоре будет.

Что еще интересно возникло упоминание и о 4.42
Код
Note: Cortex-M3 and the ARM VFP is not supported in this release. If you need support for Cortex-M3 or ARM VFP you must use version 4.42A.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Алекс
сообщение Aug 29 2007, 06:57
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377



Берете программу, WinHex (редактор) в нем открываете Генератор.exe, поиском ищите строчку EWARM, там смотрим рядом 06_WIN, правим на 12_WIN, сохраняем изменения и все запускаем.
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 29 2007, 07:39
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



zltigo

Вроде вчера удалось скомпилировать и запустить, но при запуске шедулера сразу возникает DataAbort, причем он меня просто вводит в ступор.

При создании задач формируются стеки этих задач, соответственно, туда кладется содержимое регистров задачи, это понятно. Первым в стек суется адрес возврата, вторым - содержимое R14 (LR), равное 0xaaaaaaaa. Остальные регистры забиваются тоже чепухой. Понятное дело, после переключения туда (в стек задачи) будут записаны реальные значения.

Потом при старте шедулера, выполняется vPortStartFirstTask, который на самом деле запрещает прерывания и вызывает portRESTORE_CONTEXT, коий я приведу тут целиком:
Код
portRESTORE_CONTEXT MACRO

; Set the LR to the task stack.                                     
    LDR        R1, =pxCurrentTCB
    LDR        R0, [R1]
    LDR        LR, [R0]

; The critical nesting depth is the first item on the stack.     
; Load it into the ulCriticalNesting variable.                     
    LDR        R0, =ulCriticalNesting
    LDMFD    LR!, {R1}
    STR        R1, [R0]

; Get the SPSR from the stack.                                     
    LDMFD    LR!, {R0}
    MSR        SPSR_cxsf, R0

; Restore all system mode registers for the task.                 
    LDMFD    LR, {R0-R14}^
    NOP

; Restore the return address.                                     
    LDR        LR, [LR, #+60]

; And return - correcting the offset in the LR to obtain the     
; correct address.                                                 
    SUBS    PC, LR, #4

    ENDM


На строке LDMFD LR, {R0-R14}^ во все регистры записывается соответствующий мусор (оно и правильно, первый запуск), а вот в LR записывается вот то самое 0xaaaaaaaa, которое было записано в стек, а не адрес возврата. Понятно, на LDR LR,[LR, #+60] мы имеем DAbort.
При этом в случае с 4.х после выполнения этой инструкции LR просто увеличивается, как ему и положено.

Вот такие чудеса.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Aug 29 2007, 09:55
Сообщение #4


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Kitsok @ Aug 29 2007, 11:39) *
zltigo

Вроде вчера удалось скомпилировать и запустить, но при запуске шедулера сразу возникает DataAbort, причем он меня просто вводит в ступор.

Не знаю, о чем речь (подозреваю о прикручивании каких-то колес), но судя тексту у Вас pxCurrentTCB не правильно инициализируется где-то выше.
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 29 2007, 14:58
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(alexander55 @ Aug 29 2007, 13:55) *
Не знаю, о чем речь (подозреваю о прикручивании каких-то колес), но судя тексту у Вас pxCurrentTCB не правильно инициализируется где-то выше.


Речь о прикручивании FreeRTOS к новой версии wink.gif
Очень верное замечание! Раньше стек выравнивался к 4 байтам, а теперь - к 8. Буду копать, спасибо за наводку!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 29 2007, 15:44
Сообщение #6


Гуру
******

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



Цитата(Kitsok @ Aug 29 2007, 17:58) *
Буду копать, спасибо за наводку!

Я не знаю, куда Вы там 'закопались', но с портированием ядра FreeRTOS проблем нет. Совсем нет. Тупо за полчаса поверхностного изучения линкера и ассемблера портируется.
Поблемы вылезают, но не на банальной демке ядра.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 29 2007, 18:03
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(zltigo @ Aug 29 2007, 19:44) *
Я не знаю, куда Вы там 'закопались', но с портированием ядра FreeRTOS проблем нет. Совсем нет. Тупо за полчаса поверхностного изучения линкера и ассемблера портируется.
Поблемы вылезают, но не на банальной демке ядра.


Я тоже так подумал, поменял во всех ассемблерных исходниках имена сегментов, подставил стартап-файлы из поставки 5.10 и теперь имею реальный полтергейст с инструкцией LDMIA.

Там, где работает:
Код
ДО
SP=0xFEA4
LR=0x34EC
0x34EC-0x3527:
00 00 00 00 01 01 01 01 02 02 02 02 03 03 03 03 04 04 04 04 05 05 05 05 06 06 06 06 07 07 07 07 08 08 08 08 09 09 09 09 10 10 10 10 11 11 11 11 12 12 12 12 28 35 00 00 aa aa aa aa

portRESTORE_CONTEXT
  000001F4  E8DE7FFF  LDMIA        LR, {R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,SP,LR}^

ПОСЛЕ
SP=0xFEA4
LR=0x34EC


В новом компиляторе:
Код
ДО
SP=0x3290
LR=0x40CC
0x40CC-0x412C:
00 00 00 00 01 01 01 01 02 02 02 02 03 03 03 03 04 04 04 04 05 05 05 05 06 06 06 06 07 07 07 07 08 08 08 08 09 09 09 09 10 10 10 10 11 11 11 11 12 12 12 12 08 41 00 00 aa aa aa aa

portRESTORE_CONTEXT
  0000232C  E8DE7FFF  LDMIA        LR, {R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,SP,LR}^

ПОСЛЕ
SP=0x4108
LR=0xAAAAAAAA


Я не понимаю, почему так, буду разбираться с режимом процессора.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 29 2007, 19:07
Сообщение #8


Гуру
******

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



Цитата(Kitsok @ Aug 29 2007, 21:03) *
Я тоже так подумал, поменял во всех ассемблерных исходниках имена сегментов

Совсем не обязательно - пусть будут самостоятельным сегментом, никаких проблем. Я вообще ничего не менял во FreeRTOS асмовских исходниках при переходе под 5.10
Цитата
подставил стартап-файлы из поставки 5.10

Без понятия, что там 'в поставке' - подправил свой. И линковый скрипт с чистого листа.
Цитата
Я не понимаю, почему так, буду разбираться с режимом процессора.

Я в ARM моде гоняю. Пересобрал в Thumb (при этом ядро стало больше похоже на родное, поскольку
пришлось вернутся к штатным CRITICAL_SECTION, ибо мои исключительно под ARM Mode заточены) - естественно, неизменно превосходный результат.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 30 2007, 06:59
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(zltigo @ Aug 29 2007, 23:07) *
Я в ARM моде гоняю. Пересобрал в Thumb (при этом ядро стало больше похоже на родное, поскольку
пришлось вернутся к штатным CRITICAL_SECTION, ибо мои исключительно под ARM Mode заточены) - естественно, неизменно превосходный результат.


Я про другие режимы wink.gif
Собственно, проблема обнаружилась в том, что при подходе к main() старые стартапы переводили процессор в supervisor mode, а новые в другой режим. Так что, придется разбираться в стартапах, хоть и не хотелось.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 30 2007, 07:15
Сообщение #10


Гуру
******

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



Цитата(Kitsok @ Aug 30 2007, 09:59) *
Так что, придется разбираться в стартапах, хоть и не хотелось.

Огорчили sad.gif, попытками что-то писать хоть слегка не разбираясь в стартапах.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 30 2007, 08:01
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(zltigo @ Aug 30 2007, 11:15) *
Огорчили sad.gif, попытками что-то писать хоть слегка не разбираясь в стартапах.

smile.gif Ну теперь слегка разбираюсь, так что не огорчайтесь wink.gif
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 31 2007, 07:02
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



В общем, после адаптации старых стартапов к новому компилеру вроде завелось, но как-то странно.

Во-первых, пришлось в лоб в startup.s задавать начало памяти, бо раньше (поправьте если не так) можно было пользоваться именами из .xcl, а в новом - фиг, по крайней мере, у меня не получилось.

Во-вторых, не знаю почему, но в случае если таблица векторов объявляется не как b <туда-то>, а как ldr pc,[pc,#+24], и в соответствующих местах размещать b или прямо код (в случае с FIQ), то при первом-же прерывании возникает undefined instruction. Подозреваю, что что-то не так с thumb/arm, но разобраться не получилось.

В общем, поскольку этот переход затянулся, я откатился на 4.х.

На всякий случай, вот полу-рабочие стартапы и конфиг.

comments are welcome smile.gif
Прикрепленные файлы
Прикрепленный файл  new.rar ( 5.21 килобайт ) Кол-во скачиваний: 53
 
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 31 2007, 08:04
Сообщение #13


Гуру
******

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



Цитата(Kitsok @ Aug 31 2007, 10:02) *
Во-первых...

Во-первых я свои startup и скрипрт выкладывал, причем было-стало и рабочие.
Цитата
а в новом - фиг, по крайней мере, у меня не получилось.

Нет, конечно.
Цитата
случае если таблица векторов объявляется не как b <туда-то>, а как..

Нет, конечно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zltigo   EWARM 5.10   Jun 27 2007, 16:28
- - rezident   В новостях на их сайте еще ничего нет, как и на фт...   Jun 27 2007, 18:29
|- - zltigo   Цитата(rezident @ Jun 27 2007, 21:29) В н...   Jun 27 2007, 19:23
|- - IgorKossak   Цитата(rezident @ Jun 27 2007, 21:29) Я д...   Jun 27 2007, 19:24
- - KRS   а с ftp IARовского который не .com ( и на который ...   Jun 27 2007, 19:35
- - el34   KRS>это только у меня сейчас такой глюк, вроде ...   Jun 27 2007, 19:42
|- - IgorKossak   Цитата(el34 @ Jun 27 2007, 22:42) KRS...   Jun 27 2007, 20:10
- - MALLOY2   Жду не дождусь IAR 5.10, надеюсь там уже STR9xxFAW...   Jun 28 2007, 13:32
|- - KRS   Цитата(MALLOY2 @ Jun 28 2007, 17:32) Жду ...   Jun 28 2007, 14:12
- - zltigo   Пришел месячный анонс от IAR, но ничего нового для...   Jun 28 2007, 13:59
- - MALLOY2   Ну если несчстать 20% прирост производительности (...   Jun 29 2007, 07:26
|- - ig_z   Цитата(MALLOY2 @ Jun 29 2007, 10:26) Ну е...   Jul 2 2007, 14:08
- - SpiritDance   А вот интересно, код от старых процов с этими новы...   Jun 29 2007, 13:22
- - MALLOY2   Да   Jul 1 2007, 07:30
- - MALLOY2   КодТам конечно мелоч руками подправить но влом ...   Jul 3 2007, 09:46
- - zltigo   Итак, появились и 4.42 и 5.10 версии. 4.42 - чес...   Jul 11 2007, 22:08
|- - KRS   Цитата(zltigo @ Jul 12 2007, 02:08) Итак,...   Jul 12 2007, 07:35
||- - zltigo   Цитата(KRS @ Jul 12 2007, 10:35) А теперь...   Jul 12 2007, 08:00
||- - IgorKossak   Цитата(zltigo @ Jul 12 2007, 11:00) А чем...   Jul 12 2007, 10:52
|- - OLEG_BOS   Цитата(zltigo @ Jul 12 2007, 01:08) Итак,...   Jul 13 2007, 06:25
|- - zltigo   Цитата(OLEG_BOS @ Jul 13 2007, 09:25) С с...   Jul 13 2007, 08:08
- - zltigo   Запустил попугаемер aka DHRYSTONE 1.1 - получил пр...   Jul 12 2007, 15:41
|- - lebiga   Цитата(zltigo @ Jul 12 2007, 19:41) Запус...   Jul 12 2007, 17:58
|- - zltigo   Цитата(lebiga @ Jul 12 2007, 20:58) подск...   Jul 12 2007, 18:19
- - bookevg   По старому варианту папка бин не лечится. Что дела...   Jul 13 2007, 07:36
|- - zltigo   Цитата(bookevg @ Jul 13 2007, 10:36) По с...   Jul 13 2007, 08:10
|- - MALLOY2   ЦитатаДругому линкеру не подсунуть - ЧТО ОЧЕНЬ ОБ...   Jul 13 2007, 10:11
||- - KRS   Цитата(MALLOY2 @ Jul 13 2007, 14:11) КодC...   Jul 13 2007, 15:50
||- - zltigo   Цитата(KRS @ Jul 13 2007, 18:50) А у меня...   Jul 13 2007, 17:01
||- - lebiga   [..........] Скомпилировал проекты - все нормально...   Jul 13 2007, 19:18
||- - zltigo   Цитата(lebiga @ Jul 13 2007, 22:18) разме...   Jul 14 2007, 00:10
|- - SpiritDance   Цитата(zltigo @ Jul 13 2007, 12:10) 2. Ин...   Jul 13 2007, 11:04
||- - zltigo   Цитата(SpiritDance @ Jul 13 2007, 14:04) ...   Jul 13 2007, 12:09
|- - ig_z   Цитата(zltigo @ Jul 13 2007, 11:10) 1. Пр...   Jul 13 2007, 14:10
- - KRS   Но самая большая Ж.... теперь с вычислениями - в в...   Jul 13 2007, 16:52
- - IgorKossak   М-м-да! Я уж было подумал, что производители к...   Jul 14 2007, 12:16
|- - zltigo   Цитата(IgorKossak @ Jul 14 2007, 15:16) И...   Jul 14 2007, 13:06
- - zltigo   В общем с EWARM 5.10 все в порядке. В пределах нео...   Jul 15 2007, 14:16
- - KRS   Я вот в мигрейшен гиде прочитал что теперь ни ассм...   Jul 15 2007, 18:31
|- - IgorKossak   Цитата(KRS @ Jul 15 2007, 21:31) Я вот в ...   Jul 15 2007, 20:08
|- - zltigo   Цитата(KRS @ Jul 15 2007, 21:31) Получает...   Jul 15 2007, 21:26
|- - KRS   Цитата(zltigo @ Jul 16 2007, 01:26) Естес...   Jul 16 2007, 07:56
- - KRS   Посомтрел я несколько листингов от 5.10 для THUMB,...   Jul 16 2007, 09:16
|- - zltigo   Цитата(KRS @ Jul 16 2007, 12:16) Посомтре...   Jul 16 2007, 10:22
|- - Rst7   Цитата(KRS @ Jul 16 2007, 12:16) Посомтре...   Aug 27 2007, 05:27
|- - zltigo   Цитата(Rst7 @ Aug 27 2007, 08:27) Это он ...   Aug 27 2007, 05:54
|- - Kitsok   Поставил 5.1 Перестало работать с H-JTag 0.4.4, кр...   Aug 28 2007, 08:16
|- - zltigo   Цитата(Kitsok @ Aug 28 2007, 11:16) кроме...   Aug 28 2007, 08:22
|- - Kitsok   Цитата(zltigo @ Aug 28 2007, 12:22) Удиви...   Aug 28 2007, 10:08
|- - zltigo   Цитата(Kitsok @ Aug 28 2007, 13:08) Весь...   Aug 28 2007, 10:20
- - ZMax   подскажите , пожалуйста , ссылочку на мигрейшн гид...   Jul 16 2007, 13:33
|- - zltigo   Цитата(ZMax @ Jul 16 2007, 16:33) подскаж...   Jul 16 2007, 14:01
- - Nikola Kirov   A keygen для 5.10 уже сделан? Может кто то на фтп ...   Aug 25 2007, 05:51
|- - zltigo   Цитата(Nikola Kirov @ Aug 25 2007, 08:51)...   Aug 25 2007, 14:17
- - Nikola Kirov   H-JTag 0.4.4 заработал у меня. Попробовал с AT91S...   Aug 28 2007, 10:21
- - zltigo   Если кому интересно, то в приложении асемблерные с...   Aug 28 2007, 10:38
|- - Kitsok   zltigo Я прошу прощения за столь ламерский вопрос...   Aug 28 2007, 12:16
|- - zltigo   Цитата(Kitsok @ Aug 28 2007, 15:16) но......   Aug 28 2007, 20:43
- - Pasha 111   zltigo, возвращаясь к вопросу кей гена (просьба не...   Aug 28 2007, 20:23
- - Pasha 111   ЦитатаНУ ТАК ИСПРАВЬТЕ ВНУТРИ KEYGEN СТРОЧКУ xx_WI...   Aug 28 2007, 21:19
|- - zltigo   Цитата(Pasha 111 @ Aug 29 2007, 00:19) Та...   Aug 28 2007, 21:27
|- - Kitsok   Цитата(zltigo @ Aug 31 2007, 12:04) Нет, ...   Aug 31 2007, 09:55
- - MALLOY2   Нашел 2 голюка, прошу проверить , глюки не критичн...   Aug 31 2007, 09:26
|- - zltigo   Цитата(MALLOY2 @ Aug 31 2007, 12:26) Глюк...   Aug 31 2007, 09:36
- - MALLOY2   ЦитатаПо поводу первого бага - не скажу, визардами...   Aug 31 2007, 10:05
|- - zltigo   Цитата(MALLOY2 @ Aug 31 2007, 13:05) но т...   Aug 31 2007, 10:19
- - MALLOY2   Цитатану и куда их wizard дальше вставляет? - в т...   Aug 31 2007, 10:56
|- - zltigo   Цитата(MALLOY2 @ Aug 31 2007, 13:56) да к...   Aug 31 2007, 12:25
- - MALLOY2   --image_input это и делает   Aug 31 2007, 13:18
- - starmos   Подскажите, как в IAR узнать время работы участка ...   Sep 1 2007, 09:07
|- - alexander55   Цитата(starmos @ Sep 1 2007, 13:07) Подск...   Sep 3 2007, 06:05
- - MALLOY2   ЦитатаПодскажите, как в IAR узнать время работы уч...   Sep 3 2007, 07:54
- - MALLOY2   По поводу стартовой метки __iar_program_start эта ...   Sep 3 2007, 11:37
|- - zltigo   Цитата(MALLOY2 @ Sep 3 2007, 14:37) По по...   Sep 3 2007, 12:01
- - starmos   Спасибо за помощь. Но я тоже нашел. В симуляторе, ...   Sep 5 2007, 12:11
|- - Сергей Борщ   Цитата(starmos @ Sep 5 2007, 15:11) Софт ...   Sep 5 2007, 12:42
- - MALLOY2   ЦитатаСпасибо за помощь. Но я тоже нашел. В симуля...   Sep 5 2007, 20:27
- - starmos   P0.14 подтянут куда надо Я уже проверил. Контроль...   Sep 6 2007, 03:50
|- - alexander55   Цитата(starmos @ Sep 6 2007, 07:50) P0.14...   Sep 6 2007, 04:37
- - MALLOY2   ЦитатаPS. CYCLECOUNTER - счётчик циклов именно. Зн...   Sep 6 2007, 05:46
- - starmos   Запустил. Как обычно в таких случаях чувствуешь се...   Sep 6 2007, 06:36
- - Vict59   Насколько я понял для переформатирования .elf файл...   Sep 21 2007, 08:16
|- - alexander55   Цитата(Vict59 @ Sep 21 2007, 12:16) Наско...   Sep 21 2007, 08:28
|- - zltigo   Цитата(Vict59 @ Sep 21 2007, 11:16) не на...   Sep 21 2007, 08:44
- - Vict59   ЦитатаИнтересно, а чем Вас Hex или mot не устраива...   Sep 21 2007, 16:27
- - Vict59   Ну вот попробовал. Командная строка типа: objcopy....   Sep 21 2007, 17:36
|- - zltigo   Цитата(Vict59 @ Sep 21 2007, 20:36) работ...   Sep 21 2007, 18:21
- - Vict59   Цитата- Для начала кокого-то путь objcjpy зачем-то...   Sep 21 2007, 19:37
2 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:18
Рейтинг@Mail.ru


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