LINUX.ORG.RU

http://wiki.debian.org/ArmEabiPort
http://wiki.debian.org/ArmEabiHowto

Программирование под ARM имеет некоторые особенности, типа mixed endian double (читаем о FPA), а по большому счёту тоже самое что под x86. При работе с памятью не следует забывать о выравнивании.

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

Си прекрасно позволяют писать на низком уровне. Особенно GCC c его замечательными ассемблерными вставками.

alexru ★★★★
()

Ты один из 1000 профессионалов, которых нанял Балмер, чтобы выпилить мобайл 7?

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

>мне надо на низком уровне туда писать. под ядро и не факт, что линуксовое.

arm system developer's guide хотя подозреваю даташит будет основным с чем придется работать, ибо процессорно-зависимые вещи реализованы в ядре а работать придется с конкретным soc и его реализацией контроллеров dma, прерываний и разной периферией включая системный таймер.

imhotep
()
Ответ на: комментарий от Dark_SavanT

Я так и писал. gcc поддерживает avr. Плюс небольшая либа на асме которая умела, скажем, менять уровень сигнала на ногах(на gpio или как эти ноги называются). Линух в 4кб памяти не впихнёшь :).

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

avr и ARM - "несколько" разные архитектуры и писать под них по разному. в AVR камне у тебя перифирии-то: UART, ШИМ и сигналы на ноги, в особо извращенных случаях - ethernet, но это сильно редко для AVR камней.

короче, сейчас фтыкаю в даташит :)

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

с железякой армовой играюсь :) а для нормального "играюсь" надо быть в курсе того как оно работает.

Dark_SavanT ★★★★★
() автор топика

> исходников всякой мути

Исходники другой мути. =))) Однако, если быть серьёзным, то я бы рекомендовал следующу последовательность:
0. Подобрать нужную аппаратную реализацию. В виде "отладочной платы". рулят у нас по ряду причин Oymex'ы, так то, подобрать что нужно там не проблема.

1. Даташиты. На целевой ARM. Тот, что присобачен на плату. Их (АРМов), как минимум, не один. И надо быть в курсе того, что ждать на конкретной железяке. Конкретные адреса в пределах одного ряда ARM могут разниться.

2. Разобраться с toolchain на нужный процессор. И подобрать для своего случая потребный toolchain + (возможно) удобную среду. Вот пример того, как оно происходит -> http://openocd.berlios.de/doc/html/index.html и http://www.makingthings.com/wiki/eclipse-openocd-gnu-arm-toolchain

Или jilynch'евский туториал -> http://www2.amontec.com/sdk4arm/ext/jlynch-tutorial-20061124.pdf
Тут всё в куче.

Виндовый вариант мало интересен. В принципе, можно собрать линуксовый.
http://www.yagarto.de/
http://www.arm.linux.org.uk/developer/toolchain/
Когда разберётесь с тем, что нужно, "на руках" у Вас будет gcc, binutils, coreutils, gdb там всякие... Короче, полный набор софта именно для используемого Вами процессора. Тогда можете смело отказаться от 2удобной" среды и вернуться к привычной.

3. Разобраться с тем, что именно хочется поднять на ARM'е. Вариантов несколько -- от самописного кода. Всего. Включая bootloader (см. п.1), оно там обычно прописывается. И это ГИМОР! И до использования чего-нибудь типа FreeRTOS или eCOS (это сделано Red Hat'ом, достойная вещь). При подъёме на ARM'е системы придётся изменить сырец системы (или включить в свой код). Как минимум, добавив в проект файл описания платы (аппаратной платформы). В туториале jilycha (если глянуть, добавляется файлец AT91SAM7S256.h, по-моему. Это оно и есть. Там прописаны адреса, (явки, пароли) для вполне конкретной платы от болгарского производителя Olymex. Там же прописаны адреса флеша, портов, ... Короче всего. Без этого файлеца Ваш проект жить не будет.

Чуть не забыл -- под плату и проц нужен JTAG. Это такая колодочка-разъёмчик через который крайне удобно заливать на плату код (в принципе, на некоторых плптах можно по USB, но через jTAG проще) и, самое главное, через JTAG крайне удобно отлаживаться. В ряде случаев это единственный путь.

Ну, в общем как-то так.

the_Shadow
()

погугли какую нить книгу по программированию MCU на ARM7. там тебе разжуют основы а далее уже ARM[9|11] и даташиты по конкретным SoC'ам

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

>>Чуть не забыл -- под плату и проц нужен JTAG. Это такая колодочка-разъёмчик через который крайне удобно заливать на плату код (в принципе, на некоторых плптах можно по USB, но через jTAG проще) и, самое главное, через JTAG крайне удобно отлаживаться. В ряде случаев это единственный путь.

пассивный JTAG-LPT адаптер делается за 5ть минут из одних только резюков.

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

> пассивный JTAG-LPT адаптер делается за 5ть минут из одних только резюков.

В принципе, да. Однако я перешёл с радостию великой на USB-JTAG. И возрадовался.

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