LINUX.ORG.RU

Построение системы для ARM платы


0

0

Добрый день. Я начинаю работать с архитектурой ARM, и мне нужно создать arm9-based компьютер с LCD и сенсорным экраном, строю планы на Qtopia, м.б. в перспективе будем делать свой arm-комп. У нас есть отладочная плата atmel at91sam9263-ek. Поскольку начинают всегда с начала, я занялся созданием образа системы(вначале консоль) для at91sam9263-ek, но вот нигде нет howto get arm9 working. Ессно, я гуглил, и вот какие у меня представления о мире:

1) Cross Linux from scratch - берёшь исходники linux и основных пакетов, берёшь кросскомпилер и компилишь. Затем создаёшь на своём диске образ ФС и кидаешь туда то, что накомпилилось. При этом как учитываются особенности архитектуры(хотя бы bootstrap), непонятно. Не для новичка.

2) Установка Debian - качаешь debian-40r1-arm-xfce-CD-1.iso, заливаешь на at91sam9263-ek какое-то ПО, позволяющее запуститься с CD и устанавливаешь Debian. Непонятно, где взять это ПО. Документации нет абсолютно.

3) OpenEmbedded - есть некий набор инструментов, в котором есть две кнопки: "настроить..." и "собрать образ". Настройка, видимо, не так проста, т.к. документации для разработчиков больше, чем для пользователей.

4) Arm Linux - опять же некий набор инструментов, про который я не могу прочитать, т.к. сайт http://www.arm.linux.org.uk/ у меня не грузится, хотя и пингуется.

5) at91sam9 BSP от TimeSys - некий набор инструментов(free 1-month subscription), который должен заработать быстрее всех(т.к. заточка под моё железо), но я его пока не могу загрузить из-за какой-то ошибки регистрации.

А вопросы такие:

i) Верны ли мои представления о мире и правильно ли я выбрал 5й вариант?

ii) Обязательно ли в остальных вариантах ставить патчи под свой конкретный процессор или есть некая универсальная конфигурация наподобие i386?

iii) Можно ли собрать консольную систему за недельку? :)

Спасибо если прочитали, ещё большее спасибо если написали ответ.



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

// wbr

klalafuda ★☆☆
()

> i) Верны ли мои представления о мире и правильно ли я выбрал 5й вариант?

У меня нет никакого опыта построения компьютеров на ARM. Я собирал дистрибутивы GNU/Linux для себя для NEC MobilePro 780 (NEC VR4121) и HP iPAQ 4700 (Intel PXA270). Из средств для сборки пробовал OpenEmbedded, buildroot и Gentoo. Сейчас больше всего понравился Gentoo. Попробую кратко описать каждую из систем:

* OpenEmbedded ставит кросс-средства для сборки пакетов, сам их настраивает, ими всё компилит;

* buildroot работает почти так же, как и OpenEmbedded, но написан значительно проще, под него меньше пакетов, зато он заточен под uClibc;

* Gentoo собирается на target device, для ускорения сборки можно использовать distcc и кросс-средства на build host;

Gentoo понравился тем, что мне не нужно больше патчить ./configure-скрипты, чтобы заставить их проходить тесты (они иногда пытаются скомпилировать что-то target-компилятором и запустить на build host, после чего, конечно же, обламываются), не нужно хранить staging версии библиотек;

> ii) Обязательно ли в остальных вариантах ставить патчи под свой конкретный процессор или есть некая универсальная конфигурация наподобие i386?

Есть универсальная конфигурация "arm", если я правильно понял вопрос. Практически всегда приходится патчить ядро для поддержки нужного железа (LCD-контроллер, устройства ввода, сенсоры батареи, звук). Рекомендуется (хотя часто и не обязательно) патчить компилятор патчами под конкретный процессор, чтобы ускорить работу некоторых программ за счёт использования всяких хитрых специфичных для него инструкций (например, iwmmxt на PXA270).

> iii) Можно ли собрать консольную систему за недельку? :)

OpenEmbedded вполне собирается с GPE (X11 desktop environment) за день. Gentoo можно собрать на ARM PXA270 620MHz/64Mb RAM за неделю (если без distcc). С distcc - за 2-3 дня.

