Среда разработки для ARM

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Среда разработки для ARM

Сообщение Arlleex »

Добрый вечер!
Хотелось бы узнать, какой средой лучше пользоваться для написания программ для ARM на языке ассемблера.
Только если это возможно, с режимом отладки (где видно, что сейчас процессор выполняет и видны содержимые регистров).
Большое спасибо заранее! :))
Не умеешь - не берись, но не взявшись не научишься...
Реклама
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Среда разработки для ARM

Сообщение ibiza11 »

Я пользуюсь IAR ARM. Содержимое регистров можно посмотреть на вкладке View. Только отлаживать прерывания в нем не получается у меня.
Ой! На асме... Сорри. Если интересно почитать, выдели пост мышкой. Не советую на асме ARMы прогать :))) С 8битками прокатывает нормально, но с 32биткой сложновато. Времени тратится раза в 4 больше чем на Си, а итог на несколько килобайт меньше кода, чем на Си. Сейчас в ARMах памяти достаточно, чтобы этот запас в несколько килобайт оставить на "огрехи компилятора". К тому же есть оптимизация по размеру кода и по скорости выполнения. Очень удобно в общем. Это раньше каждый байт берегли, сейчас нет смысла, поскольку память быстро дешевеет и все больше и жирнее память в контроллерах.
Ставим плюсы: )
Реклама
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Re: Среда разработки для ARM

Сообщение asteroid7 »

Stalker46, какой ARM выбрал?
На asm-е под ARM не пишут. Максимум - вставки. В ARM-ах ОСи поднимают и фреймворками пользуются.
Заходишь на сайт производителя камней, скачиваешь примеры. В примерах должны быть проекты заточенные под конкретные IDE/компиляторы. Выбирай из них.

p.s. прикинь/набросай код на asm :) инициализации и моргание битом порта...
Furius
Встал на лапы
Сообщения: 114
Зарегистрирован: Пн ноя 29, 2010 10:13:46

Re: Среда разработки для ARM

Сообщение Furius »

Пользуюсь Keil. Отладчик там вроде нормальный, все видно.
А полностью на ассемблере писать под арм "довольно" сложно. :)
Как уже сказали, инициализация контроллера на порядок сложнее, чем в во всяких восьмибитниках.
Реклама
Эиком - электронные компоненты и радиодетали
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Среда разработки для ARM

Сообщение SII »

Keil. ИМХО, куда удобнее и вменяемее, чем IAR (у последней, например, тот же транслятор ассемблера у меня неадекватно реагировал на какую-то из русских букв в комментариях), и не требует жутких плясок с бубном, чтобы заставить работать, как Eclipse и прочее свободное ПО.

asteroid7
На asm-е под ARM не пишут. Максимум - вставки. В ARM-ах ОСи поднимают и фреймворками пользуются.
На асме можно писать под что угодно, в том числе и под АРМ. В конце концов, в 1960-70-е на асме писались проекты в миллионы строк, ну а уж несколько тысяч или даже десятков тысяч -- это не шибко большая проблема. Целесообразно ли -- это уже другой вопрос, но если речь идёт об освоении микроконтроллера, то как раз лучше на асме: на ЯВУ его толком не почувствуешь.

Furius
Как уже сказали, инициализация контроллера на порядок сложнее, чем в во всяких восьмибитниках
Ну, насчёт порядка Вы загнули, хотя сложней, и существенно. Впрочем, разобраться с этим проблемы не составляет. Со своим первым АРМом -- ATMEL AT91SAM9261 -- я сладил примерно за день (включая установку и настройку ПО), ну а уже с NXP LPC2478 -- за пару часов, хотя фирмы разные, и настройка прилично отличается, т.е. документацию пришлось всё равно читать внимательно.
Реклама
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: Среда разработки для ARM

Сообщение radio-kot »

У KEIL еще и симулятор РЕАЛЬНЫЙ а не как в IAR.
Будете проходить мимо- проходите!
Реклама
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Re: Среда разработки для ARM

Сообщение Pavel V. »

А я рекомендую Eclipse + GCC + GDB. Один раз настроить и больше бед не знать. GCC для ARM весьма хорош.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Среда разработки для ARM

Сообщение SII »

Содержимое регистров он отслеживает посредственно даже на максимальной оптимизации, а посему регулярно генерирует совершенно ненужные инструкции. Впрочем, я смотрел лишь для интереса (поскольку Си/Си++ ненавижу и пишу на них только под страхом смертной казни -- т.е. практически никогда) и не сравнивал с другими трансляторами, в частности, с кейловским.
Ethereal
Родился
Сообщения: 16
Зарегистрирован: Ср янв 19, 2011 00:34:56

Re: Среда разработки для ARM

Сообщение Ethereal »

Ура ! Я тоже пишу на Сях только если припрут.
А так - на ассемблере или на самодельном Форте.
Сейчас придется писать для Conexant CX24303, так там тоже ARM core.
Так я лучше на него Форт портирую, что уже не раз делал на другие платформы, чем от Си блевать.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Среда разработки для ARM

Сообщение Arlleex »

Собственно, я понимаю, что Си хорош для АРМ... Но, вам не кажется, что я о другом спрашивал?)
Нужна СРЕДА РАЗРАБОТКИ для arm-микроконтроллеров (в частности) at91sam7 на языке ассемблера!
Мне надо изучить эти микроконтроллеры, а не писать пока что на них уже готовые программы.
Не умеешь - не берись, но не взявшись не научишься...
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Среда разработки для ARM

Сообщение SII »

Все перечисленные среды поддерживают не только Си, но и ассемблер. Кейл вроде как "полуофициально" поддерживается самой АРМ (во всяком случае, на странице средств разработки АРМовского сайта будет отсылка на Кейл), но при желании можно работать и в ИАР, и с ГНУсным ассемблером (без среды или разобравшись с Эклипсой)...
Аватара пользователя
Dimone
Прорезались зубы
Сообщения: 244
Зарегистрирован: Ср сен 08, 2010 11:42:19
Контактная информация:

Re: Среда разработки для ARM

Сообщение Dimone »

Конечно "Кейл", во-первых он уже пренадлежит "АРМ"у, во-вторых там прекрасный отладчик как для эмуляции, так и для "жтаг"-а
п.с. в отличии от "АВР"-, "АРМ" для "Си" целево не разрабатывались, и вся изящность программирования его команд является именно "АСМ"-ом, для любителей все-же структурного подхода , "АРМ" компенсрует избыточность компиляторов своей мощей...
Serhio
Прорезались зубы
Сообщения: 249
Зарегистрирован: Вс авг 15, 2010 20:42:44
Откуда: Тюмень
Контактная информация:

Re: Среда разработки для ARM

Сообщение Serhio »

Привет всем. А кто-нибудь использует среду IAR Embedded Workbench IDE for ARM? Как она вобще?
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Среда разработки для ARM

Сообщение SII »

Я смотрел, но сразу отверг: транслятор ассемблера в комментариях (!) неадекватно реагирует на некоторые русские буквы, так что от такого ожидать в дальнейшем? Кроме того, он откровенно убог. Поэтому использую КЕИЛ (только ассемблер, который там получше, чем у ИАРа, хотя тоже далеко не фонтан; компоновщик и саму среду с отладчиком; Си не использую) + ГНАТ (транслятор Ады, входящий в состав ГЦЦ).
Serhio
Прорезались зубы
Сообщения: 249
Зарегистрирован: Вс авг 15, 2010 20:42:44
Откуда: Тюмень
Контактная информация:

Re: Среда разработки для ARM

Сообщение Serhio »

Дайте пожалуйста ссылочку на keil. Первоначально я тоже за нее был
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Среда разработки для ARM

Сообщение Meteor »

Такую ссылку?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Serhio
Прорезались зубы
Сообщения: 249
Зарегистрирован: Вс авг 15, 2010 20:42:44
Откуда: Тюмень
Контактная информация:

Re: Среда разработки для ARM

Сообщение Serhio »

Забыл сказать- ссылку для скачивания. Там, я понял, описание этой среды разработки.
я сейчас качаю вот отсюда http://www.zagsoft.ru/soft/3964-keil-re ... -v412.html
пойдет такая? я только начал осваивать МК, поэтому заранее извиняюсь за примитивные вопросы
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Среда разработки для ARM

Сообщение YS »

Осваивал ARM, пользовал Keil, пользовал IAR, пользовал Eclipse.

Keil - мудрено и запутано.
Eclipse (+gcc) - вообще мозг сломать можно.
IAR - то, что надо. Просто, удобно, без лишних наворотов. Удобный и приятный инструмент. Хорошие демоверсии с ограничением только по коду - даже кряк искать не надо. Думаю даже и для AVR на него перейти... Хотя пока для них использую AVR Studio.

А и правда, для ARM в целом лучше С. Писать полностью на асме слишком утомительно. А чтобы почувствовать железо, достаточно первое время не использовать стандартных библиотек.

