Easyelectronics.ru

Электроника для всех
Текущее время: 22 сен 2019, 13:23

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 22 ] 
Автор Сообщение
 Заголовок сообщения: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 фев 2010, 13:46 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Доброго времени суток!

Надеюсь, что из нашего сообщества, есть специалисты и по АРМам. Так вот, посоветуйте что почитать и где, для Атмеловских AT91SAM9xxx?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 15 фев 2010, 01:05 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 23:58
Сообщения: 99
gaw.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 15 фев 2010, 13:58 
Только пришел

Зарегистрирован: 05 фев 2010, 13:01
Сообщения: 26
Volldemar писал(а):
Доброго времени суток!

Надеюсь, что из нашего сообщества, есть специалисты и по АРМам. Так вот, посоветуйте что почитать и где, для Атмеловских AT91SAM9xxx?


Микроконтроллеры AT91SAM9 обычно используют совместно c операционной системой( например Linux ), проще всего начать работать на купленной готовой плате( например starterkit.ru ) с предустановленной ОС. Почитайте тут http://www.xakep.ru/magazine/xa/125/078/1.asp .
Можно , конечно , и не устанавливать ОС, а программировать с нуля, но для таких целей AT91SAM7 должно хватить с головой


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 15 фев 2010, 15:52 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
dev3 писал(а):
Микроконтроллеры AT91SAM9 обычно используют совместно c операционной системой( например Linux ), проще всего начать работать на купленной готовой плате( например starterkit.ru ) с предустановленной ОС. Почитайте тут http://www.xakep.ru/magazine/xa/125/078/1.asp .
Можно , конечно , и не устанавливать ОС, а программировать с нуля, но для таких целей AT91SAM7 должно хватить с головой


Спасибо за ссылочку, очень интересно, изучаю!
Вопрос возник из-за того, что попалась в руки, причём на шару :) что не может не радовать :), демоплата AT91SAM9263-EK. Там уже прошит загрузчик U-Boot и линух, но хочется самому ручки запустить в железо :). Подрыгать ножками проца :), выдать что нить в порт, что б терминалкой поглядеть :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 17 фев 2010, 15:17 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Ну вот, после некоторого мытарства, потихоньку складывается "мозаика".
AT91SAM9 - имеют в себе встроенный юсб, причём атмеловский AT91-ISP программатор умеет заливать в память проца бинарник по юсб шнурику, шнурик как раз такой, как применяет ДИ в своей пинбоарде. Синтаксис асма довольно не привычен, но это дело наживное. К сожалению нет описания ARM-асма, как есть для АВР-ов, может плохо искал. И ещё проблемка, ненашёл inc файлы для АРМ-ов, как их делать? Ну очень муторно из даташита всё вручную переписывать. Догадываюсь, что меня отправят на атмел.ком или гав.ру, тогда прямую ссылочку плиз, ну не нахожу.
Получилось пока сваять простейшую програмулину выдающую в посл. порт константу, из даташитов видно, что проставлением битика в конфигурационный регистр можно сделать простейшее портовое "эхо". Надеюсь получится. Пишу на асме, так как это мне ближе и понятней.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 17 фев 2010, 20:20 
Только пришел

Зарегистрирован: 05 фев 2010, 13:01
Сообщения: 26
Volldemar писал(а):
Ну вот, после некоторого мытарства, потихоньку складывается "мозаика".
AT91SAM9 - имеют в себе встроенный юсб, причём атмеловский AT91-ISP программатор умеет заливать в память проца бинарник по юсб шнурику, шнурик как раз такой, как применяет ДИ в своей пинбоарде. Синтаксис асма довольно не привычен, но это дело наживное. К сожалению нет описания ARM-асма, как есть для АВР-ов, может плохо искал. И ещё проблемка, ненашёл inc файлы для АРМ-ов, как их делать? Ну очень муторно из даташита всё вручную переписывать. Догадываюсь, что меня отправят на атмел.ком или гав.ру, тогда прямую ссылочку плиз, ну не нахожу.
Получилось пока сваять простейшую програмулину выдающую в посл. порт константу, из даташитов видно, что проставлением битика в конфигурационный регистр можно сделать простейшее портовое "эхо". Надеюсь получится. Пишу на асме, так как это мне ближе и понятней.


Производитель ( Atmel ) в своей документации Getting Started with the AT91SAM9263 Microcontroller дает информацию по быстрому началу работы с микроконтроллером AT91SAM9263 на примере бесплатного ARM cross-compiler toolchain. Коллекция компиляторов gcc включает как ассемблер ( GNU Assembler ) , так и С - компилятор , в примерах есть урывки Makefile, в которых описано, как компилировать исходники на ассемблере и на С и собирать вместе полученные объектные файлы. Там на ассемблере компилируется код запуска для С ( C- Startup ). Ничто не мешает вам точно так же собирать код программы с исходников на ассемблере. Изучайте синтаксис GNU Assembler , структуру Makefile , а систему команд вашего микроконтроллера можно посмотреть в документации на ядро ARM9.

