Хотелось бы узнать, какой средой лучше пользоваться для написания программ для ARM на языке ассемблера.
Только если это возможно, с режимом отладки (где видно, что сейчас процессор выполняет и видны содержимые регистров).
Большое спасибо заранее!
На асме можно писать под что угодно, в том числе и под АРМ. В конце концов, в 1960-70-е на асме писались проекты в миллионы строк, ну а уж несколько тысяч или даже десятков тысяч -- это не шибко большая проблема. Целесообразно ли -- это уже другой вопрос, но если речь идёт об освоении микроконтроллера, то как раз лучше на асме: на ЯВУ его толком не почувствуешь.На asm-е под ARM не пишут. Максимум - вставки. В ARM-ах ОСи поднимают и фреймворками пользуются.
Ну, насчёт порядка Вы загнули, хотя сложней, и существенно. Впрочем, разобраться с этим проблемы не составляет. Со своим первым АРМом -- ATMEL AT91SAM9261 -- я сладил примерно за день (включая установку и настройку ПО), ну а уже с NXP LPC2478 -- за пару часов, хотя фирмы разные, и настройка прилично отличается, т.е. документацию пришлось всё равно читать внимательно.Как уже сказали, инициализация контроллера на порядок сложнее, чем в во всяких восьмибитниках
Неправда это."АРМ" для "Си" целево не разрабатывались, и вся изящность программирования его команд является именно "АСМ"-ом
О, мосье знает толк в извращениях!Так я лучше на него Форт портирую
С эклипсой да, пляски те ещё... Но вот что у Вас с кейлом не сложилось, понять не могу: всё просто, заработало сразу... Бесплатная версия тоже есть, отличается от платной лишь объёмом кода (до 32 Кбайт). Понятно, что и кряки без проблем находятся, но это уже другая темаYS писал(а):Осваивал ARM, пользовал Keil, пользовал IAR, пользовал Eclipse.
Keil - мудрено и запутано.
Eclipse (+gcc) - вообще мозг сломать можно.
IAR - то, что надо. Просто, удобно, без лишних наворотов. Удобный и приятный инструмент. Хорошие демоверсии с ограничением только по коду - даже кряк искать не надо. Думаю даже и для AVR на него перейти... Хотя пока для них использую AVR Studio.
Ну, я для применения в наших агрегатах пишу свою операционку на асме. По словам тех, кто ковырялся с другими типа ОСРВ, я уже в целом обошёл по функционалу и FreeRTOS, и всякие коммерческие (вроде той же RTX или как её, что с кейлом идёт), но их я даже не рассматривал: они крайне убоги по функционалу, а я стремлюсь в конечном итоге сделать ядро (подчеркну: именно ядро, а не всю систему вообще), по функциональности не уступающее линуху/винде, но при этом остающееся достаточно лёгким и быстрым, подходящим для задач реального времени. Вот прикладные программы, а также системные, но режима пользователя, а не режима ядра, писаться будут на Аде, там на асме действительно замучаешься. Си не использую ни в каком виде, разве что если быстро надо что-то попробовать по готовым примерам, а такое крайне редко бывает: обычно проще разобраться по документации, чем по быдлокоду в этих примерах...А и правда, для ARM в целом лучше С. Писать полностью на асме слишком утомительно. А чтобы почувствовать железо, достаточно первое время не использовать стандартных библиотек.
Ну, если у человека есть терпение и настойчивость, можно и с АРМа, но там надо намного больше понять до того, как начнёт получаться что-то практическое. Сразу сесть и начать, вообще говоря, не получится. Ну или получится, но из серии "Освой Дельфи за 24 часа": натыкать-то кнопочки научиться можно, а вот понимать, как вся эта хрень работает...Если же до этого опыта работы с МК вообще не было, то да, лучше начать с асма, но какого-нибудь более простого семейства. Классика - AVR, более экзотично, но тоже вполне - MSP430. Для начала "с нуля" ARM не подходит категорически; к ARM надо приходить с чего-то более простого. Это архитектура на вырост.
Вот это как раз неправда. Нет там никакой заточки ни под что конкретное. Просто, в отличие от "настоящих" АРМов, у Кортех-М при сбросе из заранее заданных ячеек памяти грузятся указатель стека и адрес точки входа, в результате чего в простых проектах можно всё написать на языке высокого уровня, вообще без ассемблера. Ну а то, что этим языком в 99% случаев является Си, не означает ещё, что процессор под Си заточен.Неправда это.Например, Cortex-M3 заточен именно под C.