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

 
 
> 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
10 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
rezident
сообщение Jun 27 2007, 18:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В новостях на их сайте еще ничего нет, как и на фтп. Я думаю, что это кто-то из ихних веб-дизайнеров сильно поспешил или просто опечатался.
P.S. кстати на страничке ИАР ЕВ430 тоже бардак какой-то. Номер версии еще тот же числится (3.42), а в анонсе уже поддержка новых кристаллов указана, которых в текущей версии (3.42) нету.
Цитата
• Support for new devices: MSP430F2232, MSPF2252, MSPF2272, MSP430F2330, MSPF2350, and MSPF2370, MSP430F2416, MSP430F2417, MSP430F2418, MSP430F2419 MSP430F2616, MSP430F2617 MSP430F2618, MSP430F2619 MSP430F4351, MSP430F4361, MSP430F4371 MSP430FG4250, MSP430FG4260, MSP430FG4270
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 27 2007, 19:23
Сообщение #3


Гуру
******

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



Цитата(rezident @ Jun 27 2007, 21:29) *
В новостях на их сайте еще ничего нет

Думаю, что завтра-послезавтра раберутся. У них достаточно обычное дело рассинхронизация.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 27 2007, 19:24
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(rezident @ Jun 27 2007, 21:29) *
Я думаю, что это кто-то из ихних веб-дизайнеров сильно поспешил или просто опечатался.

Или сболтнул лишнее.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 27 2007, 19:35
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



а с ftp IARовского который не .com ( и на который через скрытый катаог надо было заходить) вообще исчезло несколько каталогов теперь EWMIRROR там нет sad.gif
это только у меня сейчас такой глюк, вроде еще недавно все открывалось.
Go to the top of the page
 
+Quote Post
el34
сообщение Jun 27 2007, 19:42
Сообщение #6


инженер
****

Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064



KRS>это только у меня сейчас такой глюк, вроде еще недавно все открывалось.

не глюк - сегодня побили


--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 27 2007, 20:10
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(el34 @ Jun 27 2007, 22:42) *
KRS>это только у меня сейчас такой глюк, вроде еще недавно все открывалось.

не глюк - сегодня побили

И среди скрытых папок старые ссылки не просматриваются.
Такое уже бывало когда-то, потом восстановили.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jun 28 2007, 13:32
Сообщение #8


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Жду не дождусь IAR 5.10, надеюсь там уже STR9xxFAWxx потдержат, а то камни уже едут а компилера нету smile.gif. Там конечно мелоч руками подправить но влом ...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 28 2007, 13:59
Сообщение #9


Гуру
******

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



Пришел месячный анонс от IAR, но ничего нового для ARM в нем не помянуто. Похоже на следующий месяц переползет в лучшем случае.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 28 2007, 14:12
Сообщение #10


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(MALLOY2 @ Jun 28 2007, 17:32) *
Жду не дождусь IAR 5.10, надеюсь там уже STR9xxFAWxx потдержат, а то камни уже едут а компилера нету smile.gif. Там конечно мелоч руками подправить но влом ...

А чем они отличаются от обычных Fxx ?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jun 29 2007, 07:26
Сообщение #11


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Ну если несчстать 20% прирост производительности (это ихние слова), за счет исправления багов в мемори акселераторе, то там еще добавлено пару регистров в АЦП.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jun 29 2007, 13:22
Сообщение #12


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



А вот интересно, код от старых процов с этими новыми 100% совместим?


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jul 1 2007, 07:30
Сообщение #13


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Да
Go to the top of the page
 
+Quote Post
ig_z
сообщение Jul 2 2007, 14:08
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(MALLOY2 @ Jun 29 2007, 10:26) *
Ну если несчстать 20% прирост производительности (это ихние слова), за счет исправления багов в мемори акселераторе, то там еще добавлено пару регистров в АЦП.

Ну так добавить эти регистры в .h .ddf и все. Или я чего то не понял?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jul 3 2007, 09:46
Сообщение #15


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Код
Там конечно мелоч руками подправить но влом ...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 11 2007, 22:08
Сообщение #16


Гуру
******

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



Итак, появились и 4.42 и 5.10 версии.

4.42 - честно отдают, а вместо 5.10 подсовывают 4.41A

В 5.10 главная изюмина:
Код
ARM EABI compliance
The IAR compiler, assembler, linker and debugger comply with ARM EABI 2.0, the Embedded Application Binary Interface for ARM, based on ELF/DWARF 3.0. The advantage of AEABI compliance is that any such module can be linked with any other AEABI compliant module, even modules provided by other vendors.


С 4.42 полет нормальный. 200K проект похудел на 32 байта. Код местами разбух, местами похудел. Надо будет завтра попугаемер собрать и посмотреть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 12 2007, 07:35
Сообщение #17


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(zltigo @ Jul 12 2007, 02:08) *
Итак, появились и 4.42 и 5.10 версии.

4.42 - честно отдают, а вместо 5.10 подсовывают 4.41A

А теперь скачать можно только официальным путем?
Нет ли случайно прямой ссылки?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 12 2007, 08:00
Сообщение #18


Гуру
******

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



Цитата(KRS @ Jul 12 2007, 10:35) *
А теперь скачать можно только официальным путем?

А чем официальный-то напрягает? 15-20 секунд на галочки?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 12 2007, 10:52
Сообщение #19


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(zltigo @ Jul 12 2007, 11:00) *
А чем официальный-то напрягает? 15-20 секунд на галочки?

Плюс триальный код и полезная информация о номере версии для лечения.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 12 2007, 15:41
Сообщение #20


Гуру
******

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



Запустил попугаемер aka DHRYSTONE 1.1 - получил провал на 3% рассмотрение кода показало, что 4.42 не заинлайнил один кусочек по сравнению с 4.41 компилятором. Поднял inline_threshold до 4 вместо 2
попугаи поднялись на 17,5% (77618 в секунду на без малого 60MHz LPC2148, ARM Mode, Flash, MAM=2) по отношению к 4.41. Более чистого эксперимента не делал, поскольку 4.41 уже снес smile.gif. День работы на новом - все нормально.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lebiga
сообщение Jul 12 2007, 17:58
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292



Цитата(zltigo @ Jul 12 2007, 19:41) *
Запустил попугаемер aka DHRYSTONE 1.1 ...

А где взять aka DHRYSTONE 1.1? подскажите ссылку!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 12 2007, 18:19
Сообщение #22


Гуру
******

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



Цитата(lebiga @ Jul 12 2007, 20:58) *
подскажите ссылку!

Да исходники валяются с середины 80x везде smile.gif. В приложении из поставки Keil-а - они на них крутость демонстрируют smile.gif
P.S.
Для сравнения разных компиляторов его лучше не пользовать, ибо этот тест туп и если компилятор хорошо заточен на поиск бессмысленного кода, то он, например, выбрасывает многочисленные strcpy одного и того-же стринга в один и тот-же и получает рекордные попугаи, хотя на реальном коде все не так блестяще.
Надо будет, V2.1 запихнуть, да руки как-то не доходят sad.gif

Сообщение отредактировал zltigo - Jul 12 2007, 20:22
Прикрепленные файлы
Прикрепленный файл  DHRY.rar ( 9.11 килобайт ) Кол-во скачиваний: 142
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Jul 13 2007, 06:25
Сообщение #23


Местный
***

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



Цитата(zltigo @ Jul 12 2007, 01:08) *
Итак, появились и 4.42 и 5.10 версии.

4.42 - честно отдают, а вместо 5.10 подсовывают 4.41A

С сегодняшнего дня уже "честно отдают" и 5.10 smile.gif
Go to the top of the page
 
+Quote Post
bookevg
сообщение Jul 13 2007, 07:36
Сообщение #24


Местный
***

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



По старому варианту папка бин не лечится. Что делать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 13 2007, 08:08
Сообщение #25


Гуру
******

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



Цитата(OLEG_BOS @ Jul 13 2007, 09:25) *
С сегодняшнего дня уже "честно отдают" и 5.10 smile.gif

Значит вечером будет, опять, чем заняться smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 13 2007, 08:10
Сообщение #26


Гуру
******

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



Цитата(bookevg @ Jul 13 2007, 10:36) *
По старому...

1. Проверено, обе версии принимают самодельные лицензии. Вопрос 'как' обсуждался неоднократно и
настоятельно прошу в этой ветке его больше не обсуждать.
2. Инструментарий, IDE и проекты у 5.10 другие - ставить в отдельную директорою.
3. Ассемблерный синтаксис поменялся сильно - два вагона воплей - надо разбираться
4. Хидеры для чипов переползли в соответствующие директории - давно пора было порядок навести
5. Remarks добавилось изрядно, что радует, правда у меня ввлезли уж совсем мелочные и никак не обходимые, кроме как подавлением, что огорчает smile.gif


А теперь ОБЛОМЫ sad.gif для Evolution
Цитата
The object files generated by the compiler are in an encrypted form and will only be readable by the IAR ILINK linker. The linker will also read AEABI compliant ELF/DWARF code for linking of legacy and third party code.

Другому линкеру не подсунуть sad.gif - ЧТО ОЧЕНЬ ОБИДНО!
Цитата
Compiler assembly list output is disabled.

Без комментариев sad.gif sad.gif sad.gif

Сообщение отредактировал zltigo - Jul 13 2007, 09:24


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jul 13 2007, 10:11
Сообщение #27


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Другому линкеру не подсунуть sad.gif - ЧТО ОЧЕНЬ ОБИДНО!

А какому вы еще линкеру код подсовываете ? я чет всегда думал что линкер с компилятором тесно связан.

Код
Compiler assembly list output is disabled

Это типа теперь не смогу посмотреть что он там на компилил ? это облом большой. 05.gif
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jul 13 2007, 11:04
Сообщение #28


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(zltigo @ Jul 13 2007, 12:10) *
2. Инструментарий, IDE и проекты у 5.10 другие - ставить в отдельную директорою.
3. Ассемблерный синтаксис поменялся сильно - два вагона воплей - надо разбираться

Ни фига себе. Зачем такая кака? И утилитки нет для конверсии?


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 13 2007, 12:09
Сообщение #29


Гуру
******

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



Цитата(SpiritDance @ Jul 13 2007, 14:04) *
Ни фига себе. Зачем такая кака? И утилитки нет для конверсии?

Ну проект он конветирует автоматом. Ну а в ASM ручками править, впочем, как и "C" исходники. У меня стиль написания совпал с "новым"
и исправлений было минимум. А вообще довольно много разных вариантов фич похерили. Читайте "Migration Guide"




Цитата(MALLOY2 @ Jul 13 2007, 13:11) *
я чет всегда думал что линкер с компилятором тесно связан.

Или связан, или нет, если использует унифицированные форматы. В данном случае в 5.1 имеет место быть переход на стандартизированный ARM-ом формат. Это значит совместимость с Keil и свежими GNU. Кстати, насчет линковки - скорее всего они только отладочную информацию шифруют и как следствие линкеры линковать будут.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ig_z
сообщение Jul 13 2007, 14:10
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(zltigo @ Jul 13 2007, 11:10) *
1. Проверено, обе версии принимают самодельные лицензии. Вопрос 'как' обсуждался неоднократно и
настоятельно прошу в этой ветке его больше не обсуждать.
2. Инструментарий, IDE и проекты у 5.10 другие - ставить в отдельную директорою.
3. Ассемблерный синтаксис поменялся сильно - два вагона воплей - надо разбираться
4. Хидеры для чипов переползли в соответствующие директории - давно пора было порядок навести
5. Remarks добавилось изрядно, что радует, правда у меня ввлезли уж совсем мелочные и никак не обходимые, кроме как подавлением, что огорчает smile.gif
А теперь ОБЛОМЫ sad.gif для Evolution

Другому линкеру не подсунуть sad.gif - ЧТО ОЧЕНЬ ОБИДНО!

Без комментариев sad.gif sad.gif sad.gif

Странно, у меня все четыре чекбокса на вкладке лист доступны. Соответственно есть и *.lst и *.s
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 13 2007, 15:50
Сообщение #31


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(MALLOY2 @ Jul 13 2007, 14:11) *
Код
Compiler assembly list output is disabled

Это типа теперь не смогу посмотреть что он там на компилил ? это облом большой. 05.gif


А у меня выдается и листинг и чистый asm файл
но вот синтаксис они совсем поменяли sad.gif

