![]() |
|
Модераторы: bsa |
![]()
|
|
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Имеется плата AT91SAM9263-EK, очень хочется научиться на нем программировать, но поскольку она построена на ARM9, естесно первая мысль это использовать ОС реал тайм или Линукс, имею опыт программмирования мелких контроллеров, там проше: написал прошивку, залил на МК и запустил, можно даже отлаживать. Покопался в интернете, не смог для себя уяснить следующее: как программировать под встриваемым Линуском? Я так понял, что Линукс устанавливается на плату, а на компе пишется программа допустим в среде Eclipse c gnu-toolchain и заливается в плату, только я не могу понять каким образом можно отлаживать на реальной железе? Или программируется конкретно на железе используя подключение COM-порта? Прошу извинить за ламерские вопросы, но очень хотелось бы понять.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
никто тебе не запрещает делать программу, работающую без ОС. Даже есть уже готовые toolchain'ы для этого (поищи, toolchain arm9). Но поддерживать оборудование тоже придется самому. Что, имхо, не есть айс...
Лично я использовал buildroot (гугл знает о ней). Но я ее успел только настроить на базовую работу, как проект был задвинут... Писать свои программы надо на компе. а в плату загонять уже готовую прошивку (со всеми программами). Или настроить nfs и гонять файлы по сети... |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: -1 Всего: 16 |
Короткий ответ: как хочешь, так и отлажываешься.
По сути, это обычный компьютэр. Соответственно, все варианты, доступные для обычного компьютэра: подключить терминал к Serial-порту, и открыть там пользовательскую сэссию или вообще поднять framebuffer на его TFT-шнике, и подключить клавиатуру через USB, или через ssh по сети зайти, или вставить отладочные мигания в нужных точках на изменение состояния портов GPIO с подвешэнными LEDами на них... По сравнению с обычным компом только ещё вариант взять полноцэнный JTAG, и смотреть состояние процэссора и памяти через него добавляется. |
|||
|
||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Спасибо!
Я так понял, что отлаживать можно на компе, к которому девелоп борд подключен через Com-порт или Ethernet, и отлаживать можно на терминальке (я имею ввиду в ОС Линукс) в режиме реального времени. С помошью какой GUI-среды обычно программируют? EClipse или что-то дугое? Написал код, далее откомпилировав, получил бинарник, я его должен на плату скопировать и запустить чтобы отлаживать, так понял? Или среда разработки должна тоже находиться на плате? Где вообще можно почитать начинающему по шагам о программировании встраиваемых систем? Спасибо , |
|||
|
||||
| tzirechnoy |
|
||||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: -1 Всего: 16 |
Я использую vim+zsh. С уважэнием отношусь к тем, кто использует emacs. Эклипсы, нетбинсы, мсвсы и другие нотепады считаю за тупое, тормозное и ненужное барахло. Но это тема не для этого форума, и вообще к вопросу не относится.
Как вариант. Ещё раз: обычный комп, ну, по сути сервер. Хочешь -- копируешь бинарник, хочешь -- монтируешь по nfs или ftpfs.
Тожэ возможно. Хотя, в общем, 64Mb RAM сейчас маловато дажэ для некоторых компиляторов, да и тормозные эти процэссоры не в пример среднему десктопу.
Ещё раз: по-настоящему особенные встраиваемые были когда у тебя было 1k RAM и десяток кб флэша. И ключевые особенности вроде необходимости наличия программатора ты ужэ на них, видимо, изучил. 64 метра и современное линукс-ядро на борту -- это вполне обычный юниксовый комп. |
||||||||
|
|||||||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
из отладки - трассировка (аля syslog через minicom)
gdb client на плате + gdb хостовой машины |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
да, конечно сервер
|
|||
|
||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Не подскажите, на плате с МК AT91SAM9263 установлены только Dataflash и 400 Кб ПЛИсовской памяти, будут ли эти ресурсы хватать на Линукс? КАкие минимальные требования? Я начинающий, исходя из прочитанных мною интернет-источников, понял так, что требуется загрузчик uboot, linux-ядро и rootfs, и нужно дисковое пространство в виде Nandflash, вроде я так понял..
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Скомпилированное ядро занимает пару мегабайт. Загрузчик не обязателен. Можешь сам написать. Это не сложно. Считываешь с носителя (мы использовали SD карту) ядро в определенную (не помню в какую, надо доки смотреть) область памяти (хотя это и не обязательно, достаточно просто в свободную память), формируешь строку инициализации (параметры ядра) и передаешь ядру управление. ВСЕ. Дальше ядро стартует, запускает драйверы, пытается примонтировать корневую ФС и выполнить /sbin/init. Если не удается - kernel panic.
Это сообщение отредактировал(а) bsa - 17.11.2011, 14:52 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Короче, до меня кто-то развел плату с этим процессором, наверное была цель использовать как большой контроллер, но объем задач увеличился и появилась потребность в использовании РТОС, у ПЛИС есть встроенный SRAM, часть из них через EBI используется микроконтроллером как внешний sram. Заинтересовала сначала eCOS, но вот незадача - не смог найти порт под AT91sam9263, где бы его достать? Зашел на сайт ecospro, там предлагают 5 тысяч баксов и вышлют диск.. |
|||
|
||||
| xvr |
|
||||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
SRAM в FPGA обычно меряется в килобитах, в 400 Kb - это капля в море
Под конкретно AT91sam9263 порта нет, есть под AT91sam7 и отдельно под ARM9 семейство. Придется доточить до вашей конфигурации самому
|
||||||||||||
|
|||||||||||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
xvr, спасибо огромное!
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
В последний раз я активно занимался с eCos лет 10 назад. На sam9 не портировал, и в планах не стоит (кстати, сам sam9 весьма и весьма могучая штука, на нем скорее какой нибудь КПК сделать можно). В планах стоят ARM'ы поскромнее.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |