Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Хочу попробовать ARM, подскажите, что для этого нужно?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Страницы: 1, 2, 3, 4, 5, 6
sonycman
Имеется опыт работы с 8 битными контроллерами ATmega.
Хочется освоить что-либо помощнее.
Надо иметь на борту АЦП, I2C, SPI и желательно ЦАП и USB.
Корпус не более QFP64 по кол-ву ног.
Пока выбор пал на LPC2142-48.

Что мне надо иметь, чтобы писать программы и шить в такой контроллер?
Какой софт/железо?
Вроде есть недорогие отладочные платы с такими контроллерами на сайте MT-System.
Не знаю только, высылают они товар по почте или нет.
defunct
Цитата(sonycman @ Jan 23 2007, 16:44) *
Пока выбор пал на LPC2142-48.
Что мне надо иметь, чтобы писать программы и шить в такой контроллер?
Какой софт/железо?

1. ULink + Keil,
2. J-Link(он же MTLink, он же JetLink) + Keil/IAR,
3. Wiggler (мутная вещь) + CW.

4. Если отладку предполагаете делать на симуляторе, то можно обойтись и встроенным в этот МК бутлоадером - заливать прошивку по UART0 тулзой Phillips Flash Utility.
SpiritDance
отладочные платы olimex на этом контроллере продаются в розницу в обоих столицах, по-моему теперь даже в чипедипе ими торговать стали.
sonycman
Цитата(defunct @ Jan 23 2007, 18:10) *
1. ULink + Keil,
2. J-Link(он же MTLink, он же JetLink) + Keil/IAR,
3. Wiggler (мутная вещь) + CW.

4. Если отладку предполагаете делать на симуляторе, то можно обойтись и встроенным в этот МК бутлоадером - заливать прошивку по UART0 тулзой Phillips Flash Utility.

Спасибо за советы!
Я живу в Тольятти, поэтому достать смогу не всё.
1. Ulink весьма дорог - в MT system 150 баксов. А Keil - среда разработки? Из сети можно скачать?
2. J-Link для меня недосягаем - $275.
3. А вот Olimex ARM-JTAG (это и есть Wiggler?) недорог. Но почему он "мутный"? И что такое CW?

Я радиолюбитель, и дорогие дебаггеры для меня недоступны. Хотя на Ulink можно при желании разориться.

Из плат выбрал пока Olimex LPC-H2148 или Olimex LPC-P2148.
Или EA-QSB-010 от Embedded Artists.
Придётся заказывать по почте, у нас такого не найти. Никто не знает подходящих магазинов?
zltigo
Цитата(sonycman @ Jan 23 2007, 17:19) *
1. Ulink весьма дорог - в MT system 150 баксов. А Keil - среда разработки? Из сети можно скачать?
2. J-Link для меня недосягаем - $275.

MT-Link ~70USD

Цитата
Придётся заказывать по почте, у нас такого не найти. Никто не знает подходящих магазинов?

Самый лучший магазин по почте это сам Olimex.
defunct
Цитата(sonycman @ Jan 23 2007, 18:19) *
3. А вот Olimex ARM-JTAG (это и есть Wiggler?) недорог. Но почему он "мутный"? И что такое CW?

"мутный" потому что сомнительная сложность и функциональность. Железо виглера включает только буфер между LPT портом и конечным устройством. Соответвенно вся функциональность выполняется программно на PC. Нормально реализована возможность работы через вигглер только в Rowley CrossWorks (CW).
SpiritDance
Цитата(sonycman @ Jan 23 2007, 18:19) *
2. J-Link для меня недосягаем - $275.

Его клоны можно приобрести за сумму порядка $70. Названия клонов вам уже дали.

Цитата(sonycman @ Jan 23 2007, 18:19) *
И что такое CW?

http://rowley.co.uk/arm/index.htm
sonycman
Насчёт MT-Link понял, спасибо.
Можно взять.

Разве Olimex высылает по почте в Россию?
Как тогда с оплатой?

А можно привети линки на крякнутый софт для ARM: CW, Keil, IAR?
sonycman
Что-то я не понял, для LPC2xxx макс. скорость SPI интерфейса равна всего-лишь 1/8 от частоты CPU? Или даже меньше?
При 60 Мгц это только 7,5 Мгц. Что-же так мало-то? А я хотел ЖКИ по SPI на 10-13 мегагерцах подключить... sad.gif

Может, мне лучше AT91SAM7S256 попробовать? Как считаете?
Andy Great
Цитата(defunct @ Jan 23 2007, 18:30) *
Цитата(sonycman @ Jan 23 2007, 18:19) *

3. А вот Olimex ARM-JTAG (это и есть Wiggler?) недорог. Но почему он "мутный"? И что такое CW?

"мутный" потому что сомнительная сложность и функциональность. Железо виглера включает только буфер между LPT портом и конечным устройством. Соответвенно вся функциональность выполняется программно на PC. Нормально реализована возможность работы через вигглер только в Rowley CrossWorks (CW).

У кого как smile.gif У меня и с Кейлом работает; пляски с бубном рулят, но ведь работает... H-JTAG - хорошая штука.
sonycman
Цитата(Andy Great @ Jan 24 2007, 00:31) *
У кого как smile.gif У меня и с Кейлом работает; пляски с бубном рулят, но ведь работает... H-JTAG - хорошая штука.


H-Jtag - это то-же самое, что и Wiggler?
GetSmart
SPI1 (в отличие от SPI0) может работать на 1/2 CPU Clock.
zltigo
Цитата(GetSmart @ Jan 24 2007, 01:12) *
SPI1 (в отличие от SPI0) может работать на 1/2 CPU Clock.

На такой скорости только на передачу sad.gif ибо из-за документированного бага с длительностью
первых клоков сам себя не видит sad.gif. В дуплексе максимум 1/4.
1/8 в slave режиме.

Цитата
Разве Olimex высылает по почте в Россию?
Как тогда с оплатой?

А слабо на кнопочку было нажать?
http://www.olimex.com/dev/index.html
http://www.olimex.com/dev/index.html
sonycman
Цитата(GetSmart @ Jan 24 2007, 03:12) *
SPI1 (в отличие от SPI0) может работать на 1/2 CPU Clock.

Вы имеете ввиду SSP? Так как SPI в LPC214x только один, и про него ясно написано - 1/8 от input clock.
А про скорость SSP в кратком даташите не говорится.
И вообще чем SSP отличается от SPI?

ЗЫ: блин, сбивают с толку "куцые" даташиты от Филипс. Пока соберёшь полное руководство...
Привык к Атмелу, когда всё, что надо в одном файле. Чем другим не пример?

Цитата(zltigo @ Jan 24 2007, 05:23) *
А слабо на кнопочку было нажать?


Да почитал я там уже:
We strongly encourage you to use your local distributor in your country for your order.
Так что смысла в этом мало. Проще в Терраэлектронике или в МТСистем заказать.
К тому же карт Виза и подобных не имею sad.gif
zltigo
Цитата(sonycman @ Jan 24 2007, 03:32) *
Привык к Атмелу, когда всё, что надо в одном файле. Чем другим не пример?

Datasheet это вполне устоявшееся форма документа и отнюдь не "как у Atmel" остальное это
"User Manual" и "Errata". В чем проблема взять хоть все три, хоть один из них, хоть Application Notes в придачу....
Цитата
и про него ясно написано - 1/8 от input clock.

Словосочетание "input clock" не о чем задуматься не заставило?
Цитата
И вообще чем SSP отличается от SPI?

В следующий раздел после SPI назывется SSP - там и написано smile.gif.
Alex03
Цитата(defunct @ Jan 23 2007, 19:10) *
2. J-Link(он же MTLink, он же JetLink) + Keil/IAR,
3. Wiggler (мутная вещь) + CW.

Справедливости ради надо сказать что CW с {J|MT|Jet}Link-ом тоже работает.
Сергей Борщ
Цитата(Alex03 @ Jan 24 2007, 07:36) *
Цитата(defunct @ Jan 23 2007, 19:10) *

3. Wiggler (мутная вещь) + CW.

Справедливости ради надо сказать что CW с {J|MT|Jet}Link-ом тоже работает.
У меня и IAR с ним работал на "ура".
Andreas1
Цитата
У меня и IAR с ним работал на "ура".

Wiggler работал с IARом?

А есть ли где сводная таблица какой отладчик с каким компилятором и с каким бубном работает? Особенно интересуют IAR и Keil, как наиболее упоминаемые и Wiggler, как наиболее дешевый.
Хотелось бы тоже начать освоение ARM, но, к сожалению, пока на свои деньги.
Сергей Борщ
Цитата(Andreas1 @ Jan 24 2007, 10:19) *
Цитата
У меня и IAR с ним работал на "ура".

Wiggler работал с IARом?
Да. Причем пляски в самом начале были связаны с кривой разводкой питания на макете, но никак не с виглером. Счас коллега, по наследству, этот вигглер пользует - я MT-Link купил.
sonycman
Цитата(zltigo @ Jan 24 2007, 05:50) *
Datasheet это вполне устоявшееся форма документа и отнюдь не "как у Atmel" остальное это
"User Manual" и "Errata". В чем проблема взять хоть все три, хоть один из них, хоть Application Notes в придачу....

Словосочетание "input clock" не о чем задуматься не заставило?

В следующий раздел после SPI назывется SSP - там и написано smile.gif.


Насчёт даташитов понял, буду знать.
Но Атмел делают лучше smile.gif

Насчёт input clock - честно говоря я пока толком не знаю, что это за частота, поэтому и написал на инглише.
Думаю, в лучшем случае эта частота равна частоте CPU, в худшем - ещё меньше. Тогда SPI в LPC вообще отстой sad.gif

Спасибо за помощь smile.gif
zltigo
Цитата(Сергей Борщ @ Jan 24 2007, 10:26) *
Причем пляски в самом начале были связаны с кривой разводкой питания на макете, но никак не с виглером.

Про главную причину - завмсимость, как минимум, от используемого компьютера отчего не помянули?
Мне, например, на двух подряд никак не удалось оживить а на третьем с глюками на глюке.
Wiggler не "самопальный" а от MT-System и тем не менее.....



Цитата(sonycman @ Jan 24 2007, 11:23) *
Насчёт input clock - честно говоря я пока толком не знаю, что это за частота

Не знаете, а бочку катите smile.gif input эта частота может только в slave mode и действительно 1/8.
Для maser это output по определению. slave mode это явно не Ваш случай.
SpiritDance
Цитата(sonycman @ Jan 24 2007, 12:23) *
Но Атмел делают лучше smile.gif

Поверьте на слово даташиты на ARM у них несколько отличаются по качеству и понятности от даташитов на AVR. хехе.
zltigo
Цитата(sonycman @ Jan 24 2007, 11:23) *
Но Атмел делают лучше smile.gif

До тех пор, пока не будете читать все это "счастье" не первый раз все подряд а в поисках конкретной информации в коллекции скопившихся редакций "единого" документа. А так удобно - купил, например,
чайник а к нему единый документ и технические данные и инструкчция по эксплуатации. Но тут не
бытовое изделие smile.gif
sonycman
Цитата(zltigo @ Jan 24 2007, 13:31) *
Не знаете, а бочку катите smile.gif input эта частота может только в slave mode и действительно 1/8.
Для maser это output по определению. slave mode это явно не Ваш случай.

А вы ничего сами не путаете?
Я смотрел пример работы с SPI на сайте NXP - там проц работает от кварца 10 Мгц, так вот частота импульсов линии SCK там составляет ровно 1/8 от 10 - 1,25 Мгц. Режим мастер, естественно.
zltigo
Цитата(sonycman @ Jan 24 2007, 11:39) *
А вы ничего сами не путаете?

Нет. Вам уже говорили - смотрите SPI1. Правда в некоторых ревизиях чипа, как на форуме утверждалось, при меньших делителях работает и SPI0.
Сергей Борщ
Цитата(zltigo @ Jan 24 2007, 11:31) *
Цитата(Сергей Борщ @ Jan 24 2007, 10:26) *

Причем пляски в самом начале были связаны с кривой разводкой питания на макете, но никак не с виглером.

Про главную причину - завмсимость, как минимум, от используемого компьютера отчего не помянули?
Мне, например, на двух подряд никак не удалось оживить а на третьем с глюками на глюке.
Wiggler не "самопальный" а от MT-System и тем не менее.....
Три машины пробовал. На двух (у меня и заказчика) сначала не работало, после того как питание "причесал" - заработало на обоих. После этого работал еще и на третьей - тоже без проблем. Виглеров пока боролись пробовали два - самопальный и от МТ-Систем. Оба давали схожие результаты. Так что у меня несколько иная статистика зависимостей smile.gif
AlexBoy
Запугали человека всякими MT и J-Link-ми.
Вигглер отлично работает через драйвер H-JTAG (www.h-jtag.com) с любым отладчиком который поддерживает RDI драйверы. Я работал в ADS 1.2 и RVDS 2.2. Кстати рекомендую именно эти т.к. похоже лучшие оптимизаторы. Тут я выкладывал схему Вигглера, которая у меня нормально работает http://electronix.ru/forum/index.php?showtopic=24885&hl=

На счет контроллера, мне кажется по SAM7 больше примеров и дока лучше, а с LPC они примерно на одном уровне.
boez
CrossWorks последний 1.6b3 неплох. Они там многое поправили по сравнению с 1.5 и компилятор посвежее. С виглером и платами нашими на lpc2129 (3 изделия) и lpc2103 работает на ура на нескольких разных компьютерах, при правильном монтаже самих изделий - с первого раза.

Контроллера похожего на lpc2103 у атмела нет.
Andreas1
Цитата
Тут я выкладывал схему Вигглера, которая у меня нормально работает http://electronix.ru/forum/index.php?showtopic=24885&hl=

По опыту avreal лучше ставить 150 Ом между LPT и 74xx244, особенно AC. Хотя бы по линии CLK. Без них работало не на каждом компе.
zltigo
Цитата(Сергей Борщ @ Jan 24 2007, 12:42) *
сначала не работало, после того как питание "причесал" - заработало на обоих

Пытался запускаться на Олимксовских платах (две разных, но на LPC2xxx) с блоками питания от Intel-овских китов - так-что "чесать питание" или что-либо другое smile.gif необходимости не видел ни малейшей.
Цитата
Оба давали схожие результаты. Так что у меня несколько иная статистика зависимостей smile.gif

Забавно Wigglera два а результаты "схожие" а не одинаковые sad.gif. Короче, если кому-то "чесаться" smile.gif
то Wiggler самое то. Ну а для работы желательно воспользоваться имеющимя богатством выбора.
sonycman
Хорошо, всем спасибо за советы.
Решил заказывать всё таки плату на Атмеле - SAM7-P256 от Олимекса.
Со временем надо будет что-то типа Вигглера.
А все эти дебаггеры от Вигглера и МТ-Линка до ULink работают со всеми ARM, то есть и к AT91SAM7S256 будут подходить?

ЗЫ: купил книгу "Микроконтроллеры ARM7 семейств LPC2000 компании Philips. Вводный курс" smile.gif
Буду осваивать.

ЗЗЫ: интересно, почему не выпускают эти контроллеры в PLCC корпусах? Было-бы удобно - в панельку воткнул и порядок!
Сергей Борщ
Цитата(sonycman @ Jan 24 2007, 16:23) *
А все эти дебаггеры от Вигглера и МТ-Линка до ULink работают со всеми ARM, то есть и к AT91SAM7S256 будут подходить?
Да, кроме желтых (в прямом смысле smile.gif ) J-Link которые идут в составе ИАРовских KickStart. Эти работают только с процессорами под которые кикстарт заточен.

Цитата(sonycman @ Jan 24 2007, 16:23) *
ЗЗЫ: интересно, почему не выпускают эти контроллеры в PLCC корпусах? Было-бы удобно - в панельку воткнул и порядок!
А разве еще что-то выпускается в PLCC? Огромный копус, тяжелый, куча пластмассы. В общем дороже бы они были в PLCC, да и надежность этих панелек не 100%. Панелька предполагает необходимость снимать микросхемы для каких-то целей, например для программирования. А сейчас практически все процессоры имеют внутрисхемное программирование и необходимость в отсоединении от платы пропала.

С QFP тоже ведь никаких проблем - макетку достал, кристалл положил, две минуты махания паяльником и готово.
SpiritDance
Кстати если посмотреть на даташит lpc2103 можно найти вариант PLCC корпуса, 17х17 по-моему. smile.gif только вот существует ли такое в рироде сказать сложно.
sonycman
Понятно, значит устарели PLCC...

Цитата(Сергей Борщ @ Jan 24 2007, 19:56) *
Да, кроме желтых (в прямом смысле smile.gif ) J-Link которые идут в составе ИАРовских KickStart. Эти работают только с процессорами под которые кикстарт заточен.

С QFP тоже ведь никаких проблем - макетку достал, кристалл положил, две минуты махания паяльником и готово.


Ну я если и буду брать дебаггер - то, наверное, или простой ARM-JTAG за 600 руб или MT-LINK.
А может и сам соберу первый, там ведь только несколько буферов...

Запаивать TQFP или LQFP не сложно, а вот выпаивать (мало-ли) сложнее.
Нету у меня квадратной насадки на фен.
Сергей Борщ
Цитата(sonycman @ Jan 24 2007, 19:10) *
Запаивать TQFP или LQFP не сложно, а вот выпаивать (мало-ли) сложнее.
Нету у меня квадратной насадки на фен.
Я выпаиваю вообще без насадки. Ну а если точно "в морг" то четыре движения обойным ножом вдоль корпуса и паяльником собрать остатки ножек. Но это уже тема для другого форума...
sonycman
Народ, помогите, где можно скачать нормальную версию uVision для ARM? Или, может, кряк у кого есть для ознакомительной версии с их сайта?
Alex_inventor
Цитата(sonycman @ Jan 25 2007, 00:28) *
Народ, помогите, где можно скачать нормальную версию uVision для ARM? Или, может, кряк у кого есть для ознакомительной версии с их сайта?

Уважаемый sonycman, я прочитал, что вы недавно приобрели книгу "Микроконтроллеры ARM7 семейств LPC2000 компании Philips. Вводный курс". Я сам неделю назад скачал её в inete в djvu (отличное качество). a14.gif ARM изучаю недавно, облазил пол инета, и по моему мнению, самоучителя, лучше чем эта книга, для новичков нет. Есть одно но. Нет диска с примерами программ angry.gif . А без примеров сильно теряется смысл прочтения. Не могли бы вы выслать примеры мне на мыло plies? cheers.gif (q9собакаtut.by).
По поводу uVision я сделал так (вам тоже советую). Во первых скачать среду (покрасней мере последнюю версию 3.34), можно только с keil.com (в других местах искал не нашёл). Для этого просто заполните форму. Я обычно пишу Name: Fox, Surname:Malder, ну и дальше в это виде wink.gif . Мыло указать реальное. Они СРАЗУ (а не как некоторые…) высылают прямой линк на среду. Среда весит ~63M. Если скорость ~50KBod/s не советую качать из дома. Я два раза закачивал Opero-й (по 7 часов) чуть не одурел!!! и оба раза закачивалось криво!!! smile3046.gif Потом пошел в инет-кафе и за 40 минут закачал без проблем (отдал за всё 0,5$). rolleyes.gif Среда Trial-ая. Полазив в инете нашёл генератор ключей. Вставил сгенерированный ключ… и о чудо Trial превратился в Full version до 2029 года. tongue.gif wub.gif smile.gif
Alex_inventor
Кстати, есть ещё вопросы к уважаемым участникам форума. В uVision для ARM можно устанавливать три вида компилятора. RealViwe, Keil, GNU. Про GNU слышал только отрицательнее отзывы (в основном по размеру кода и быстродействию, на некоторых сайтах были описаны почти 10 кратное преимущества вышеописанных компиляторов по сравнению с GNU). Хотя я понимаю, что это сильно зависит от версии компилятора и используемых библиотек (например, float оптимизированная), но неприятный осадок остался sad.gif . В скаченной среде в папке BIN , почему-то есть только компилятор RealView. Про него читал что это родной компилятор разработанный компанией ARM, которая вроде бы купила компанию Keil? (если я не прав поправьте, а то от перегруза информацией стек уже переполнился в мозгах wacko.gif )И он вроде как считается наиболее качественным и типа является основным для среды uVision for ARM. Однако на одном форуме прочитал, что кто-то компилировал одну и туже программу в Keil и RealViwe и код в кеил пулучился 400 байт, а в RealViwe 1K. Что наводит на смутные сомнения unsure.gif . В книге про PHILIPS контроллеры, все примеры используется Keil компилятор.
Из сказанного выше сформулирую вопросы:
1. Где скачать компилятор keil. Конкретно CA.exe AA.exe LA.exe. Искал, не нашёл smile3046.gif
2. Если преимущества у какого-нибудь из этих двух компиляторов.
3. Почему _tutmb _arm __task директивы не понимает компилятор RealViwe. Или есть другие способы обозначить подпрограмму как задачу, что бы компилятор не вставлял лишнее сохранение контекста, или обозначить функцию как tumb. Еслиже подобная настройка отпала за ненадобностью то обясните почему?
4. Как в RelaViwe сгенерировать .ELF file, чтобы вставить его в отладку в proteus. Если никак то может ли это сделать Keil компилятор?

Заранее выражаю свой глубочайший a14.gif ответившим. Если что-то не так не смейтесь. ARM-ы я изучаю около недели unsure.gif .

Ну и на последок (извините за наглость). Если кто знает ссылки на русские-аккаунты по ARM. В частности интересует описание регистров Philips контроллеров. А то читаешь их убогий datashet (английский более мнение знаю, со словарем biggrin.gif ) и думаешь толи лыжи не едут… wacko.gif И ещё, пытаюсь разобраться с прерываниями. Есть куча регистров типа VICxxx но в даташите (долгих лет жизни его писателям maniac.gif ) пару скудных строк про эти регистры. Объясните VICIntEnable что включает? Разрешает прерывание каждой ноги порта A, что ли? Не мог бы кто-нибудь привести пример инит- файла с комментариями. Типа запрещаем прерывания, для этого такой регистр так, другой регистр сяк. Инициализируем порты. Инициализируем прерывания и т.д. a14.gif a14.gif a14.gif
sonycman
2Alex_inventor
Хорошо, завтра взгляну на диск от книги и намылю smile.gif
Я тоже только несколько дней изучаю ARM, да и по C++ у меня только общие знания. Вот буду подтягиваться smile.gif

Микровижн скачал и крякнул, всё ОК, спасибо за совет!

По компилятору Keil CARM - тоже хотелось бы сравнить его с RV.

Сейчас вот смотрю на стартовый файл проекта для AT91SAM7S (который в комплекте идёт) и никак не могу понять, что за команда такая - ADR? Вот кусок кода на ассемблере (во второй строке):
IF :DEF:RAM_INTVEC
ADR R8, Vectors ; Source
LDR R9, =RAM_BASE ; Destination
LDMIA R8!, {R0-R7}

В системе команд ARM7TDMI ADR вроде нет. Так что это такое?
Компилиться она вот во что: SUB R8, PC, #0x000000B8.
Просто LDR вместо неё поставить не получается.
Объясните, пожалуйста smile.gif
DRUID3
Цитата(Alex_inventor @ Jan 25 2007, 01:39) *
Цитата(sonycman @ Jan 25 2007, 00:28) *

Народ, помогите, где можно скачать нормальную версию uVision для ARM? Или, может, кряк у кого есть для ознакомительной версии с их сайта?

Есть одно но. Нет диска с примерами программ angry.gif . А без примеров сильно теряется смысл прочтения. Не могли бы вы выслать примеры мне на мыло plies? cheers.gif (q9собакаtut.by).

Кажется это они лежат на местном ФыТыПы.
Цитата(Alex_inventor @ Jan 25 2007, 02:32) *
Про GNU слышал только отрицательнее отзывы (в основном по размеру кода и быстродействию, на некоторых сайтах были описаны почти 10 кратное преимущества вышеописанных компиляторов по сравнению с GNU). Хотя я понимаю, что это сильно зависит от версии компилятора и используемых библиотек (например, float оптимизированная), но неприятный осадок остался sad.gif .

Да что Вы ... biggrin.gif А если бы на тех "некоторых сайтах" написали что разрыв в 100 раз, то тоже следовало бы поверить??? Вы никогда не задумывались о том, что для того чтобы напарить что-либо платное, когда рядом лежит бесплатное уже недостаточно хвалить, надо запугивать...
ek74
Цитата(sonycman @ Jan 25 2007, 04:59) *
Сейчас вот смотрю на стартовый файл проекта для AT91SAM7S (который в комплекте идёт) и никак не могу понять, что за команда такая - ADR? Вот кусок кода на ассемблере (во второй строке):
IF :DEF:RAM_INTVEC
ADR R8, Vectors ; Source
LDR R9, =RAM_BASE ; Destination
LDMIA R8!, {R0-R7}

В системе команд ARM7TDMI ADR вроде нет. Так что это такое?
Компилиться она вот во что: SUB R8, PC, #0x000000B8.
Просто LDR вместо неё поставить не получается.
Объясните, пожалуйста smile.gif


В поставке KEIL'а есть файл <..>\ARM\Hlp\RV_asm.pdf "RealView Compilation Tools Version 3.0 for μVision Assembler Guide"
Открываем его и в разделе "2.6.1 Direct loading with ADR and ADRL" читаем:
Код
The ADR and ADRL pseudo-instructions enable you to generate an address, within a certain
range, without performing a data load. ADR and ADRL accept a program-relative
expression, that is, a label with an optional offset where the address of the label is
relative to the current PC.

и чуть ниже
Код
The assembler converts an ADR rn,label pseudo-instruction by generating:
• a single ADD or SUB instruction that loads the address, if it is in range
• an error message if the address cannot be reached in a single instruction.


Т.е. ADR - это не команда ARM7TDMI, а просто инструкция ассемблера, облегчающая процесс разработки smile.gif
Andy Great
В каталоге BIN лежит собственно Кейловский компилер. RV-компилер лежит в BIN30. Попробуйте в опциях среды выбрать другой компилер (или открыть другой пример, они есть для 3х компилеров в разных ветках: в корневой для собссно Кейла, RV30 и GNU - соответственно, подкаталоги Boards для конкретных плат, Examples - общие). А вообще, читайте доку.
sonycman
Цитата(ek74 @ Jan 25 2007, 12:22) *
Т.е. ADR - это не команда ARM7TDMI, а просто инструкция ассемблера, облегчающая процесс разработки smile.gif


Спасибо большое, теперь понял smile.gif
Я уже догадывался, что это макрос какой-то...

А оболочка у Кейла удобная, почти как у MS VC++ smile.gif

2Alex_inventor
Архив с примерами программ намылил smile.gif
Alex_inventor
2Andy Great:
Да вы правы насчёт размещения компилятора. Действительно BIN32. Однако при установке keil компилятора, среда явно требует файлы CA.exe AA.exe LA.exe. Методом обычного поиска таких файлов не обнаружено. В папке BIN лежат только .dll. В среде при выборе компилятора нужно указать адрес папки с компилятором. Так вот устанавливал различные адреса и BIN, и BIN32. Во всех случаях результат один sad.gif :
Build target 'Target 1'
assembling Startup.s...
--- Error: can't execute 'C:\Program Files\Keil\ARM\BIN\AA'
Target not created
Впрочем, это и понятно. Нужны конкретные вышеописанные файлы. Если у кого есть, может, кто выложит на форуме? Или по мылу (q9собакаtut.by). И опять же повторяю вопрос, а стоит ли его использовать, раз уже в среде при скачивании его нет? Устарел что ли? Или его нет потому, что среда изначально Trial была?
2DRUID3:
По поводу качества кода компиляторов я спорить не буду, по причине других оценок к подходу их выбора. Для меня главное удобство в работе. К примеру для AVR пользуюсь CodeVision, хотя почти на всех сайтах “поносят” его, и восхваляют IAR. Но, попробовав поработать с IAR smile3046.gif , понял, что уже не могу отказаться и от стартового инициализатора, и от типа bin, и от helpa, и от того что, я в нём уже как рыба в воде. Короче дело привязанности. A у последних версий код генерируется даже очень “ничего”.
Приведу страницу из книги "сравнение ARM компиляторов", решайте сами:

Keil ищу в основном потому, что все примеры в книге написаны для него. Т.е. опять же для удобства. Что бы мне, как новичку, не пришлось решать мелкие проблемы совместимости разных компиляторов. Да и судя по тестам, он почти самый лучший (что условно).
На последок, дорогие участники форума, помогите страждущим кто, сколько может, кто кодом (простым и с комментариями), кто русским help на контроллер, можно и на буржуйском только понятным, шютка!!! biggrin.gif biggrin.gif biggrin.gif Интересуют, как устроены прерывания серии LPC2xxx (в книге что-то не очень понятно). Всем a14.gif
Alex_inventor
2sonycman:
Огромный a14.gif за мыло. cheers.gif
Andrew_Ch
2 Alex_inventor
Подскажите, пожалуйста, ссылку на книгу "Микроконтроллеры ARM7 семейств LPC2000 компании Philips. Вводный курс" и на CD к ней, если удалось его найти.
Alex_inventor
2Andrew_Ch:
Ссылка книги http://ihtik.dreamhosters.com/electrotehn_...nv2007_2304.rar
A вообще на сервере http://ihtik.lib.ru/dreamhost_electrotehn_4janv2007.html лежит 3276 книг по электроники. Там можно найти почти всё.
Файлы проектов выпросил у sonycman. Есть добрые люди на свете a14.gif . Попросите его прикрепить файлы. Может поможет.
Andy Great
Цитата(Alex_inventor @ Jan 25 2007, 13:42) *
2Andy Great:
Да вы правы насчёт размещения компилятора. Действительно BIN32. Однако при установке keil компилятора, среда явно требует файлы CA.exe AA.exe LA.exe. Методом обычного поиска таких файлов не обнаружено. В папке BIN лежат только .dll.

Глянул - и правда, в новых дистрибутивах нету. У меня от старого остался. Придется переползать на RVCT
Andrew_Ch
2 Alex_inventor:
Спасибо большое. Не хилый ресурчик :-).
2 sonycman:
А не будете ли Вы так любезны, что бы и мне прислать или CD или ссылку на него.
sonycman
Цитата(Alex_inventor @ Jan 25 2007, 14:53) *
2sonycman:
Огромный a14.gif за мыло. cheers.gif


Не за что smile.gif

По примерам на CD от книги - что-то не прикрепляется файл. Весит 2.6 метра, может, большой?
Предложите место, куда выложить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.