В догонку:
Так теперь нет XLINK (универсального для всех чипов) у ARM свой линкер ILINKARM лежит в ARM/bin
и вместо xcl файлов теперь icf
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 13 2007, 16:52
Сообщение #32


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Но самая большая Ж....
теперь с вычислениями - в выражении нельзя использовать 2 глобальных символа - т.е например размер сегмента (теперь секция) получить нельзя. надо грузить начало и конец и вычитать в период выполнения.
Такую конструкцию соотвю тоже не запихать
ldr PC,[PC,#0xFFFFF030 - (.+8)] //VICVectAddr
ругается - слишком сложно.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 13 2007, 17:01
Сообщение #33


Гуру
******

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



Цитата(KRS @ Jul 13 2007, 18:50) *
А у меня выдается и листинг и чистый asm файл

Подтверждаю - работает. Обманули, значит smile.gif
Цитата
но вот синтаксис они совсем поменяли sad.gif

Поменяли, в принципе что в лоб, что по лбу. Но! Что-то там еще поломали sad.gif Отказывается ассемблировать ранее понимаемый код, причем диагностическое сообщение хоть стой, хоть падай.
Поломал голову, но нашел методом тыка. Для желающих потренироваться в расшифровке диагностики - файл в приложении smile.gif
Цитата
Так теперь нет XLINK (универсального для всех чипов) у ARM свой линкер ILINKARM лежит в ARM/bin
и вместо xcl файлов теперь icf

Ага, и mapfile просто никакой sad.gif sad.gif и что-то я линковочных наворотов имевшихся у xlink пока не найду.
Похоже они его наскоро из GNU слепили.
Прикрепленные файлы
Прикрепленный файл  CSTARTUP.rar ( 2.53 килобайт ) Кол-во скачиваний: 122
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lebiga
сообщение Jul 13 2007, 19:18
Сообщение #34


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292



[..........]
Скомпилировал проекты - все нормально, листинги есть
При отключенной оптимизации - размер кода моего проекта 90200 байт против 95824 (ver4.41)

Сообщение отредактировал zltigo - Jul 13 2007, 21:20
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 14 2007, 00:10
Сообщение #35


Гуру
******

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



Цитата(lebiga @ Jul 13 2007, 22:18) *
размер кода моего проекта 90200 байт против 95824 (ver4.41)

При максимальной оптимизации (галочки в проекте, без затей) по производительности получил на тестовом проекте порядка 600 байт уменьшения на полторы сотни килобайт бинарника. Заливать не пробовал - не дошли руки, но листинги пытался сравнивать с 4.41/42 - отличия радикальные, глобальная оптимизация похоже или круто работает или круто лажается smile.gif. Надо будет завтра попугаемер пообъективнее собрать и с осциллографом по интересным местам пройтись....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 14 2007, 12:16
Сообщение #36


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



М-м-да! Я уж было подумал, что производители компиляторов достигли или уж по крайней мере близко подошли к некоторому гипотетическому пределу совершенства.
ИАРовцы удивили в очередной раз.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 14 2007, 13:06
Сообщение #37


Гуру
******

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



Цитата(IgorKossak @ Jul 14 2007, 15:16) *
ИАРовцы удивили в очередной раз.

На самом деле если не удивили, то порадовали.
1. Компилятор (в прямом смысле этого слова) явно стал
генерить шустрее код, похоже, за счет глобальной оптимизации. До более менее объективных оценок производительности еще не добрался sad.gif - осваиваю инструмент, но разница заметна почти невооруженным взглядом.
2. Библиотеки ПЕРЕПИСАЛИ! По крайней мере невыносимо тупой IARовский memcpy() ускорился на копировании невыровненного массива с некрасивой длинной в 63 байта почти в четыре раза и стал вровень с писанным на ASM.

С остальным иструментарием - все поменяли и он сыроват даже при поверхностном знакомстве sad.gif
Завязались на binutils и выкинули из линкера в отдельную утилиту ichecksum, но забыли smile.gif smile.gif приложить юниксовый шелл....
Про ASM уже писал - рихтовать надо и отупел он несколько sad.gif
Свой листинг выбрасыает прямо в stdio - прикольно смотрится компиляция в IDE.
IDE я пользовался мало, но пока пользовался - разок уронил и все замеченные мной ранее интерфейсные глючки на месте остались sad.gif.

Линкер многократно доводил до воппля 'internal error'.
В линкере документированы вкусности, но чего-то не удалось даже красиво прилинковать секцию с конца RAM - либо витеевато ругался, либо 'в данной версии не поддерживается'. Обойти, конечно, обошел. При линковке ROM, пока не вынес последнюю секцию из общего списка в отдельный - линковал уже за ней кусок даных для инициализации. И вообще конструция типа
Код
place in RAM { readwrite,
                     block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK };

не только в вышеупомянутом случае работает неправильно, ибо __section_begin() возвращает для всех болоков один адрес, а в ASM все
нормально.

Документация на новое плохая sad.gif, например, если судить по ней, то ichecksum нужно сразу в мусорник засунуть, я уж было собирался свою писать, но случайно заметил в логе, как она используется изнутри линкера. Однако, чуть было не выбросил вторй раз, если-бы случайно не догадался попробовать для того, что-бы вычесть 1 при указании range прибавить -1 smile.gif.



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

Сообщение отредактировал zltigo - Jul 14 2007, 15:01


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 15 2007, 14:16
Сообщение #38


Гуру
******

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



В общем с EWARM 5.10 все в порядке. В пределах необходимых для нескольких текущих проектов за выходные дни освоил. Несколько тонких мест в "С" исходниках пришлось вынести под __IAR_SYSTEMS_ICC__ >= 7 (кстати 7 а не 6, как в документации на 5.1 описано).
Startup-ы переписаны заново, ASM файлы подогнаны под совместимый вариант, конфигурации линкера естественно совсем другие. Подсчет контрольных сумм и конвертировку в другие форматы теперь делает не линкер, посему добавились инструментов (пользователям IAR IDE теперь придется на Postbuild cmd файл вешать smile.gif ).
Подсовывать объектики другому линкеру не пробовал - завтра займусь, но GCC и ADS библиотеки линкуются, что очень хорошее подспорье. С ImageCraftV7 что-то не заладилось.
Большие проекты (при максимальной оптимизации), как уже писал, чуть чуть уменьшаются по объему, но тестовый проектик в 20K разбух до 24K.
Выберу минутку bootloader попробую портировать с минимизацией размера.
Dhrystones 2.1 выдал 83544 попугаев против 73088 при компиляции 4.42 это больше 14%.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 15 2007, 18:31
Сообщение #39


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Я вот в мигрейшен гиде прочитал что теперь ни ассмблер ни компилер не делают несколько модулей в одном файле т.е. файл всегда линкуется только целиком.
Получается что лишнии функции выкидываться не будут или надо делать кучу файлов по одной.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 15 2007, 20:08
Сообщение #40


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(KRS @ Jul 15 2007, 21:31) *
Я вот в мигрейшен гиде прочитал что теперь ни ассмблер ни компилер не делают несколько модулей в одном файле т.е. файл всегда линкуется только целиком.
Получается что лишнии функции выкидываться не будут или надо делать кучу файлов по одной.

По идее должны выкидываться если к ним нет обращения.
Проверить пробовали?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 15 2007, 21:26
Сообщение #41


Гуру
******

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



Цитата(KRS @ Jul 15 2007, 21:31) *
Получается что лишнии функции выкидываться не будут или надо делать кучу файлов по одной.

Естественно при использовании стандартных форматов не выбрасывает. Фича была неплохая, но не общепринятая.
Отсутствие ее в общем-то привычно.

P.S.
Библиотеки, конечно разбухли - bootloader не влез, ибо разбух почти на килобайт при оптимизации по размеру. Весь код примерно на том-же уровне остался (обычно чуть поменьше) но библиотечные функции разбухли. Таже резко пошустревшая memcpy() стала около 190 байтов, вместо нескольких десятков. printf() раза в полтора увеличился. Пришлось писать свои - результат почти 2K экономии.
Кстати, у линкера нет доставшего xlink-овского глюка
http://electronix.ru/forum/index.php?showt...10&hl=xlink
заполняет все под завязку.
ichecksum работает хреново sad.gif в непонятных случаях ломается на границах ASM и 'С' секций даже если они стык в стык линкуются. Вопит, что содержит неинициализированные области а при попытке ему-же приказать заполнить находит зону стартовый адрес которой на единицу меньше конечного smile.gif sad.gif. Обойти не удалось sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 16 2007, 07:56
Сообщение #42


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(zltigo @ Jul 16 2007, 01:26) *
Естественно при использовании стандартных форматов не выбрасывает. Фича была неплохая, но не общепринятая.

Я только одного не понял! Зачем они поддержку UBPROF вообще удалили, ну добавили бы EABI как опцию.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 16 2007, 09:16
Сообщение #43


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Посомтрел я несколько листингов от 5.10 для THUMB, код почти один в один, за исключением стека 5.10 больше ригистров сохраняет, зачем непонятно! например R0 зачем то сохраняет в стеке в начале функции. Внутри перед вложенным вызовом зачем то сохраняет LR (который уже сохранен в начале) в итоге код от 5.10 больше и стека больше жрет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 16 2007, 10:22
Сообщение #44


Гуру
******

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



Цитата(KRS @ Jul 16 2007, 12:16) *
Посомтрел я несколько листингов от 5.10 для THUMB, код почти один в один...

И пользуюсь и смотрел только ARM. Коды отличаются очень сильно (смотрел, естественно функции о много десятков строк).
Единственно, где THUMB используется это загрузчик, но там код не смотрел - только размеры функций по листингу. Одни чуть меньше другие чуть больше. Единственная функция которая выперла на 5.10 по размеру на пяток процентов побольше это AES дешифратор.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ZMax
сообщение Jul 16 2007, 13:33
Сообщение #45





Группа: Новичок
Сообщений: 12
Регистрация: 4-07-07
Пользователь №: 28 883



подскажите , пожалуйста , ссылочку на мигрейшн гид...
и кто нибудь может помочь с рихтованием асмовского кода под новую версию ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 16 2007, 14:01
Сообщение #46


Гуру
******

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



Цитата(ZMax @ Jul 16 2007, 16:33) *
подскажите , пожалуйста , ссылочку на мигрейшн гид...

На надпись Help в меню IDE нажмите, дальше там все ответы на оба вопроса черным по белому.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Nikola Kirov
сообщение Aug 25 2007, 05:51
Сообщение #47


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



A keygen для 5.10 уже сделан?
Может кто то на фтп положит?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 14:17
Сообщение #48


Гуру
******

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



Цитата(Nikola Kirov @ Aug 25 2007, 08:51) *
A keygen для 5.10 уже сделан?

Пост #26


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 27 2007, 05:27
Сообщение #49


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(KRS @ Jul 16 2007, 12:16) *
Посомтрел я несколько листингов от 5.10 для THUMB, код почти один в один, за исключением стека 5.10 больше ригистров сохраняет, зачем непонятно! например R0 зачем то сохраняет в стеке в начале функции. Внутри перед вложенным вызовом зачем то сохраняет LR (который уже сохранен в начале) в итоге код от 5.10 больше и стека больше жрет.


Это он выполняет рекомендацию по выравниванию стека по 8 байт...

Плохо что отключить нельзя вроде...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 27 2007, 05:54
Сообщение #50


Гуру
******

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



Цитата(Rst7 @ Aug 27 2007, 08:27) *
Это он выполняет рекомендацию по выравниванию стека по 8 байт...

Скорее что-то не то. Выравнивание стека достигается действиями с указателем стека а не тормозными push/pop.


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


Местный
***

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



Поставил 5.1
Перестало работать с H-JTag 0.4.4, кроме этого, не завелся сходу проект под FreeRTOS.

Вечером поставлю макгрегора и попробую еще раз.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 08:22
Сообщение #52


Гуру
******

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



Цитата(Kitsok @ Aug 28 2007, 11:16) *
кроме этого, не завелся сходу проект под FreeRTOS.

Удивили-бы БЕЗМЕРНО, если-бы "завелся" smile.gif. Отличия в ASM и Линкере абсолютно не совместимые,
да и по сишному тексту есть немного, но иногда тяжелых отличий - читайте сопроводительную документацию.


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


Местный
***

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



Цитата(zltigo @ Aug 28 2007, 12:22) *
Удивили-бы БЕЗМЕРНО, если-бы "завелся" smile.gif. Отличия в ASM и Линкере абсолютно не совместимые,
да и по сишному тексту есть немного, но иногда тяжелых отличий - читайте сопроводительную документацию.


wink.gif Весьма вероятно, что я буду подождать, пока выйдет FreeRTOS c примерами, компилябельными под 5.10 wink.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 10:20
Сообщение #54


Гуру
******

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



Цитата(Kitsok @ Aug 28 2007, 13:08) *
wink.gif Весьма вероятно, что я буду подождать, пока выйдет FreeRTOS c примерами, компилябельными под 5.10 wink.gif

Совершенно неразумно. Если Вы сами отпортировать под 5.10 (а в примерах собственно портировать особо нечего и нюансов просто никаких) не сможете, то дальше будет хуже - будете ждать, пока все кажущиеся Вам нужными исходники не оппортируют?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Nikola Kirov
сообщение Aug 28 2007, 10:21
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



H-JTag 0.4.4 заработал у меня.

Попробовал с AT91Sam7S64.
Но ест проблем при отладке в асемблер файл когда работаем из флаш. Если в опции дебагера галочка Stack установлена невозможно пошаговое изполнение.
Цитата
[RDI Error: 148] No more breakpoints left for this type of memory (RAM/ROM)
Tue Aug 28 13:08:48 2007: Unable to execute: driver error.

а если не установлена такой проблем ест при пошаговой отладки C кода.

Такой проблем с Raven-a нет.

Но ето не проблем H-JTag-a.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 10:38
Сообщение #56


Гуру
******

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



Если кому интересно, то в приложении асемблерные стартапы и линковочные скрипты одного и того же проекта под 4.xx и 5.10 проект 'мусорный', поскольку живет у меня исключительно для проверки всякой всячины на демоборде с LPC2294. Но начинал я пробы именно с него.
По собственно FreeRTOS никаких дополнительных правок не было (кроме нескольких portability warnings в собственно порте, которые естественно надо подавлять).
Прикрепленные файлы
Прикрепленный файл  510.rar ( 8.77 килобайт ) Кол-во скачиваний: 234
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 28 2007, 12:16
Сообщение #57


Местный
***

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



zltigo

Я прошу прощения за столь ламерский вопрос, но... нельзя ли просто взять cstartup.s из 5.10 и заменить им cstartup.S79 из 4.xx?

На первый взгляд я не обнаружил сильных различий.

Кроме этого, я глянул на .xcf и на .icf и в общем-то, по сути (не по формату, естественно) не обнаружил никаких различий....
Go to the top of the page
 
+Quote Post
Pasha 111
сообщение Aug 28 2007, 20:23
Сообщение #58


Частый гость
**

Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515



zltigo, возвращаясь к вопросу кей гена (просьба не бить)...
Поставил 30-тидневную версию 5.10, через месяц работать прекратила. После этого удалил ИАР, все файлы из c:\windows\system32, очистил реестр. Попробовал поставить с новым 30-тидневным ключем - не помогло. Уникряк, после "лечения", убивает ИАР: при загрузке проекта ИАР вылетает с ошибкой (вываливается в отладчик визуал студии). Изначально поставить иар с номером и ключем, который генерирует иарид и иаркг не получилось, т.к. он делает только 06_WIN, а нужен, судя по всему, 12_WIN (пробовал сувать ему 06 - пишет, что ключ не от того продукта).
Нужно проект быстрее заканчивать, а тут такое дело... sad.gif
P.S. Шаманство в реестре, в C:\Program Files\Common Files\IAR Systems и в менеджере лицензий тоже эффекта не доло.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 20:43
Сообщение #59


Гуру
******

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



Цитата(Kitsok @ Aug 28 2007, 15:16) *
но... нельзя ли просто взять cstartup.s из 5.10 и заменить им cstartup.S79 из 4.xx?

Имеется ввиду базовые штатные? Если Вы ранее ими без изменения пользовались, то скорее всего они для такого использования и предназначены smile.gif. Я сам на них и не cмотрел, ибо не устраивают совсем.
Цитата
На первый взгляд я не обнаружил сильных различий.

Собственно сам ASM код содержит только несколько изменений при инициализации стеков, остальное правится достаточно очевидно почитывая Migration Guide
Цитата
Кроме этого, я глянул на .xcf и на .icf и в общем-то, по сути (не по формату, естественно) не обнаружил никаких различий....

Аналогично вышесказанному. Но отличия принципиальные, для реального применения, тем не менее есть sad.gif - попробуйте, например, для LPC зарезервировать место под Protect Key, посчитать контрольные суммы, получить адрес конца программы,.... Механически это не переносится, а первое удалось сделать исключительно через заднепроходное отверстие.



Цитата(Pasha 111 @ Aug 28 2007, 23:23) *
он делает только 06_WIN, а нужен, судя по всему, 12_WIN (пробовал сувать ему 06 - пишет, что ключ не от того продукта).

НУ ТАК ИСПРАВЬТЕ ВНУТРИ KEYGEN СТРОЧКУ xx_WIN НА ЛЮБОЙ НУЖНЫЙ WIN И ПОЛУЧИТЕ НУЖНЫЙ KEYGEN.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Pasha 111
сообщение Aug 28 2007, 21:19
Сообщение #60


Частый гость
**

Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515



Цитата
НУ ТАК ИСПРАВЬТЕ ВНУТРИ KEYGEN СТРОЧКУ xx_WIN НА ЛЮБОЙ НУЖНЫЙ WIN И ПОЛУЧИТЕ НУЖНЫЙ KEYGEN.

Что значит внутри? Там ведь 2 .exe файла?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 21:27
Сообщение #61


Гуру
******

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



Цитата(Pasha 111 @ Aug 29 2007, 00:19) *
Там ведь 2 .exe файла?

Я понятия не имею о чем Вы говорите, сходите, на FTP, может и возьмите один файл и исправте. Ну поиском попользуйтесь, ну нельзя-же, право каждый раз по появлении очередногоо релиза из пустого в порожнее переливать....


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


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #63


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #64


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

Группа: Свой
Сообщений: 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
Сообщение #65


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #67


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #69


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #71


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #72


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 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
MALLOY2
сообщение Aug 31 2007, 09:26
Сообщение #74


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Нашел 2 голюка, прошу проверить smile.gif, глюки не критичны.

1) у меня свой в проекте файл х.icf, если этот файл править из визарда в среде (я првил START ROM)и нажать save, то исчезает точка с запятой в конце файла что приводит к ошибке smile.gif, потом ручками ставить надо smile.gif


2) второй глюк связан с симулятором. У меня стратап состоит из 2 файлов, в первом инициализация стеков, памяти и переход на майн, во втором вектора прерываний и обработчики прерываний. Привожу немного кода первого файла. Всякие дефайны выкинул для экономии места.
Код
       MODULE       ?program_start
    SECTION       IRQ_STACK:DATA:NOROOT(3)
                SECTION       FIQ_STACK:DATA:NOROOT(3)
                SECTION       UND_STACK:DATA:NOROOT(3)
                SECTION       ABT_STACK:DATA:NOROOT(3)        
                SECTION       SVC_STACK:DATA:NOROOT(3)
                SECTION       CSTACK:DATA:NOROOT(3)
                SECTION    .text:CODE:NOROOT(2)
                PUBLIC     __iar_program_start
                EXTERN  ?main
                CODE32
                

__iar_program_start:
        NOP  ; execute some instructions to access CPU registers after wake
        NOP  ; up from Reset, while waiting for OSC stabilization
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
; --- Initialize Stack pointer registers
      ; Enter each mode in turn and set up the stack pointer
           MSR     CPSR_c, #Mode_FIQ|I_Bit|F_Bit   ; No interrupts
           LDR     SP, =SFE(FIQ_STACK)

           MSR     CPSR_c, #Mode_IRQ|I_Bit|F_Bit   ; No interrupts
           LDR     SP, = SFE(IRQ_STACK)

           MSR     CPSR_c, #Mode_ABT|I_Bit|F_Bit   ; No interrupts
           LDR     SP, = SFE(ABT_STACK)
    
           MSR     CPSR_c, #Mode_UND|I_Bit|F_Bit   ; No interrupts
        LDR     SP, = SFE(UND_STACK)

           MSR     CPSR_c, #Mode_SVC|I_Bit|F_Bit   ; No interrupts
           LDR     SP, = SFE(SVC_STACK)
; --- Set bits 17-18 (DTCM/ITCM order bits) of the Core Configuration Control Register
        MOV     r0, #0x60000            
        MCR     p15,0x1,r0,c15,c1,0
; --- Now change to USR/SYS mode and set up User mode stack,
        MSR     CPSR_c, #Mode_SYS              ; IRQs & FIQs are now enabled
        LDR     SP, = SFE(CSTACK)
; --- Now enter the C code
        B       ?main   ; Note : use B not BL, because an application will
                        ; never return this way
        LTORG
        END


2 файл с векторами
Код
IMPORT  __iar_program_start
        SECTION    .intvec:CODE(2)    ;<- эта секция расположена с 0 адреса         
        CODE32
;*******************************************************************************
;                      Import exception handlers
;*******************************************************************************
        IMPORT  Undefined_Handler
        IMPORT  SWI_Handler
        IMPORT  Prefetch_Handler
        IMPORT  Abort_Handler
        IMPORT  FIQ_Handler
;*******************************************************************************
;            Export Peripherals IRQ handlers table address
;*******************************************************************************

;*******************************************************************************
;                        Exception vectors
;*******************************************************************************

        LDR     PC, Reset_Addr
        LDR     PC, Undefined_Addr
        LDR     PC, SWI_Addr
        LDR     PC, Prefetch_Addr
        LDR     PC, Abort_Addr
        NOP                            ; Reserved vector
        LDR     PC, IRQ_Addr
    LDR    PC, FIQ_Addr
;*******************************************************************************
;               Exception handlers address table
;*******************************************************************************
Reset_Addr      DCD     __iar_program_start
Undefined_Addr  DCD     UndefinedHandler
SWI_Addr        DCD     SWIHandler
Prefetch_Addr   DCD     PrefetchAbortHandler
Abort_Addr      DCD     DataAbortHandler
                DCD     0               ; Reserved vector
IRQ_Addr        DCD     IRQHandler
FIQ_Addr    DCD     FIQ_Handler       ; Branch to fiq_handler

       LTORG

       END


Глюк заключается в метке __iar_program_start, если ее переименовать на __my_start (в обеих файлах естественно smile.gif ), то в симуляторе всь код игнорируется и переход делается на __iar_program_start, правда откуда он берется загадка, но если посмотрить листинг с 0 адреса то все нормально, стоит переход на мой стартап, при загрузке проца все нормально работает, а в симуляторе код игнорируется после чего отладчик начинает ругаться что стек начинается с нулевого адреса и т.д. то есть симулятор не выполнил мой сартап код. Вот такая фишка, а может где я чего не понял ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 31 2007, 09:36
Сообщение #75


Гуру
******

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



Цитата(MALLOY2 @ Aug 31 2007, 12:26) *
Глюк заключается в метке __iar_program_start

Это типа не баг,это фича sad.gif у них такая появилась - имя, блин, зарезервировали...
Тоже наступил, потом уже документ прочитал.
Цитата
правда откуда он берется загадка...

Линкуется 'готовый'.

По поводу первого бага - не скажу, визардами никогда не пользуюсь - своих ошибок, если надо, сделаю smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Aug 31 2007, 09:55
Сообщение #76


Местный
***

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



Цитата(zltigo @ Aug 31 2007, 12:04) *
Нет, конечно.

Нет - нельзя пользоваться теперь, нельзя было пользоваться раньше, неправильно задавать начало-конец памяти напрямую в startup.s?
Цитата
Нет, конечно.

Нет - это не связано с переходами между thumb и arm?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Aug 31 2007, 10:05
Сообщение #77


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
По поводу первого бага - не скажу, визардами никогда не пользуюсь - своих ошибок, если надо, сделаю


я тоже не пользуюсь, но так как линкер порубали и править теперь там толком нечего, решил визарт попробывать и вот грабли smile.gif.

Еще блин потратил 2 дня что бы прилинковать 3 бинарных файла к проэкту, раскажу мож кому пригодится smile.gif. В версии 4.х в линк файле можно было задать такую строку
Код
--image_input= "Путь к файлу", SYMBOL, SEGMENT

Сейчас такую фичу естесно не принимает, выход вставлять эту строку в
Project -> Options -> Linker -> Extra Option, снимаем галочку и вставляем подобные команды.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 31 2007, 10:19
Сообщение #78


Гуру
******

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



Цитата(MALLOY2 @ Aug 31 2007, 13:05) *
но так как линкер порубали и править теперь там толком нечего

Ну Вы не правы - линкер вполне управляем и синтаксис приятнее (правда кое-что из документированного у меня не сработало sad.gif ) и не хуже прежднего, ну разве только некоторые, в общем-то несвойственные линкеру функциии, теперь binutils и другие приблуды выполняют.


Цитата
Сейчас такую фичу естесно не принимает, выход вставлять эту строку в
Project -> Options -> Linker -> Extra Option, снимаем галочку и вставляем подобные команды.

ну и куда их wizard дальше вставляет? smile.gif - в тот-же скрипт. Ну а вообще правильнее пользовать абсолютно переносимый вариант с конвертацией в массив с последующей компиляцией и линковкой в нужное место.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Aug 31 2007, 10:56
Сообщение #79


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
ну и куда их wizard дальше вставляет? - в тот-же скрипт.

нет он передает командной строкой smile.gif сам скрип не подерживает такой фичи, хотя должна быть команда INCBIN помоему так кличется но м мануале гдето читал что она не потдержана.

Цитата
Ну а вообще правильнее пользовать абсолютно переносимый вариант с конвертацией в массив с последующей компиляцией и линковкой в нужное место.


да както файлы прошивок FPGA и DSP не красиво выглядят в массивах учитывая их размер smile.gif да и время забирает это преобразование....
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 31 2007, 12:25
Сообщение #80


Гуру
******

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



Цитата(MALLOY2 @ Aug 31 2007, 13:56) *
да както файлы прошивок FPGA и DSP не красиво выглядят в массивах учитывая их размер smile.gif да и время забирает это преобразование....

Ну время это ерунда. А я вообще такие вещи просто приклеиваются в конец при заливке и если их несколько разыскиваются по сигнатуре.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Aug 31 2007, 13:18
Сообщение #81


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



--image_input это и делает smile.gif
Go to the top of the page
 
+Quote Post
starmos
сообщение Sep 1 2007, 09:07
Сообщение #82


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-10-04
Из: Челябинск
Пользователь №: 769



Подскажите, как в IAR узнать время работы участка кода? В машинных циклах или тактах синхронизации. Не могу найти и всё. Туплю, что ли. У меня EWARM 5.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 3 2007, 06:05
Сообщение #83


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

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



Цитата(starmos @ Sep 1 2007, 13:07) *
Подскажите, как в IAR узнать время работы участка кода? В машинных циклах или тактах синхронизации. Не могу найти и всё. Туплю, что ли. У меня EWARM 5.

В Keil это есть в EWA никогда не видел.

Цитата(MALLOY2 @ Aug 31 2007, 14:05) *
Сейчас такую фичу естесно не принимает, выход вставлять эту строку в
Project -> Options -> Linker -> Extra Option, снимаем галочку и вставляем подобные команды.

У меня Linker выругался, когда я ввел туда некорректные значения
-Z(CODE)...
-Z(DATA)...
Позже я разобрался с этим вопросом.
Но по ходу дела нашел файлы с расширением .icf (подключаюся на основной странице конфигурации Linker) и там путем тупого редактирования все делается попроще, на мой взляд.
В примерах к 5.10 есть образцы, на что ссылается и Migration Guide.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 3 2007, 07:54
Сообщение #84


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Подскажите, как в IAR узнать время работы участка кода? В машинных циклах или тактах синхронизации. Не могу найти и всё. Туплю, что ли. У меня EWARM 5.

В иар в дебагере есть профайлер, view -> profiling, но в его точности у меня есть сомнения, а если еще им пользоваться не в симуляторе, а через jtag, так это вобще извращение.

Лучший способ это таймером, к примеру так
Код
unsigned int start, stop, overhead;
start = start_timer(); /* измерение времени запуска*/
stop = stop_timer();  /* таймера */
overhead = stop − start;
start = start_timer();
//вызов функции для которой делается измерение
stop = stop_timer();
printf(”cycles: %ld\n”,(unsigned long)(stop − start – overhead));
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 3 2007, 11:37
Сообщение #85


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



По поводу стартовой метки __iar_program_start эта фича отключается из среды
linker -> library-> override default programm entry, дальше можно свою создать или сказать что бы как в приложеннии было.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 3 2007, 12:01
Сообщение #86


Гуру
******

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



Цитата(MALLOY2 @ Sep 3 2007, 14:37) *
По поводу стартовой метки __iar_program_start эта фича отключается из среды

Да это ясно, что линкеру указывается любая. Для чего поменяли не понятно smile.gif а почему при экспорте старого проекта старый default не используют еще более не понятно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
starmos
сообщение Sep 5 2007, 12:11
Сообщение #87


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-10-04
Из: Челябинск
Пользователь №: 769



Спасибо за помощь. Но я тоже нашел. В симуляторе, Registers - CPU Registers - CYCLECOUNTER.

Зато теперь другая фигня. Софт отлажен, шъётся нормально - не работает. Т.е. в симуляторе всё нормально, в железе никак. Микроконтроллер LPC2214. Может было подобное? Я подозреваю компоновщик, но как проверить? Зашиваю через последовательный порт.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 5 2007, 12:42
Сообщение #88


Гуру
******

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



Цитата(starmos @ Sep 5 2007, 15:11) *
Софт отлажен, шъётся нормально - не работает.
P0.14 куда подтянут?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 5 2007, 20:27
Сообщение #89


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Спасибо за помощь. Но я тоже нашел. В симуляторе, Registers - CPU Registers - CYCLECOUNTER.


Только нестоит забывать что этот "CYCLECOUNTER" на самом деле "COMANDCOUNTER" то есть счетчик команд, и с циклами (точнее с временем выполнения никак не связан), а это значит что толку от него никакого.

Цитата
Я подозреваю компоновщик, но как проверить?


Если не вериш своим глазам, точнее тому что написал в линкере, тогда включи генерацию map файла и посмотрю что где лежит.



Цитата
Цитата
(starmos @ Sep 5 2007, 15:11)
Софт отлажен, шъётся нормально - не работает.

P0.14 куда подтянут?


еще добавлю, по адресу 0x0000 0014 правельная контрольная сумма стоит ?

P.S. может я что путаю и в 22хх уже нету этой заморочки.
Go to the top of the page
 
+Quote Post
starmos
сообщение Sep 6 2007, 03:50
Сообщение #90


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-10-04
Из: Челябинск
Пользователь №: 769



P0.14 подтянут куда надо smile.gif Я уже проверил.
Контрольная сумма правильная, считал из памяти и проверил.
Интересную вещь обнаружил, но ещё не осмыслил. Программа запускается из утилиты LPC 2000 Flash Utility, там есть Flash Buffer, а там кнопка Run from Address. Так вот этой кнопкой запускается, а сбросом нет.


PS. CYCLECOUNTER - счётчик циклов именно. Значения совпадают с view -> profiling.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 6 2007, 04:37
Сообщение #91


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

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



Цитата(starmos @ Sep 6 2007, 07:50) *
P0.14 подтянут куда надо smile.gif Я уже проверил.
Контрольная сумма правильная, считал из памяти и проверил.
Интересную вещь обнаружил, но ещё не осмыслил. Программа запускается из утилиты LPC 2000 Flash Utility, там есть Flash Buffer, а там кнопка Run from Address. Так вот этой кнопкой запускается, а сбросом нет.
PS. CYCLECOUNTER - счётчик циклов именно. Значения совпадают с view -> profiling.

Тут есть такой интересный момент. Утилита Philips программирования ISP сама счтает дополнительный код и подставляет в 0x14. Для корректного подсчета надо, чтобы там был 0 (иначе облом).
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 6 2007, 05:46
Сообщение #92


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
PS. CYCLECOUNTER - счётчик циклов именно. Значения совпадают с view -> profiling.


А вы запишите в порт значение 3 раза подряд и посмотрите сколько циклов покажет smile.gif, он покажет 3.


P.S. считать циклы в ядрах с конвеером, да еще когда куча перефирии работающей на разной частоте проктически невозможно, слишком много всяких параметров надо вводить в симулятор.
Go to the top of the page
 
+Quote Post
starmos
сообщение Sep 6 2007, 06:36
Сообщение #93


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-10-04
Из: Челябинск
Пользователь №: 769



Запустил. Как обычно в таких случаях чувствуешь себя глупцом. Просто есть контроллер внешней памяти. И надо ещё подтягивать при сбросе выводы BOOT1 и BOOT0.
Go to the top of the page
 
+Quote Post
Vict59
сообщение Sep 21 2007, 08:16
Сообщение #94


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 22-06-04
Из: Москва
Пользователь №: 109



Насколько я понял для переформатирования .elf файла, который делает линковщик, в raw binary .bin надо использовать objcopy utility из комплекта binutils.
Вопрос: как проще делать эту операцию, я не нашел в IDE IAR автоматизации сего процесса?
Может быть вопрос "чайницкий" - но я пока только перехожу от avr к arm. :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Sep 21 2007, 08:28
Сообщение #95


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

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



Цитата(Vict59 @ Sep 21 2007, 12:16) *
Насколько я понял для переформатирования .elf файла, который делает линковщик, в raw binary .bin надо использовать objcopy utility из комплекта binutils.
Вопрос: как проще делать эту операцию, я не нашел в IDE IAR автоматизации сего процесса?

Интересно, а чем Вас Hex или mot не устраивают (они получаются Converter и содержат информацию о размещении)?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 21 2007, 08:44
Сообщение #96


Гуру
******

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



Цитата(Vict59 @ Sep 21 2007, 11:16) *
не нашел в IDE IAR автоматизации сего процесса?

Postbuild опишите в проекте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Vict59
сообщение Sep 21 2007, 16:27
Сообщение #97


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 22-06-04
Из: Москва
Пользователь №: 109



Цитата
Интересно, а чем Вас Hex или mot не устраивают (они получаются Converter и содержат информацию о размещении)?

Насколько я понял для SAM-BA нужен .bin, можно наверное программировать и по другому, но для начала попробую на SAM-BA.

Цитата
Postbuild опишите в проекте.

Спасибо попробую разобраться!
Go to the top of the page
 
+Quote Post
Vict59
сообщение Sep 21 2007, 17:36
Сообщение #98


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 22-06-04
Из: Москва
Пользователь №: 109



Ну вот попробовал. Командная строка типа:
objcopy.exe -O binary -S file.out file.bin
работает, а когда пробую записать Post-build Command line:
$PROJ_DIR$\Release\Exe\objcopy.exe -O binary -S file.out file.bin
Выбрасывает ошибку. Видимо все-таки я не врубаюсь.... :-(
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 21 2007, 18:21
Сообщение #99


Гуру
******

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



Цитата(Vict59 @ Sep 21 2007, 20:36) *
работает, а когда пробую записать Post-build Command line:
$PROJ_DIR$\Release\Exe\objcopy.exe -O binary -S file.out file.bin

- Для начала кокого-то путь objcjpy зачем-то указан и причем явно не правильно
- А что проект называется 'file' smile.gif ?
Цитата
Выбрасывает ошибку. Видимо все-таки я не врубаюсь.... :-(

Немедленно найдите smile.gif, куда он ее выбросил и разберитесь на что жалуется....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Vict59
сообщение Sep 21 2007, 19:37
Сообщение #100


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 22-06-04
Из: Москва
Пользователь №: 109



Цитата
- Для начала кокого-то путь objcjpy зачем-то указан и причем явно не правильно

Точно! Ошибся!
Цитата
- А что проект называется 'file'

file - это файл, который я хочу превратить в .bin
Цитата
Немедленно найдите , куда он ее выбросил и разберитесь на что жалуется....

Куда он ее кинул я пока не разобрался, но все-таки в Post-build Command line заработала строка:
$TOOLKIT_DIR$\bin\objcopy.exe -O binary -S $PROJ_DIR$\Release\Exe\file.out $PROJ_DIR$\Release\Exe\file.bin
СПАСИБО ЗА ПОДДЕРЖКУ! smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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