p.s. всё вышесказанное - IMHO

kmeaw ★★★
()

По поводу #2.

Debian можно устанавливать по сети, на таргете для этого нужно загрузить ядро Linux (можно по сети же, через TFTP/BOOTP или что там твоя доска поддерживает).

Кстати, а диск на доске какой?

execve
()

Разве TimeSys не за деньги? Вроде его как ни кто не использует. Debian tool-chain вроде нормально работает.

Думаю лучше ставить патчи от atmel, если они есть и почитать, что оин советуют. Вообще, насколько я понимаю они сделали AVR32 как конкурента arm.

yantux
()

http://www.arm.linux.org.uk/

Сайт не содержит инструментов, просто описывает софт под arm, некоторые фишки ядра, которые могут быть полезны. Насколько я понял для них ориентир debian.

yantux
()

Благодарю за участие! Теперь по порядку:

> AFAIK у самого Атмела есть своя сборка Linux под их железки

Если имеется в виду демонстрация Linux, то действительно, есть и работает, но уже в виде образов.

> OpenEmbedded вполне собирается с GPE (X11 desktop environment) за день

Это видимо подготовленным пользователем. У меня же нет вообще никакого опыта во встраиваемых системах :(

> Debian можно устанавливать по сети

А так кто-нибудь делает? Спрашиваю потому, что если это считается извращением, то и мануалов по такому способу скорее всего не найти.

> Кстати, а диск на доске какой?

Диск не подключал, а в комплекте идёт SD-катрточка 8Mb.

> Разве TimeSys не за деньги? Вроде его как ни кто не использует. Debian tool-chain вроде нормально работает.

Они заявляют, что есть исходники ядра и glibc, а uLibc - за деньги. Плюс расширенный набор пакетов, поддержка, бла-бла-бла.

А где почитать про Debian tool-chain? Сколько гуглил ни разу такого слова не видел...

> Думаю лучше ставить патчи от atmel, если они есть и почитать, что оин советуют

Вот именно TimeSys они и советуют. Я ссылку встретил на сайте at91sam, причём не в 3rd party tools, а в разделе поддержки от Atmel. Вроде как это совместный проект, а TimeSys, насколько я понял, пытается подсадить разработчиков на свой тулчайн как на героин, заманивая бесплатной первой дозой :)

philip
() автор топика
Ответ на: комментарий от kmeaw

А по какой литературе можно собрать под OpenEmbedded за день? На самом сайте мануал не доделан, есть ещё мануал по BitBake и ещё нашёл OpenEmbedded Howto(http://www.uv-ac.de/openembedded/openembedded.html) Что читать? :)

philip
() автор топика
Ответ на: комментарий от philip

>Если имеется в виду демонстрация Linux, то действительно, есть и >работает, но уже в виде образов.

К ним должны прилагаться исходники, поищите на ихнем сайте или запросите у тех, у кого вы покупали отладочную плату.

fghj ★★★★★
()
Ответ на: комментарий от philip

>А где почитать про Debian tool-chain? Сколько гуглил ни разу такого слова не видел...

http://www.google.ru/search?hl=ru&newwindow=1&q=wiki+Debian+tool-chai...

В вашем случае заливка может идти по jtag, tftp. Это стандартные средства. С jtag не работал, с tftp работал - совсем не сложный способ закачки образа на таргет. На арме наверняка уже прошит какойнить монитор. Они обычно простые, команду help набурёте всё будет понятно.

yantux
()
6 ноября 2007 г.

Предлагаю посмотреть в сторону AVR32. Это готовая система на кристалле (SoC). На кристалле есть всё, включая драйвер TFT панели. Ознакомиться с AVR32 можно тут http://www.avr32.ru/f2/viewtopic.php?t=12 В розницу камень стоит ~$15

Есть достаточно дешёвый вариант для старта - NGW100. Мне эта плата обошлась в ~$72. Плата обсуждается тут http://www.avr32.ru/f2/viewtopic.php?t=25

Как вариант могу предложить решение на AT91RM9200, в частности на 9200. Вот мой модуль. http://www.avr32.ru/example.rar

Короче, это клон (1:1) вот этой платы http://www.telemetry.ru/docs/UTC920LXv1.pdf

avr32
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.