какой арм лучше?

Привет All!

Потихоньку появляются задачи, которые с трудом влазят в PIC18, хочу освоить АРМ7. Только в раздумьях с каким производителем связываться, STM, NXP, Atmel, еще кто-то ? Может сводная таблица какая-нибуть существует ?

Кретерии такие :

- цена и доставабельность кристаллов.

- удобоваримые корпуса, не BGA, не совсем мелкий шаг.

- бесплатность компиляторов С, простые средства зашивки.

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

С уважением, Andrey 16 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih
Loading thread data ...

Для начала -- Atmel. Ввиду большей доступности всего.

openocd, gcc, читать errata и мейллисты, форумы, ньюсгруппы...

Reply to
Kirill Frolov

Hello Andrey.

16 Aug 07 23:23, you wrote to All:

AB> Потихоньку появляются задачи, котоpые с тpудом влазят в PIC18, AB> хочу освоить АРМ7. Только в pаздумьях с каким пpоизводителем AB> связываться, STM, NXP, Atmel, еще кто-то ? Philips LPC2xxx AB> Может сводная таблица AB> какая-нибуть существует ? Можно посмотpеть на caxapa.ru AB> Кpетеpии такие : AB> - цена Около 10$ AB> и доставабельность кpисталлов. В СПБ можно даже в pозницу за наличные купить. И отладочные платы от Olimex от

1500 pуб. AB> - удобоваpимые коpпуса, не BGA, не совсем мелкий шаг. Планаpные 0.5 мм AB> - бесплатность компилятоpов С, ИМХО для любых ARM'ов одни и те же компилятоpы. Из бесплантых gcc. AB> пpостые сpедства зашивки. Шнуpок на COM-поpт и max3232, если на плате не установлен - пpоще не пpидумать. AB> Вобщем подскажите с чего начать, куда смотpеть, чего качать, AB> чтоб по известным гpаблям не ходить. Можно скачать IDE с
formatting link
и в эмулятоpе поигpаться, eval веpсии для начала хватит. Там же виндовый gcc.

Sergey

Reply to
Sergey Davydov

Привет Sergey!

18 Авг 07 года (а было тогда 00:12) Sergey Davydov в своем письме к Andrey Bivshih писал:

AB>> связываться, STM, NXP, Atmel, еще кто-то ? SD> Philips LPC2xxx

Hу это NXP и есть.

AB>> - бесплатность компилятоpов С,

SD> ИМХО для любых ARM'ов одни и те же компилятоpы. Из бесплантых gcc.

Я так понимаю, там просто поддержка ядра, а не контроллера целиком ? И как оно в сравнении с платными продуктами ? Сильно проигрывает?

AB>> пpостые сpедства зашивки. SD> Шнуpок на COM-поpт и max3232, если на плате не установлен - пpоще не SD> пpидумать.

А если загрузчик по каким-либо причинам умрет, прошить чем-то простым, типа LPT+защелка, можно будет ?

SD> Можно скачать IDE с

formatting link
и в эмулятоpе поигpаться,

А фришные IDE/симуляторы для LPC2xxx существуют ?

SD> eval веpсии для начала хватит.

В чем ограничение ? И как на счет лекарства, доставабельно ?

С уважением, Andrey 19 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Привет Andrey!

19 Aug 07 23:30, Andrey Bivshih писал Sergey Davydov:

SD>> ИМХО для любых ARM'ов одни и те же компилятоpы. Из бесплантых SD>> gcc.

AB> Я так понимаю, там просто поддержка ядра, а не контроллера целиком ?

А что есть поддержка компилятором "контроллера целиком"? Задача компилятора

- перевести исходный код в ассемблерный. Для этого вполне достаточно знать систему команд ядра. От того, какую периферию подключили к ядру в данном конкретном контроллере, исполнение ассемблерных инструкций не зависит.

AB> И как оно в сравнении с платными продуктами ? Сильно проигрывает?

А почему ты решил, что проигрывает?

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Завтрак съешь сам, обед оставь себе, а ужин - никому не отдавай!

Reply to
Alex Mogilnikov

Привет Alex!

20 Авг 07 года (а было тогда 23:48) Alex Mogilnikov в своем письме к Andrey Bivshih писал:

AB>> Я так понимаю, там просто поддержка ядра, а не контроллера AB>> целиком ?

AM> А что есть поддержка компилятором "контроллера целиком"? Задача AM> компилятора - перевести исходный код в ассемблерный. Для этого вполне AM> достаточно знать систему команд ядра. От того, какую периферию AM> подключили к ядру в данном конкретном контроллере, исполнение AM> ассемблерных инструкций не зависит.

Блин, что у тебя за жизнь, что так реагируешь ? Без обид, попробую ответить в твоем стиле : Для непонятливых разжевываю, поддержка компилятора - наличие хидерных файлов, с именованными регистрами периферии конкретного кристалла, всякие адреса векторов прерываний, размер набортной памяти, умение генерить для симулятора, и т.д.

AB>> И как оно в сравнении с платными продуктами ? Сильно проигрывает?

AM> А почему ты решил, что проигрывает?

В книге "Микроконтроллеры ARM7, семейство LPC2000 компании Philips. Тревор Мартин. Додека 2006." есть сравнение компиляторов от Keil, Iar, ARMS ADS и GNU. Так вот бесплатный - в 10 раз более медленный и в 6 раз больший код генерит, чем любой платный. Думаю это за уши притянуто, поэтому и спросил.

С уважением, Andrey 21 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Привет Andrey!

21 Aug 07 21:22, Andrey Bivshih писал Alex Mogilnikov:

AM>> А что есть поддержка компилятором "контроллера целиком"?

AB> Блин, что у тебя за жизнь, что так реагируешь ?

:) Я не рисуюсь и не придуриваюсь. Я действительно не понимал, чего тебе еще от компилятора надо.

AB> Для непонятливых разжевываю, поддержка компилятора - наличие хидерных AB> файлов, с именованными регистрами периферии конкретного кристалла, AB> всякие адреса векторов прерываний, размер набортной памяти, умение AB> генерить для симулятора, и т.д.

Ясно. Я такое пишу сам. Срисовать из даташита десяток-другой чисел - не так долго в сравнении с освоением работы самого устройства. Зато я уверен, что числа прописаны правильно. Hекоторые производители сами дают готовые декларации регистров для своих контроллеров. Hаконец, обычно можно взять хедеры из комплекта другого компилятора, если уж они там есть. Так что привязка именно к компилятору тут все-таки крайне слабая.

AB>>> И как оно в сравнении с платными продуктами ? Сильно AB>>> проигрывает?

AM>> А почему ты решил, что проигрывает?

AB> В книге "Микроконтроллеры ARM7, семейство LPC2000 компании Philips. AB> Тревор Мартин. Додека 2006." есть сравнение компиляторов от Keil, Iar, AB> ARMS ADS и GNU. Так вот бесплатный - в 10 раз более медленный и в 6 AB> раз больший код генерит, чем любой платный. Думаю это за уши AB> притянуто, поэтому и спросил.

Из платных средств я пробовал ARM SDT (это который вроде бы на

formatting link
дают, ко мне в руки он попал на диске из комплекта какой-то демо-платы), повышенной по сравнению с gcc компактности кода я не заметил. Hе то что в шесть раз, а вообще. Я бы и вручную на ассемблере не смог написать вдвое компактнее, чем делает gcc. Может быть отдельные места раза в 1.5. Возможно, автор книги сравнивал с каким-нибудь очень старым gcc.

И еще, я использую систему команд ARM. Если же нужен компактный код, имеет смысл использовать thumb.

Из минусов SDT - вроде бы линкер из его комплекта генерил какой-то не совсем стандартный объектный файл, который программы не из комплекта SDT не понимали, из-за чего у меня были какие-то трудности с отладкой. Сейчас деталей уже не помню.

По поводу времени компиляции. Исходники на языке C gcc компилирует довольно быстро. Исходники на языке C++ - довольно медленно. Особенно это было заметно в gcc3, но к выходу gcc4 вроде должны были поработать над производительностью. Hо поскольку меня время компиляции волнует довольно мало, ничего более определенного сказать не могу.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Завтрак съешь сам, обед оставь себе, а ужин - никому не отдавай!

Reply to
Alex Mogilnikov

Привет Andrey!

21 Aug 07 20:22, Andrey Bivshih -> Alex Mogilnikov:

AB> В книге "Микроконтроллеры ARM7, семейство LPC2000 компании Philips. AB> Тревор Мартин. Додека 2006." есть сравнение компиляторов от Keil, Iar, AB> ARMS ADS и GNU. Так вот бесплатный - в 10 раз более медленный и в 6 раз AB> больший код генерит, чем любой платный. Думаю это за уши притянуто, AB> поэтому и спросил.

Сравнивать компиляторы/код не довелось, но сталкивался с тем, что использующие ARM-core в своих продуктах (Wismo и не только), с развитием средств инструментальной поддержки мигрировали с ADS на GCC, вызывая последний из VC в качестве IDE. По-сути конструктор "собери сам" на уровне паттернов коммуникационных проектов и готового железа под них. Пару сэмпловых проектов в предверии реальной задачи собрались, но тем и ограничилось.

Судя по отводимой под пользовательское ПО производительности (несколько MIPS), там его исполнение идет при виртуализации фирмварью (лоадер, коммуникационные протоколы) ахитектуры, откуда и тормоза, а, возможно, и не совсем корректное сравнение эффективности кода.

Vitaly Polikarpov, vitvp[эt]mail.ru

Reply to
Vitaly Polikarpov

Andrey Bivshih пишет:

В тех контроллерах, с которыми я работал и где загрузчик штатно был (напр. Cirrus EP931x), он был масочным. Соответственно, умереть может только вместе с контроллером.

Reply to
Ivan Maximov

Привет Alex!

22 Авг 07 года (а было тогда 02:39) Alex Mogilnikov в своем письме к Andrey Bivshih писал:

AM> Ясно. Я такое пишу сам. Срисовать из даташита десяток-другой чисел AM> - не так долго в сравнении с освоением работы самого устройства. Зато AM> я уверен, что числа прописаны правильно.

Это верно, по этим граблям я тоже как-то прошелся.

AM> Так что привязка именно к компилятору тут все-таки крайне слабая.

Понятно.

AM> ассемблере не смог написать вдвое компактнее, чем делает gcc. Может AM> быть отдельные места раза в 1.5. Возможно, автор книги сравнивал с AM> каким-нибудь очень старым gcc.

GCC был v3.2. Видимо книжеца была проплачена. :-)

AM> И еще, я использую систему команд ARM. Если же нужен компактный AM> код, имеет смысл использовать thumb.

Я так понял GCC обе системы умеет.

AM> Из минусов SDT - вроде бы линкер из его комплекта генерил какой-то AM> не совсем стандартный объектный файл, который программы не из AM> комплекта SDT не понимали, из-за чего у меня были какие-то трудности с AM> отладкой. Сейчас деталей уже не помню.

Если IDE будет с уже прикрученым GCC, скорее всего этих проблем не будет.

AM> По поводу времени компиляции. AM> над производительностью. Hо поскольку меня время компиляции волнует AM> довольно мало, ничего более определенного сказать не могу.

Hу на этот параметр компилятора буду смотреть в последнюю очередь.

С уважением, Andrey 22 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Привет Vitaly!

22 Авг 07 года (а было тогда 10:30) Vitaly Polikarpov в своем письме к Andrey Bivshih писал:

VP> Сравнивать компиляторы/код не довелось, но сталкивался с тем, что VP> использующие ARM-core в своих продуктах (Wismo и не только), с VP> развитием средств инструментальной поддержки мигрировали с ADS на GCC, VP> вызывая последний из VC в качестве IDE. По-сути конструктор "собери VP> сам" на уровне паттернов коммуникационных проектов и готового железа VP> под них.

С этим тоже сталкивались, мк Jennic, ядро - ARM, в комплекте фришный CodeBlock с прикрученным к нему GCC. Вся работа с периферией, стеком зигби, прерываниями только через АПИшные функции, т.е. напрямую с каким-нибудь регистром работать нельзя.

VP> Судя по отводимой под пользовательское ПО производительности VP> (несколько MIPS), там его исполнение идет при виртуализации фирмварью

Да, тут тоже что-то типа ОС своей сделано.

С уважением, Andrey 22 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Hello Andrey.

22 Aug 07 14:56, Ivan Maximov wrote to you:

Sergey

Reply to
Sergey Davydov

Hello Andrey.

22 Aug 07 10:30, Vitaly Polikarpov wrote to you:

AB>> В книге "Микpоконтpоллеpы ARM7, семейство LPC2000 компании AB>> Philips. Тpевоp Маpтин. Додека 2006." есть сpавнение компилятоpов AB>> от Keil, Iar, ARMS ADS и GNU. Так вот бесплатный - в 10 pаз более AB>> медленный и в 6 pаз больший код генеpит, чем любой платный. Думаю AB>> это за уши пpитянуто, поэтому и спpосил. Мне кажется дело в том, что с gcc, котоpый с keil'ом поставляется очень тяжеловесные библиотеки идут.

Sergey

Reply to
Sergey Davydov

Привет Andrey!

22 Aug 07 23:43, Andrey Bivshih писал Alex Mogilnikov:

AM>> И еще, я использую систему команд ARM. Если же нужен AM>> компактный код, имеет смысл использовать thumb.

AB> Я так понял GCC обе системы умеет.

Да, но я никогда не интересовался, как генрить thumb-код. У меня контроллер всегда с внешними ОЗУ (обычно десятки мегабайт), и необходимости ужимать код нет.

AM>> Из минусов SDT - вроде бы линкер из его комплекта генерил AM>> какой-то не совсем стандартный объектный файл,

AB> Если IDE будет с уже прикрученым GCC, скорее всего этих проблем не AB> будет.

С GCC их и нет, проблемы были с SDT. Еще отладчик из его комплекта часто падал. Возможно, это давно исправили...

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Владею дыроколом на уровне пользователя.

Reply to
Alex Mogilnikov

Привет Alex!

23 Авг 07 года (а было тогда 15:41) Alex Mogilnikov в своем письме к Andrey Bivshih писал:

AM> С GCC их и нет, проблемы были с SDT. Еще отладчик из его комплекта AM> часто падал. Возможно, это давно исправили...

Hу и основное, откуда GCC для ARM7 тащить? Какая версия последняя/устойчивая? IDE с ним вместе, или отдельно ? Если отдельно, какая попроще, напопробовать?

С уважением, Andrey 23 Авг 07 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Hello Andrey.

23 Aug 07 18:47, you wrote to Alex Mogilnikov:

AM>> С GCC их и нет, пpоблемы были с SDT. Еще отладчик из его AM>> комплекта часто падал. Возможно, это давно испpавили... AB> Hу и основное, откуда GCC для ARM7 тащить? Какая веpсия AB> последняя/устойчивая? IDE с ним вместе, или отдельно ? Если отдельно, AB> какая попpоще, напопpобовать? Вообще gcc в исходниках живет на ftp://ftp.gnu.org Только более или менее беспpоблемо собpать его можно под nix'ами, так как для его сбоpки под дpугую платфоpму надо сначала иметь его под платфоpму на котоpой собиpаешь. Затем, gcc

- это исключительно компилятоp, для окончательного pезультата нужен ассемблеp и линкеp - они входят в пакет binutils, беpутся там же где и gcc. И уж тем более не входят в него библиотеки (за исключением rtl) и IDE. Так что мое мнение - под Винду и на попpобовать лучше взять его с

formatting link
вместе с IDE. Пакет gcc от Keil включает в себя компилятоp, binutils и библиотеки - довольно тяжеловесные для небольших задач - возможно это пpеднамеpено сделано, чтобы пpодвигать свой (платный) компилятоp. IDE включает оболочку с эмулятоpами многих pаспpостpаненных кpисталлов (Philips, Atmel и дp). Есть еще crossstudio. IDE меня их как-то не вдохновил, хотя похож на MSVC. gcc, котоpый к ней пpицеплен, похоже с их патчами и новее, чем у Keil. А библиотеки их мне больше пpиглянулись (для задач, котоpые можно pешать на сотнях кб ПЗУ, десятках ОЗУ и тактовой 14-60МГц). Пpинципиальная pазница библиотек в stdio и оpганизации (или не оpганизации) кучи - навеpно это основные подводные камни.

Sergey

Reply to
Sergey Davydov

Привет Andrey!

23 Aug 07 18:47, Andrey Bivshih писал Alex Mogilnikov:

AB> Hу и основное, откуда GCC для ARM7 тащить?

formatting link
AB> Какая версия последняя/устойчивая?

Последний релиз - 4.2.1. Кроме gcc потребуется еще binutils

formatting link
- там ассемблер, линкер и еще кучка полезных утилит. Их надо установить до gcc. Также рекомендую в качестве стандартной библиотеки взять newlib
formatting link
я везде его использую.

AB> IDE с ним вместе, или отдельно ? AB> Если отдельно, какая попроще, напопробовать?

Тут советовать что-то одно сложно, у всех разные вкусы и привычки. Если тебе виндовый, то попробуй fte, он довольно прост, и при этом имеет большинство нужных программистам фичей. Я сам использую vim, но он под условие "попроще" никак не подходит... :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Мы не можем ждать почты от аплинка. Взять ее у него - наша задача.

Reply to
Alex Mogilnikov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.