http://www.atmel.com/dyn/products/tools ... ol_id=4057
http://www.atmel.com/dyn/products/app_n ... ily_id=605
http://www.arm.com/products/processors/ ... arm926.php


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 17 фев 2010, 21:00 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Спасибо за ссылочки, но это я уже скачивал себе и изучаю.
На данном этапе есть несколько проблем:
- создание для асма inc - файлов (как для АВРов атмел предоставляет в аврстудии) с описанием всех регистров и битиков;
- создание исходника на асме начальной инициализации периферии (тактовый генератор, порты и т.п.).

Пытаюсь писать в среде "ADS 1.2 to build 848", так как досталось вместе с платой инсталяха и "таблетка" :)

Заманчиво перейти на ГНУшную среду разработки, но пока не знаю как проинсталить и настроить. В доках всё описано, но для этого нужно время и желательно человек, который мог бы подсказать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 17 фев 2010, 21:32 
Заглядывает иногда

Зарегистрирован: 28 янв 2010, 23:58
Сообщения: 99
yagarto.de - там eclipse платформа все написано


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 17 фев 2010, 21:48 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Brainiac писал(а):
yagarto.de - там eclipse платформа все написано


А можно по пунктам, что скачивать, что инсталить, как настраивать? Желательно максимально упрощённым изложением, как это делает DI HALT для АВРок ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 18 фев 2010, 13:42 
Только пришел

Зарегистрирован: 05 фев 2010, 13:01
Сообщения: 26
"На данном этапе есть несколько проблем:
- создание для асма inc - файлов (как для АВРов атмел предоставляет в аврстудии) с описанием всех регистров и битиков;
- создание исходника на асме начальной инициализации периферии (тактовый генератор, порты и т.п.)."

1. В случае с YAGARDO ( одна из реализаций GNU ARM toolchain под виндовс ) для ассемблера и для С используются заголовочные файлы с расширением *.h .
2. Установите YAGARDO + eclipse , запустите один из примеров для вашей платы от атмела ( для GCC ). Примеры написаны на языке С, но можно включить генерацию листинга и посмотреть , как инициализируется периферия на ассемблере

"А можно по пунктам, что скачивать, что инсталить, как настраивать? Желательно максимально упрощённым изложением, как это делает DI HALT для АВРок ;)"

1. Заходим на http://yagarto.de/, качаем YAGARTO Tools (688 KB), YAGARTO GNU ARM toolchain (43 MB), инсталлируем все это добро , в результате получим два каталога в Program Files yagardo и yagardo tools.
2. Заходим на http://eclipse.org/downloads/packages/ и качаем
Eclipse IDE for C/C++ Developers (79 MB)

3. Для работы IDE eclipse необходима виртуальная машина jre , поскольку eclipse написан на языке JAVA . Заходим на http://java.sun.com/javase/downloads/index.jsp и жмем на кнопочку Download JRE, скачиваем jre-6u18-windows-i586.exe для виндовс и инсталлируем на компьютер

4. Устанавливаем Eclipse , теперь нужно прикрутить к нему плагин Zylin Embedded CDT plugin .Для этого запускаем eclipse , выбираем рабочий каталог , в меню Help выбираем Install New Software и жмем на кнопочку Add . Вводим в поле Name значение zylincdt, в поле Location - http:\\opensource.zylincdt\zylincdt , потом OK , Next, OK, Yes . Eclips перезапустится , теперь можно создавать новый проект.

Собственно это все написано на сайте http://yagarto.de/ на английском( зато картинки на русском :)))). Далее там рассматривается учебный пример SAM7X256Test . По аналогии сделайте проект из скачанных с атмела примеров для вашей целевой платы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 18 фев 2010, 15:40 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Проделал все опреции - успешно :) что не может не радовать :)

Как в эклипсе создать чисто асмовский проект?

Вот простейший исходник выдающий в посл. порт константу:

AREA test, CODE, READONLY

DBGU EQU 0xFFFFEE00
US_CR EQU 0x0000 ;Control Register
US_CSR EQU 0x0014 ;Channel Status Register
US_THR EQU 0x001C ;Transmitter Holding Register
US_TXRDY EQU 0x2

;transmit USART, R0-base addr, R1-data

LDR R1, =0x34
STMFD SP!, {R0,R2,LR}
LDR R0, =DBGU
MT1
LDR R2, [R0, #US_CSR]
TST R2, #US_TXRDY
BEQ MT1
STR R1, [R0, #US_THR]
LDMFD SP!, {R0,R2,PC}

END


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 19 фев 2010, 18:12 
Только пришел

Зарегистрирован: 05 фев 2010, 13:01
Сообщения: 26
В качестве шаблона для создания проекта на языке ассемблера
воспользуемся исходниками отсюда http://dsl.ee.unsw.edu.au/dsl-cdrom/exa ... EADME.html

Сохраняем файлы template.s и Makefile.template-asm где-нибудь в отдельном каталоге ( C:\temp\ARM\ )

Файл Makefile.template-asm переименовываем в Makefile.

Дальше по пунктам:


1. Запускаем Eclipse.Нажимаем File -> New -> CProject. В области Project type выбираем
Makefile project -> Empty Project, в области Toolchains выбираем Other Toolchain.
Придумываем название проекта Project Name ( asm_tst ).Жмем Finish.

2. В пункте меню Project снимаем галочку возьле Build Automatically.
Кликаем Project -> Properties .Выбираем C/C++ Build -> Settings и на вкладке Binary Parsers
ставим галочку напротив GNU Elf Parser.Жмем Apply и OK.

3. Кликаем правой клавишей на названии нашего проекта в Project Explorer и выбираем в контекстном меню File -> Import
,на вкладке General кликаем на File System. Жмем Next.
Выбираем в графе From directory каталог, в котором мы сохранили шаблоны для ассемблерного проекта
( C:\temp\ARM ). Нажимаем на Finish.В Project Explorer появится дерево проекта.

4. Нажимаем Project -> Build All для сборки проекта. Выскочит тьма ошибок - не беда,
правим Mikefile ( правила сборки ) и исходный ассемблерный файл, попутно читая документацию ,
которая находится по ссылке в начале.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 19 фев 2010, 19:28 
Старожил

Зарегистрирован: 26 янв 2010, 21:47
Сообщения: 345
Если не затруднит, как вписать в асмовский исходник данные из файла AT91SAM9263.h?

Если за пример взять приведённый выше код.

Да, и как указать для выдачи bin-ский файл? Как указать, что начало программы должно быть по определённым адресам, не 0.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 28 фев 2010, 00:17 
Здравствуйте!

Зарегистрирован: 29 янв 2010, 22:06
Сообщения: 3
В Протеусе пример есть по работе с АРМом под ucLinux, но не понятно как собрать и поднять на кристале линукс...
Кто-нить может указать направление куда копать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 28 фев 2010, 01:26 
Только пришел

Зарегистрирован: 05 фев 2010, 13:01
Сообщения: 26
tempfolder писал(а):
В Протеусе пример есть по работе с АРМом под ucLinux, но не понятно как собрать и поднять на кристале линукс...
Кто-нить может указать направление куда копать?


http://dmilvdv.narod.ru/AT91SAM9260/ind ... linux.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 12 май 2010, 12:06 
Здравствуйте!

Зарегистрирован: 12 май 2010, 11:52
Сообщения: 2
Вот тут есть кое что для начинающих по платформе ARM7, ссылки на литературу, софт - http://microsin.ru/content/view/658/44/.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 13 сен 2010, 22:24 
Старожил

Зарегистрирован: 14 авг 2010, 20:14
Сообщения: 1504
Нашел замечательный вводный туториал http://www.mikrocontroller.net/articles ... C-Tutorial. Но он на немецком.
Существуют ли что-то подобное, но на нормальном языке?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 сен 2010, 10:39 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
google translate вам в помощь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 сен 2010, 12:23 
Старожил

Зарегистрирован: 14 авг 2010, 20:14
Сообщения: 1504
2amx: Шутник. Вместо такого перевода лучше учится по даташитам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 сен 2010, 12:59 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
раз не осилили перевод, можно попробовать поиск по фразе arm gcc tutorial
ну а если и с английским не лады, вот что нашёл на просторах "Руководство по установке, настройке и использованию GNU Tools/Eclipse IDE в среде Windows для разработки программного обеспечения микроконтроллеров ARM" (mirror)
P.S. сам не читал.
P.P.S. прошу прощения, не обратил внимания на существенный момент, что вы приводили не на руководство по компилятору, а на вводный курс в семейство lpc2x. Если таки вам нужно по lpc2x, можно в сети найти "Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс" за авторством Тревора Мартина в переводе на русский язык.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 сен 2010, 17:33 
Старожил

Зарегистрирован: 14 авг 2010, 20:14
Сообщения: 1504
Вот не понимаю, почему почти все авторы подобной литературы. Сначала пол-книги тратят на описание камня а после уже переходят к программированию.
Ведь самое главное вникнуть в логику программирования а остальное все берется из даташита.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстрый :) старт - АРМы
СообщениеДобавлено: 14 сен 2010, 18:06 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
это в начале, а когда программировать умеешь, и выбирать кристалл надо максимально подходящий по возможностям, а не тот что уже есть - всё совсем наоборот.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB