Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос AT91RM9200 и не только
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Vasso
Поставлена задача предо мною родить несложное ПО под некое устройство рожденное на AT91RM9200: По сути: работа с разными устройствами com портам.
С микроконтроллерами к сожалению работать не приходилось.
Устройство должно родиться в ближашее время.
Сильно углубляться в программинг смысла не вижу, посему это будет работать скорее всего под Linux-ом.
К сожаление финансирование сильно ограничено.
Я смутно представляю что именно спрашивать, но наброски есть (если есть еще что добавить - отпишите плиз):
Интересует слудющее:
1) Можно ли прошить устройство без девелопер кита?
а) Если да то как? надо ли что-то на плате для сией операции? как дебажить сварганенный софт? и т.д.
б) Если нет - то я тут видел заказываю платы - если ли отличие....
2) Где взять прошивку? Драйвера и т.д.
3) Что желательно почитать для этого дела?
4) Советы "бывалых" :-)
Заранее спасибо.
VladislavS
Цитата
1) Можно ли прошить устройство без девелопер кита?
а) Если да то как?

Можно, через USB, COM-порт или J-TAG

Цитата
надо ли что-то на плате для сией операции?

Конечно, развести эти интерфейсы как написано в даташите.

Цитата
как дебажить сварганенный софт? и т.д.

Отладка только через J-TAG. Для этого надо адаптер купить или сделать. Выбор большой по сложности/цене.

Цитата
2) Где взять прошивку? Драйвера и т.д.
3) Что желательно почитать для этого дела?

www.ucrouter.ru очень неплохо для начала. Поймешь куда идти.

Цитата
4) Советы "бывалых" :-)

doc1768.pdf цитировать наизусть даже проснувшись посреди ночи smile.gif
AT91RM9200 очень непрост для начинающего в микроконтроллерах - желаю пройти этот путь до конца. Тут тебе обязательно помогут.
Evgeny_CD
Цитата(VladislavS @ Mar 16 2006, 21:44) *
doc1768.pdf цитировать наизусть даже проснувшись посреди ночи smile.gif
Имелся в виду этот документ - его точно наизусть знать надо, причем обязательно самую последнюю версию!
http://www.atmel.com/dyn/resources/prod_do...nts/doc1768.pdf

Не надо новичков словами непонятными пугать!
aaarrr
Цитата(VladislavS @ Mar 16 2006, 21:44) *
doc1768.pdf цитировать наизусть даже проснувшись посреди ночи smile.gif
AT91RM9200 очень непрост для начинающего в микроконтроллерах - желаю пройти этот путь до конца. Тут тебе обязательно помогут.


Если будет выполнено вышестоящее условие, и задача действительно ограничивается
работой с UART'ами, то можно еще посоветовать обойтись без линукса.
Тем более, что совсем не ясно, какими ресурсами располагает плата.
Vasso
Всем спасибо.
Цитата(aaarrr @ Mar 16 2006, 23:32) *
Если будет выполнено вышестоящее условие, и задача действительно ограничивается
работой с UART'ами, то можно еще посоветовать обойтись без линукса.
Тем более, что совсем не ясно, какими ресурсами располагает плата.

Еще будет работа с MMC картой. Вот в принципе и все.
Инетересно почему стоит отказаться от линукса?
Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?

Мда, и еще: что надо иметь в арсенале чтобы начать что-то делать как из програмной так и из аппаратной части?
Соображения по аппаратной: плата + J-TAG на плате (хто это мне пока неизвестно) + адаптер J-TAG (но не понимаю какой выбрать)...
По програмной пока вообще соображений не имееться...

И еще: стоит ли иметь девелопер кит - видел тут заказывают платки для него заказывают....
Evgeny_CD
Цитата(Vasso @ Mar 17 2006, 12:02) *
Инетересно почему стоит отказаться от линукса?
Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?
Это очень непростой вопрос.

1. Если Вы отлично знаете Linux - то его стоит использовать.

2. Если Вы хотите изучть "все и сразу" - и контроллер, и embedded программирование, и линух - не стоит.

3. Не стоит и сразу бросаться писать "с нуля". Например, FS для MMC можно взять здесь
http://sourceforge.net/projects/efsl/

4. Ось как таковая безусловно, полезная и правильня вещь (кроме исключительных ситуаций). Но если Вам еще только предстоит познать мир embedded осей - начните с осворения пакета CrossWorks
http://www.rowley.co.uk/arm/index.htm
В его состав входит очень простая Tasling Lib. С некоторой натяжкой ее можно назваться ОСью - но для изучения самое то. К сожалению, этот пакет "в лоб" в стандартной поставке CrossWorks нет поддержки 9200 (странно - мне казалось, что вроде раньше был blink.gif ), но многие использую этот пакет именно с 9200 - так что, вероятно, народ поделится инфой.

5. Не пугайтесь сложностей! Нарисуйте структуру софта, и потихоньку все напишите.
aaarrr
Цитата(Vasso @ Mar 17 2006, 12:02) *
Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?


Все относительно. Правда, наличие MMC явно идет в пользу линукса smile.gif Просто
подобная программа займет от силы 20-30к, и мне обидно было бы тратить XX мегабайт на систему.
А вообще, дело вкуса.
COMA
Цитата
Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?

Прав.
Но с линуксом работать тоже не просто.
Vasso
Цитата(aaarrr @ Mar 17 2006, 11:24) *
Цитата(Vasso @ Mar 17 2006, 12:02) *

Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?


Все относительно. Правда, наличие MMC явно идет в пользу линукса smile.gif Просто
подобная программа займет от силы 20-30к, и мне обидно было бы тратить XX мегабайт на систему.
А вообще, дело вкуса.

Да, на данном этапе минимизация времени разработки играет одну из наиболее важных ролей.
А добавить пру мегабайт на плату - это не сложно. В конце концов тенденция последних лет - лучче быстрее и надежнее разработать чем размер программы и скорость её работы.

Цитата(COMA @ Mar 17 2006, 12:18) *
Цитата
Ведь если обходиться без линукса то (по моим соображениям) надо будет: писать или где-то взять работу с ком портом (буфер там, управляющие сигналы засылать), писать работу с карточкой памяти что еще сложнее. Или я не прав!?

Прав.
Но с линуксом работать тоже не просто.

Где почитать о возникающих сложностях!?
Evgeny_CD
Цитата(Vasso @ Mar 17 2006, 16:05) *
Где почитать о возникающих сложностях!?
biggrin.gif Станьте своим, и почитаете на ftp мегов 50 доки по Linux, который я туда загрузил.

Для начала
http://aleria.net/0/0/4/4/5/1/L?2
Karim Yaghmour, «Building Embedded Linux Systems»
O'Reilly | ISBN 059600222X | 2003 Year | 391 Pages
COMA
Цитата
Где почитать о возникающих сложностях!?


Да никаких сложностей. smile.gif
1. Научиться ставить линукс. Тут два пути:
- либо вам кто то помогает, т.е. у же есть готовый файл-образ системы. Который вы просто прошиваете во флаш.
- либо вы сами компиляете кернел, подготавливаете rootfs и прошиваете во флаш.
2. Научиться правильно писать программы под линукс smile.gif
а это -
Цитата
почитаете на ftp мегов 50 доки по Linux, который я туда загрузил.
smile.gif smile.gif
Vasso
Цитата(Evgeny_CD @ Mar 17 2006, 15:58) *
biggrin.gif Станьте своим, и почитаете на ftp мегов 50 доки по Linux, который я туда загрузил.

Для начала
http://aleria.net/0/0/4/4/5/1/L?2
Karim Yaghmour, «Building Embedded Linux Systems»
O'Reilly | ISBN 059600222X | 2003 Year | 391 Pages

Ну ссылки на п2п давать не стоит... хотя найти не составитло особого труда...

П.С. Да и 50 метров прочитать - это крышу может оторвать...
Evgeny_CD
Цитата(Vasso @ Mar 17 2006, 17:17) *
Ну ссылки на п2п давать не стоит... хотя найти не составитло особого труда...
Значит, Вы ищите лучше меня - это большой +!
Цитата(Vasso @ Mar 17 2006, 17:17) *
П.С. Да и 50 метров прочитать - это крышу может оторвать...
biggrin.gif А если еще попытаться понять, что же Вы прочли... salmari.gif
COMA
OFF
Что главное в линуксе? Это кернел, а остальное это только rootfs smile.gif
v_mirgorodsky
Евгений, а где находятся те 50МБ которые Вы загрузили на местный ФТП? С чего лучше начать и в какой последовательности осуществлять движение?
Evgeny_CD
Все просто.

0. Дня начала надо как следует освоить С, и постоянно совершенствоваться в нем. K&R - это хорошо, но кроме него надо тщательно "прокурить", как минимум, сдедующие книжки:

*** http://www.ozon.ru/context/detail/id/1529399/ - рекомендую!
Сэмюел П. Харбисон, Гай Л. Стил
Язык программирования C
C a Reference Manual
Издательство: Бином-Пресс, 2003 г.
Мягкая обложка, 528 стр.
ISBN 5-9518-0048-Х, 0-13-089592-X

*** http://www.ozon.ru/context/detail/id/966202/
Герберт Шилдт
Полный справочник по C
C: The Complete Reference
Издательство: Вильямс, 2002 г.
Твердый переплет, 704 стр.
ISBN 5-8459-0226-6, 0-07-212124-6

*** http://www.ozon.ru/context/detail/id/1498441/
Брэдли Л. Джонс, Питер Эйткен
Освой самостоятельно C за 21 день (+ CD-ROM)
Teach Yourself C in 21 Days
Издательство: Вильямс, 2003 г.
Мягкая обложка, 800 стр.
ISBN 5-8459-0492-7, 0-672-32448-2

*** http://www.ozon.ru/context/detail/id/2479528/
Х. М. Дейтел, П. Дж. Дейтел
Как программировать на C
C How to Program
Издательство: Бином-Пресс, 2006 г.
Твердый переплет, 912 стр.
ISBN 5-9518-0132-X, 0-13-142644-3

*** http://www.ozon.ru/context/detail/id/1298977/
Стивен Прата
Язык программирования С. Лекции и упражнения. Учебник
C Primer Plus
Издательство: ДиаСофтЮП, 2002 г.
Твердый переплет, 896 стр.
ISBN 5-93772-049-0, 0-672-32222-6

Хороших универсальных книж к по embedded C я пока не нашел - все найденные грешат описанием какой-то конкретной реализации С для выбранного семейства; как правило, эта реализация не сильно С99 совместимая.

При изучении особое внимение уделить:
* структуры
* указатели, в том числе на функции
* юнионы

Цель этого этапа - Вы должны научиться понимать любую корректную С конструкцию, написанную другим программистом (а не только понимать Ваш стиль программирования).

1. Далее нужно разобраться в GNU философии и идеологии.
Очень рекомендуется найти эту книжку, уже ставшую библиографической редкостью

*** http://www.ozon.ru/context/detail/id/2179473/
Артур Гриффитс
GCC. Полное руководство. Platinum Edition
GCC. The Complete Reference
Издательство: ТИД "ДС", 2004 г.
Твердый переплет, 624 стр.
ISBN 966-7992-33-0, 0-07-222405-3

Также изучить содержимое этой папочки
/pub/DOC/Books/GNU/

2. Далее поставть Linux под VmWare или CoLinux, и научиться писать для него проги. Хорошая бука по теме

*** http://www.ozon.ru/context/detail/id/986013/
Митчелл Марк, Оулдем Джеффри, Самьюэл Алекс
Программирование для Linux. Профессиональный подход
Advanced Linux Programming
Издательство: Вильямс, 2002 г.
Мягкая обложка, 288 стр.
ISBN 5-8459-0243-6

Очень желательно изучить Eclipse, научиться ставить и настраивать ее.
/pub/DOC/_unsorted/Eclipse/
http://electronix.ru/forum/index.php?showt...=0&gopid=96436&
http://electronix.ru/forum/index.php?showt...t=0&#entry88465

3. Ну а далее можно переходить у изучению уже самого embedded Linux. Начать пожно с упомянутой выше буки, потом изучить вот это
/pub/DOC/_unsorted/ldd3/
а далее как пойдет....

Сам я, увы, где-то в районе п.1
v_mirgorodsky
Ну, похоже я продвинулся все же дальше за свою практику программирования и проектирования электроники smile.gif потому как по выше начертанному плану нахожусь где-то в средине пункта 2 и то потому, что не в курсе как настраивать Eclipse smile.gif

За то, теперь я знаю заветный каталог /pub/DOC/_unsorted/ldd3/, где можно найти все остальное wink.gif
Vasso
Цитата(Evgeny_CD @ Mar 17 2006, 16:20) *
Цитата(Vasso @ Mar 17 2006, 17:17) *
Ну ссылки на п2п давать не стоит... хотя найти не составитло особого труда...
Значит, Вы ищите лучше меня - это большой +!

Да, искать всякое в сети умеемс...
Но знать бы еще что надо!!! :-)

Пишите если че полезное реально для этого дела надо.
А я, если найду, ссылки буду скидывать.
Evgeny_CD
Цитата(Vasso @ Mar 20 2006, 13:15) *
Пишите если че полезное реально для этого дела надо.
А я, если найду, ссылки буду скидывать.
Есть такая бука
http://electronix.ru/forum/index.php?showt...=0&gopid=96436&

ARM System Developer's Guide, First Edition : Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)
Hardcover: 689 pages
Publisher: Morgan Kaufmann (March 25, 2004)
Language: English
ISBN: 1558608745

Ее пока никто нигде найти не смог - а поиметь хотелось бы, на edaboard отзывы от тех, кто читал на бумаге - самые положительные.
AlexBoy
Вопрос в корень: А нужен ли ARM вообще для этой задачи? Если нужно опрашивать порты и писать на флешку, то можно поставить скажем AVR Mega8...128 в зависимости от объема программы. По цене будет раз в 10 дешевле и разобраться быстрее. Все зависит от потока данных сложности математики.
Vasso
Цитата(AlexBoy @ Mar 20 2006, 14:39) *
Вопрос в корень: А нужен ли ARM вообще для этой задачи? Если нужно опрашивать порты и писать на флешку, то можно поставить скажем AVR Mega8...128 в зависимости от объема программы. По цене будет раз в 10 дешевле и разобраться быстрее. Все зависит от потока данных сложности математики.

Не нужен. Математики 0, всего остального тоже 0 :-)
Но: цены в таких масштабах (по отношению к цене устройства) роли не играет.
Это эксперементальный проект... Дабы потом не учиться писать под этот микроконтроллер лучше сделать это сейчас... Его на долго должно хватить....
Кароче пульнем пушкой по воробъям а там посмотримсс.....
Цитата(Evgeny_CD @ Mar 17 2006, 11:18) *
4. Ось как таковая безусловно, полезная и правильня вещь (кроме исключительных ситуаций). Но если Вам еще только предстоит познать мир embedded осей - начните с осворения пакета CrossWorks
http://www.rowley.co.uk/arm/index.htm
В его состав входит очень простая Tasling Lib. С некоторой натяжкой ее можно назваться ОСью - но для изучения самое то. К сожалению, этот пакет "в лоб" в стандартной поставке CrossWorks нет поддержки 9200 (странно - мне казалось, что вроде раньше был blink.gif ), но многие использую этот пакет именно с 9200 - так что, вероятно, народ поделится инфой.

Для него нашел keygen генерит лицензии любого типа (подходит и для всей линейки - AVR и т.д.). Просто редкая вещь - кряк нашелся в секунду, а вот кейген пришлось полчасика поискать...

Цитата(Evgeny_CD @ Mar 20 2006, 12:34) *
ARM System Developer's Guide, First Edition : Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)

Пока нету
Igor657
Настоятельно рекомендую купить KIT.
Практика показывает, что это самый быстрый путь разработки.
Кстати, в случае с AT91RM9200 не самый дорогой.
Иначе вы получаете уравнение с многими неизвестными, которое очень не просто решить:
Что не работает хард или софт?
Оптимальный путь для создания новой разработки иметь хоть что-нибудь гарантированно
исправно работающее.

Удачи во всех начинаниях !
Evgeny_CD
Цитата(Vasso @ Mar 20 2006, 17:51) *
Для него нашел keygen генерит лицензии любого типа (подходит и для всей линейки - AVR и т.д.). Просто редкая вещь - кряк нашелся в секунду, а вот кейген пришлось полчасика поискать...
Выложите его куда-нибудь на rapidshare (только не на форум!!!) - сравним с другими вариантами.


Цитата(Igor657 @ Mar 20 2006, 18:03) *
Настоятельно рекомендую купить KIT.
Верно! тем более, что уже образовалась целая тусовка вокруг такого кита -
http://electronix.ru/forum/index.php?showtopic=11654
Vasso
Интересует также что представляет из себя установка Win CE куда-нибудь, например на этот микроконтроллер....

Цитата(Evgeny_CD @ Mar 20 2006, 17:07) *
Цитата(Vasso @ Mar 20 2006, 17:51) *
Для него нашел keygen генерит лицензии любого типа (подходит и для всей линейки - AVR и т.д.). Просто редкая вещь - кряк нашелся в секунду, а вот кейген пришлось полчасика поискать...
Выложите его куда-нибудь на rapidshare (только не на форум!!!) - сравним с другими вариантами.

Та понятно
хттп://rapidshare.de/files/15980652/Crossworks.zip.html
Evgeny_CD
Цитата(Vasso @ Mar 20 2006, 18:32) *
Та понятно
хттп://rapidshare.de/files/15980652/Crossworks.zip.html
Хм.. Пока не запускал (боязно, размер довольно большой, хотя антивири заявляют о девственной чистоте файла), но такого тут еще не пробегало...
Vasso
Цитата(Evgeny_CD @ Mar 20 2006, 17:44) *
Цитата(Vasso @ Mar 20 2006, 18:32) *
Та понятно
хттп://rapidshare.de/files/15980652/Crossworks.zip.html
Хм.. Пока не запускал (боязно, размер довольно большой, хотя антивири заявляют о девственной чистоте файла), но такого тут еще не пробегало...

Во боязный народ... :-)
Ну кароче кейген точно и точно рабочий. А вот не навешен ли кто-нить злобный не знаю... Но я качал не оттуда где таким занимаються и мои антивирусы тоже сказали что все чики-пики.
Evgeny_CD
Цитата(Vasso @ Mar 20 2006, 20:40) *
...Но я качал не оттуда где таким занимаються и мои антивирусы тоже сказали что все чики-пики.
Ну тогда a14.gif .
Vasso
Цитата(Evgeny_CD @ Mar 20 2006, 20:14) *
Цитата(Vasso @ Mar 20 2006, 20:40) *
...Но я качал не оттуда где таким занимаються и мои антивирусы тоже сказали что все чики-пики.
Ну тогда a14.gif .

Скинь линку плиз где тут такое раздают - хай народ юзает.
Есть еще есть книжа: Фрунзе Микроконтроллеры это же просто в 3-х томах на русском. Если нада - могу гденить покласть...
Vasso
Кстати, кто сможет помочь на первых порах?
Скажем по аське...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.