Полная версия этой страницы:
Переход с AVR на ARM
Господа разработчики, программисты... Просидел достаточно долго на AVR-ах (в основном - 8535), теперь встал вопрос ребром о переходе на работу с ARM. Посоветуйте литературу и ПО для этого дела. Понимаю, что описал сумбурно, но пока ничего не могу сказать точнее.
IgorKossak
Jan 10 2005, 07:22
Для начала пробежитесь, хотя бы бегло, по этому форуму.
Потом можете посетить конференцию
Сахара (обратите внимание на FAQ).
Потом можете сходить на сайт
IAR Systems, где есть описание их продукта и куча полезных ссылок.
Недорогие кристаллы делают:
Philips,
Atmel,
Motorola Freescale,... ищите "ARM7".
Для начала пока хватит.
Я начинал немного по-другому:
1) www.arm.com - смотреть на arm7tdmi
2) www.gnuarm.org - качать и читать.
3) Сайты производителей конктретных процессоров. Мой выбор пал на Philips.
Есть книженция ARM System-on-Chip Architecture.pdf
Она скорее для конструкторов мк, но тем не менее.
Есть в муле, может и тут на фтп есть
Спасибо за ответы. Завтра (вернее, уже сегодня) на работе точнее узнаю, какие (чьи) контроллеры использовать собираются.
Да, кстати, я раньше все время в IAR-е сидел. И не грустил с ним. С ARMами вижу, кроме IAR еще пакет есть, просмотрел форум. Все советуют IAR. Вернее, не все, но в сумме так получается. И как я понял, в новой версии (4-ке) есть еще и отладчик или типа того.
Да, и в догонку, пока не уснул на моей любимой клавиатуре. Новая версия (или так, которая нужна для работы с ARM) есть здесь на FTP. Просто для успокоения души - так или нет.
IgorKossak
Jan 11 2005, 07:40
Цитата(HSA @ Jan 11 2005, 03:15)
Да, и в догонку, пока не уснул на моей любимой клавиатуре. Новая версия (или так, которая нужна для работы с ARM) есть здесь на FTP. Просто для успокоения души - так или нет.
Так!
(Не в смысле "Так - Ющенко!", а в смысле "всё есть и самое свежее").
Отладчик можно сделать заглянув на Сахару.
Если не трудно, подскажите какой-нибудь "простенький" контроллер, без особых наворотов и крутизны. Просто, чтобы разобраться и расковыряться. То, что советовали посмотреть - много чего пересмотрел. Только книги (файла) ARM System-on-Chip Architecture.pdf пока не нашел.
IgorKossak
Jan 12 2005, 08:31
HSAСовсем без наворотов не бывает, а вот из дешёвых и доставабельных это LPC2106 от Philips.
Хотел книгу приложить, да не удалось (17МБ!)
maxsys
Jan 12 2005, 11:22
Цитата(HSA @ Jan 10 2005, 08:37)
Господа разработчики, программисты... Просидел достаточно долго на AVR-ах (в основном - 8535), теперь встал вопрос ребром о переходе на работу с ARM. Посоветуйте литературу и ПО для этого дела. Понимаю, что описал сумбурно, но пока ничего не могу сказать точнее.
Если нужна замена именно контроллера - тогда LPC всякие. Если нужна операционка, дисковая система, встроенные DMA, поддержка дисплея, когда нужен процессор, а не контроллер - можно начать с AT91xxx.
Серокой
Jan 12 2005, 11:50
Атмел хорош, да вот свои AT91 с ремэпом замутил так, что без поллитра не разобраться.
IgorKossak
Jan 12 2005, 14:46
Цитата(Серокой @ Jan 12 2005, 14:50)
Атмел хорош, да вот свои AT91 с ремэпом замутил так, что без поллитра не разобраться.

Зато серия SAM продекларирована как самая дешёвая в мире. А с ремепом всётаки можно разобраться.
Evgeny_CD
Jan 13 2005, 10:30
Цитата(IgorKossak @ Jan 12 2005, 12:31)
HSAСовсем без наворотов не бывает, а вот из дешёвых и доставабельных это LPC2106 от Philips.
Хотел книгу приложить, да не удалось (17МБ!)

Что за книга-то?
IgorKossak
Jan 13 2005, 11:42
Цитата(Evgeny_CD @ Jan 13 2005, 13:30)
Та, о которой
clazz говорил - ARM System-on-Chip Architecture.pdf
one_man_show
Jan 13 2005, 23:04
К сказанному коллегами добавлю: для быстрого "перехода" или въезжания в тему очень поможет помимо литературы живое железо. На форуме есть
темы, в которых можно получить ссылки на места, где живут недорогие платки для разных АРМов (от $10 до $30).
IgorKossak
Jan 14 2005, 08:59
Цитата(Evgeny_CD @ Jan 13 2005, 13:30)
На местном ftp есть эта книга (ARM System-on-Chip Architecture.pdf) и много другой информации.
Сижу с даташитами, собрался уже взять контроллер типа LPC. Бедища какая-то тут с IAR 3.40a. Поставил его, как тут говорят, немного полечил. Все лечение прошло на Ура, все файлы нашлись, рапортует, сто все отлично. Но запускаю IAR, там при компиляции пишется, сколько осталось жить. Что делать, уже голову сломал... Может, кто сталкивался и знает...
IgorKossak
Jan 17 2005, 10:55
Цитата(HSA @ Jan 17 2005, 11:57)
Сижу с даташитами, собрался уже взять контроллер типа LPC. Бедища какая-то тут с IAR 3.40a. Поставил его, как тут говорят, немного полечил. Все лечение прошло на Ура, все файлы нашлись, рапортует, сто все отлично. Но запускаю IAR, там при компиляции пишется, сколько осталось жить. Что делать, уже голову сломал... Может, кто сталкивался и знает...
Сталкивался, знаю. Это сообщение (о сроках жизни) можно проигнорировать. Если Вы лечили продукт и видели сообщения об успешности лечения, значит так оно и есть.
Борода вся в том, что для интереса перевел часы на сутки вперед. Запустил IAR, убедился, что счетчик работает и отстукивает дни. Осталось всего 27. И жизня кончается.

)) Могу добавить, что устанавливал все под W2000. Знаю тех, у кого стоит это дело на 98 и XP. Неужели 2000 не может с крякой жить!
serg_am
Jan 17 2005, 15:41
Буквально тока что столкнулся с той фигней - писал на IAR для атмел 8535-mega32, с месяц назад решил перебраться на ARM...
мне хватило чтоб разобраться - даташит на кристалл (LPC2106), отладочная плата, соотв-но IAR-овский компилятор... ну и конечно этот фрум и на сахаре очень помог...
тонкостей у арма довольно много по сравнению с авр-ом, но в принципе довольно много общего, разобраться можно..
IgorKossak
Jan 17 2005, 15:52
HSA
У меня 2000 тоже.
Наплюйте на счётчик. Когда он достигнет 0 всё будет по прежнему работать.
Для интереса переведите часы на 27 суток вперёд и проверьте.
serg_am
Jan 17 2005, 15:54
Цитата(HSA @ Jan 17 2005, 16:28)
Борода вся в том, что для интереса перевел часы на сутки вперед. Запустил IAR, убедился, что счетчик работает и отстукивает дни. Осталось всего 27. И жизня кончается.

)) Могу добавить, что устанавливал все под W2000. Знаю тех, у кого стоит это дело на 98 и XP. Неужели 2000 не может с крякой жить!
Во избежание, лучше найди посвежее IAR - 4.11 или хотя бы 4.10, помнится в прошлый раз, когда у меня закончилась евалюшен версия IAR пришлось переставлять систему
Цитата(serg_am @ Jan 17 2005, 18:41)
Буквально тока что столкнулся с той фигней - писал на IAR для атмел 8535-mega32, с месяц назад решил перебраться на ARM...
мне хватило чтоб разобраться - даташит на кристалл (LPC2106), отладочная плата, соотв-но IAR-овский компилятор... ну и конечно этот фрум и на сахаре очень помог...
тонкостей у арма довольно много по сравнению с авр-ом, но в принципе довольно много общего, разобраться можно..
Первый вопрос, не знаешь, как эту бороду побороть с IAR.
Я для себя тоже Philips выбрал. тоже серию 21хх. Может ты подскажешь или кто еще знает, где можно найти/купить/заказать отладочную плату под контроллер из этой серии. Оговорюсь только, что желательно, если возможно, чтобы стоимость была в пределах 150-200 зеленых рублей и за эту сумму что-нибудь понаворотистее, насколько возможно. В принципе, в инете есть везде разное, но что выбрать для того, чтобы разобраться. А на Сахаре я был, там мне столько по телефону наговорили.... Общий смысл - не продадим.
И еще. Как я понимаю, контроллер уже впаян в плату, на ней можно все отладить и отработать. Ну а если необходимо уже взять контроллер и использовать его в своей схеме... Для этого нужен какой-то отдельный программатор или вешается навеска на свою плату, чтобы его прошить. Если так, то каким софтом это делается. Понимаю, что вопросы могут показаться глупыми, но... уж извиняюсь... Начинать все равно нужно.
serg_am
Jan 17 2005, 16:20
Я пользуюсь IAR 4.10, под win 2000, честно залеченый, стоит больше 30 дней - ни каких проблем...
Отладочную плату брал в КТЦ-МК, по моему в мега-электронике я тоже видел.. там уже напаян rs-232, джамперы для перехода в режим программирования и jtag..
программа прошивки лежит на сайте philips - работает отлично (гораздо лучше чем прошивалки AVR-ов)
IgorKossak
Jan 18 2005, 07:24
Цитата(HSA @ Jan 17 2005, 11:57)
... Бедища какая-то тут с IAR 3.40a...
Действительно, почему бы Вам на более свежую версию не перейти?
Там единственно что - это не поддерживается uC/OS в C-SPY, а всё остальное намного удобнее.
IgorKossak
Jan 18 2005, 07:27
Цитата(HSA @ Jan 17 2005, 18:59)
... Может ты подскажешь или кто еще знает, где можно найти/купить/заказать отладочную плату под контроллер из этой серии. Оговорюсь только, что желательно, если возможно, чтобы стоимость была в пределах 150-200 зеленых рублей ...
Я уже рекомендовал на этом форуме плату AX4510 есть и много других. Действительно много, поэтому не цитирую. Поищите на форуме.
Цитата(serg_am @ Jan 17 2005, 19:20)
честно залеченый
А не боитесь, что честно залеченное ПО проставляет в ваш бинарник некую сигнатуру, которая сводит к нулю как Ваши усилия так и усилия всей фирмы.
IgorKossak
Jan 20 2005, 11:01
Цитата(dch @ Jan 20 2005, 01:29)
А не боитесь, что честно залеченное ПО проставляет в ваш бинарник некую сигнатуру, которая сводит к нулю как Ваши усилия так и усилия всей фирмы.
Делал минимально возможный проект и тщательно анализировал полученный бинарник (точнее - .hex). Никаких сигнатур, только то, что нужно.
Другое дело когда поведение программы узнаётся по "подчерку", но это уже высший пилотаж и почти не доказуемо.
Всем доброго времени суток.
Пропал на долго, наконец есть возможность спросить.
С платой вроде определился. Вопрос такой. Где взять схемку для программирования LPC-шного контроллера (2106). Ведь с отладочной платы его, зашитого не выпаять... Если есть, то скиньте ссылку на схему. И может, есть возможность спаять для этого программатор. Или взять какой дешевый (что было бы лучше). Ну и софт под него. Под программатор.
Цитата(HSA @ Jan 26 2005, 12:48)
Всем доброго времени суток.
Пропал на долго, наконец есть возможность спросить.
С платой вроде определился. Вопрос такой. Где взять схемку для программирования LPC-шного контроллера (2106). Ведь с отладочной платы его, зашитого не выпаять... Если есть, то скиньте ссылку на схему. И может, есть возможность спаять для этого программатор. Или взять какой дешевый (что было бы лучше). Ну и софт под него. Под программатор.
Он может через свой UART программироваться, софт родной филипсовкий у них на сайте. Еще можно через JTAG в ИАРе например есть возможность. так что никакого программатора специального не надо.
Цитата(KRS @ Jan 26 2005, 13:25)
Цитата(HSA @ Jan 26 2005, 12:48)
Всем доброго времени суток.
Пропал на долго, наконец есть возможность спросить.
С платой вроде определился. Вопрос такой. Где взять схемку для программирования LPC-шного контроллера (2106). Ведь с отладочной платы его, зашитого не выпаять... Если есть, то скиньте ссылку на схему. И может, есть возможность спаять для этого программатор. Или взять какой дешевый (что было бы лучше). Ну и софт под него. Под программатор.
Он может через свой UART программироваться, софт родной филипсовкий у них на сайте. Еще можно через JTAG в ИАРе например есть возможность. так что никакого программатора специального не надо.
Полез на сайт за софтиной.
Значит, если есть контроллер, то могу через преобразователь уровня его подключить на COM компа, свободно скачать софтину и залить все, что создано в IAR. Надеюсь, я правильно понял.
Преобразователь - микросхемка MAX232, все как и с AVR. Или там еще заморочки?
IgorKossak
Jan 26 2005, 13:18
Цитата(HSA @ Jan 26 2005, 14:32)
...Или там еще заморочки?
Обратите внимание в документации на те участки, где описывается состояние выводов Reset, DBGSEL и P0.14 во время программирования, частоту кварца (если загрузчик старый, то частота должна быть не выше 10 МГц по-моему), а также на версию загрузчика (если она старая, то с сайта производителя можно скачать новую).
Вот, вроде бы, и все нюансы.
Цитата(IgorKossak @ Jan 26 2005, 16:18)
Цитата(HSA @ Jan 26 2005, 14:32)
...Или там еще заморочки?
Обратите внимание в документации на те участки, где описывается состояние выводов Reset, DBGSEL и P0.14 во время программирования, частоту кварца (если загрузчик старый, то частота должна быть не выше 10 МГц по-моему), а также на версию загрузчика (если она старая, то с сайта производителя можно скачать новую).
Вот, вроде бы, и все нюансы.
1.
На сайте нашел:
ARM Flash Utility(date 2004-12-22)
ARM Flash Utility(date 2004-12-22)
LPC2000 Boot Loader update via ISP(date 2004-08-02)
LPC2000 Flash Utility(date 2004-03-01)
Или это входит во Flash Utility, или я совсем не там или не то искал.
2.
По поводу кварца не знал, спасибо. Иначе поставил бы 30Мг - это максимум, насколько я понимаю. И сразу еще вопрос. В контроллере два UART. Через какой из-них можно программировать его я не нашел (может - плохо искал).
3.
Если на контроллер навесить кварц с кондюками, подключить MAX, то этого будет достаточно, чтобы залить в него HEX?
IgorKossak
Jan 26 2005, 17:23
Исчерпывающие ответы смотрите в разделе FAQ на
Сахаре. (Нет смысла всё цитировать)
Цитата(IgorKossak @ Jan 26 2005, 20:23)
Исчерпывающие ответы смотрите в разделе FAQ на
Сахаре. (Нет смысла всё цитировать)
Спасибо, уже посмотрел.
Пришелец
Jan 28 2005, 16:38
Основы очень понятно изложены тутъ
Troosh
Хочу поюзать LPC,
просветите по этому поводу (интересует очень процесс заливки софта и отладки). Насколько я понял, там нет возможности непосредственно залить софт во флеш через wigler, нужно какой то бутлоадер модифицировать, это так? Т.е. не так просто как для AVR?
Цитата
...не так просто как для AVR?
Если интересует только заливка программ, без пошаговой отладки, то нет проблем. В LPC уже записан bootloader. Вы просто подключаете LPC к PC по последовательному каналу и заливаете в LPC свою программу. Программа для PC есть на сайте Philips.
Все проще простого. Через wigler не пробовал.
Про пугающее некоторых сообщение "Time Limited licese....", остающееся после применения лекарств.
Цитата
Запустил IAR, убедился, что счетчик работает и отстукивает дни.
Просмотрел тему, про то, что на него не надо обращать внимание есть, а вот если удалить папку "C:\Program Files\Common Files\IAR Systems", то сообщение "Time Limited licese...." исчезнет сразу нету.
IgorKossak
Feb 7 2005, 07:42
Цитата(Popkov @ Feb 3 2005, 15:36)
... Насколько я понял, там нет возможности непосредственно залить софт во флеш через wigler, нужно какой то бутлоадер модифицировать, это так? Т.е. не так просто как для AVR?
В последней (и предпоследней) версии EWARM есть возможность и заливать через JTAG Wiggler и отлаживать (в том числе пошагово и с точками останова) программу из внутренней Flash.
В документации на EWARM этот процесс подробно описан.
Будут нюансы - спрашивайте.
По поводу последней версии... Сам начал разбираться с LPC. Правда приходится ковыряться сразу с 2114, 2294. В последней версии (4.20) IARa есть примеры для того, чтобы врубиться + приятно составлены подключаемые библиотеки + полно datasheet-ов. В принципе, это мое мнение пока, но разобраться и начать можно и нужно. А дальше переходить на другие фирмы, если LPC чем-то не устраивает. Ядро ведь у всех ARM7 одинаковое, потом проще будет.
Цитата(Серокой @ Jan 12 2005, 14:50)
Атмел хорош, да вот свои AT91 с ремэпом замутил так, что без поллитра не разобраться.

Я тоже так думал, оказалось намного проще
Извините меня за мою невнимательность. Где можно найти наипростейшие примеры программ на C++ для AT91SAM7 (для IAR EW ARM 4.31A)? т.е. наименьшая программа для того чтобы зажечь и погасить один светодиод. После AVR очень трудно разобраться хоть чуточку с такой штукой...
Цитата(AVR @ Jun 6 2006, 03:35)

Где можно найти наипростейшие примеры программ на C++ для AT91SAM7 (для IAR EW ARM 4.31A)?
1.C++ пока для мигания :-) забудьте.
2.В комплекте поставки IAR EWARM, естественно.
Цитата(zltigo @ Jun 6 2006, 11:32)

Цитата(AVR @ Jun 6 2006, 03:35)

Где можно найти наипростейшие примеры программ на C++ для AT91SAM7 (для IAR EW ARM 4.31A)?
1.C++ пока для мигания :-) забудьте.
2.В комплекте поставки IAR EWARM, естественно.
Честно говоря, там ничегошеньки не понятно.
Мне для примера хотя бы увидеть программу, которая бы устанавливала в единицу все разряды.
Сергей Борщ
Jun 8 2006, 21:45
Цитата(AVR @ Jun 9 2006, 00:29)

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

Код
#include <stdint.h>
#include <ioAT91SAM7S64.h>
void main() {
AT91C_BASE_PIOA->PIO_PER = (uint32_t)-1; // all outputs are IO
AT91C_BASE_PIOA->PIO_OWER = (uint32_t)-1; // direct write to all pins allowed
for(;;) {
AT91C_BASE_PIOA->PIO_ODSR = 0; // all outputs = 0
AT91C_BASE_PIOA->PIO_ODSR = (uint32_t)-1; // all outputs = 1
AT91C_BASE_PIOA->PIO_SODR = (1<<0); // PIOA.0 = 1
AT91C_BASE_PIOA->PIO_CODR = (1<<0); // PIOA.0 = 0
}
}
примерно так...
Спасибо.
Как увидеть содержимое регистров в EW-ARM? т.е. как по мере выполнения программы у меня меняется AT91C_BASE_PIOA->PIO_PDSR и любой другой регистр? Регистры общего назначения, статуса при отладке отображаются, но непонятно где посмотреть все прочие регистры. Добаления в список watch не помогает...
В IAR все спец.регистры показываются там же, где и обычные. Ничего добавлять/настраивать не нужно.
Сергей Борщ
Jun 9 2006, 08:33
Цитата(AVR @ Jun 9 2006, 02:05)

Спасибо.
Как увидеть содержимое регистров в EW-ARM? т.е. как по мере выполнения программы у меня меняется AT91C_BASE_PIOA->PIO_PDSR и любой другой регистр? Регистры общего назначения, статуса при отладке отображаются, но непонятно где посмотреть все прочие регистры. Добаления в список watch не помогает...
Или в том же окне (там в верхней части окна есть выпадающее меню периферии-где написано CPU registers) или открыть еще одно такое же (View->Registers) и в нем выбрать какую периферию смотреть.
Спасибки, всё нашел
Ещё вот вопросец есть: есть ли какой-нибудь симулятор, чтобы тестировать работу контроллера в окружении периферии? Например, в Proteus'е есть некоторые LPC21xx контроллеры, скоро ли там появятся и AT91?..
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.