Если же до этого опыта работы с МК вообще не было, то да, лучше начать с асма, но какого-нибудь более простого семейства. Классика - AVR, более экзотично, но тоже вполне - MSP430. Для начала "с нуля" ARM не подходит категорически; к ARM надо приходить с чего-то более простого. Это архитектура на вырост.
"АРМ" для "Си" целево не разрабатывались, и вся изящность программирования его команд является именно "АСМ"-ом
Неправда это. :) Например, Cortex-M3 заточен именно под C.
Так я лучше на него Форт портирую
О, мосье знает толк в извращениях! :)))
Разница между теорией и практикой на практике гораздо больше, чем в теории.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Среда разработки для ARM

Сообщение SII »

YS писал(а):Осваивал ARM, пользовал Keil, пользовал IAR, пользовал Eclipse.

Keil - мудрено и запутано.
Eclipse (+gcc) - вообще мозг сломать можно.
IAR - то, что надо. Просто, удобно, без лишних наворотов. Удобный и приятный инструмент. Хорошие демоверсии с ограничением только по коду - даже кряк искать не надо. Думаю даже и для AVR на него перейти... Хотя пока для них использую AVR Studio.
С эклипсой да, пляски те ещё... Но вот что у Вас с кейлом не сложилось, понять не могу: всё просто, заработало сразу... Бесплатная версия тоже есть, отличается от платной лишь объёмом кода (до 32 Кбайт). Понятно, что и кряки без проблем находятся, но это уже другая тема :)
А и правда, для ARM в целом лучше С. Писать полностью на асме слишком утомительно. А чтобы почувствовать железо, достаточно первое время не использовать стандартных библиотек.
Ну, я для применения в наших агрегатах пишу свою операционку на асме. По словам тех, кто ковырялся с другими типа ОСРВ, я уже в целом обошёл по функционалу и FreeRTOS, и всякие коммерческие (вроде той же RTX или как её, что с кейлом идёт), но их я даже не рассматривал: они крайне убоги по функционалу, а я стремлюсь в конечном итоге сделать ядро (подчеркну: именно ядро, а не всю систему вообще), по функциональности не уступающее линуху/винде, но при этом остающееся достаточно лёгким и быстрым, подходящим для задач реального времени. Вот прикладные программы, а также системные, но режима пользователя, а не режима ядра, писаться будут на Аде, там на асме действительно замучаешься. Си не использую ни в каком виде, разве что если быстро надо что-то попробовать по готовым примерам, а такое крайне редко бывает: обычно проще разобраться по документации, чем по быдлокоду в этих примерах...
Если же до этого опыта работы с МК вообще не было, то да, лучше начать с асма, но какого-нибудь более простого семейства. Классика - AVR, более экзотично, но тоже вполне - MSP430. Для начала "с нуля" ARM не подходит категорически; к ARM надо приходить с чего-то более простого. Это архитектура на вырост.
Ну, если у человека есть терпение и настойчивость, можно и с АРМа, но там надо намного больше понять до того, как начнёт получаться что-то практическое. Сразу сесть и начать, вообще говоря, не получится. Ну или получится, но из серии "Освой Дельфи за 24 часа": натыкать-то кнопочки научиться можно, а вот понимать, как вся эта хрень работает...
Неправда это. :) Например, Cortex-M3 заточен именно под C.
Вот это как раз неправда. Нет там никакой заточки ни под что конкретное. Просто, в отличие от "настоящих" АРМов, у Кортех-М при сбросе из заранее заданных ячеек памяти грузятся указатель стека и адрес точки входа, в результате чего в простых проектах можно всё написать на языке высокого уровня, вообще без ассемблера. Ну а то, что этим языком в 99% случаев является Си, не означает ещё, что процессор под Си заточен.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Среда разработки для ARM

Сообщение Satyr »

Эклипс - это жутко неповоротливое и тяжелое аморфное нечто подо все сразу, но ни под что конкретно неудобное. аналогично с GCC - компиляторы под все сразу, но с оптимизацией под чтото конкретное - большие вопросы.
Keil какой то игрушечный - шустрое начало по заранее проложенным рельсам, но шаг в сторону считается побегом - никаких настроек.
IAR по интерфейсу среды разработчика где то в конце 90х годов застрял, но привыкнуть и не очень страдать можно. Но настройкам, гибкости, эффективности компилятора - видимо лучший, причем с приличным отрывом.

Так что порекомендовал бы эклипс-гцц фанатам опенсоурс и прочих горепингвиней, Keil начинающим, IAR людям с опытом и хорошим пониманием вопроса.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»