OSDev
http://osdev.su/

Какой ARM выбрать?
http://osdev.su/viewtopic.php?f=6&t=764
Страница 1 из 3

Автор:  vlad9486 [ 16 июл 2013, 01:23 ]
Заголовок сообщения:  Какой ARM выбрать?

Пишу ОС для amd64, уже много сделал, хочу пописать для ARM, разобраться с новой платформой. Оказалось, что их много :)
Вот вопрос: какой лучше взять процессор и какую машину? Хочется чтобы графика какая-то была.

$ qemu-system-arm -machine -h
выводит:
Код:
Supported machines are:
none                 empty machine
collie               Collie PDA (SA-1110)
nuri                 Samsung NURI board (Exynos4210)
smdkc210             Samsung SMDKC210 board (Exynos4210)
connex               Gumstix Connex (PXA255)
verdex               Gumstix Verdex (PXA270)
highbank             Calxeda Highbank (ECX-1000)
integratorcp         ARM Integrator/CP (ARM926EJ-S) (default)
kzm                  ARM KZM Emulation Baseboard (ARM1136)
mainstone            Mainstone II (PXA27x)
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
sx1                  Siemens SX1 (OMAP310) V2
sx1-v1               Siemens SX1 (OMAP310) V1
cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
akita                Akita PDA (PXA270)
spitz                Spitz PDA (PXA270)
borzoi               Borzoi PDA (PXA270)
terrier              Terrier PDA (PXA270)
lm3s811evb           Stellaris LM3S811EVB
lm3s6965evb          Stellaris LM3S6965EVB
tosa                 Tosa PDA (PXA255)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
versatileab          ARM Versatile/AB (ARM926EJ-S)
vexpress-a9          ARM Versatile Express for Cortex-A9
vexpress-a15         ARM Versatile Express for Cortex-A15
xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
z2                   Zipit Z2 (PXA27x)

$ qemu-system-arm -cpu help
выводит:
Код:
Available CPUs:
  arm1026
  arm1136
  arm1136-r2
  arm1176
  arm11mpcore
  arm926
  arm946
  cortex-a15
  cortex-a8
  cortex-a9
  cortex-m3
  pxa250
  pxa255
  pxa260
  pxa261
  pxa262
  pxa270-a0
  pxa270-a1
  pxa270
  pxa270-b0
  pxa270-b1
  pxa270-c0
  pxa270-c5
  sa1100
  sa1110
  ti925t
  any

Автор:  SII [ 16 июл 2013, 11:47 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

В ARMах нет какой-либо стандартизации любой периферии. Даже контроллеры прерываний и системные таймеры стандартизировали лишь в 7-й версии архитектуры (ядра Cortex с разными "добавками"). Всё остальное -- какие устройства есть, как они подключаются, как программируются и т.д. и т.п. -- определяет производитель процессора. Как с этим обстоит дело в эмуляторах, не имею ни малейшего понятия, поскольку не использую их

Кое-какие сведения на русском об ARMах, особенностях версий архитектур и т.д. можно получить здесь: http://ru.osdev.wikia.com/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_ARM. Но, если начинать работать, придётся по-любому искать документацию. На собственно процессор всё скачивается с сайта самой ARM (требуется регистрация), на процессор -- с сайта его производителя. В то же время многие производители документацию не открывают вообще или открывают лишь частично. В частности, никто не открывает документацию на графические процессоры (хотя, если документация в целом открыта, будут и сведения о том, как отображать растровую картинку из ОЗУ на дисплей -- т.е. не будет документации по графическому процессору, но будет по железякам, собственно обеспечивающим вывод видео, а значит, картинку можно будет формировать средствами центрального процессора).

Автор:  pavia [ 16 июл 2013, 12:57 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

Насколько мне известно в большинстве случаев в ARM видео устройство отделено от GPU.
И выводить картинку можно средствами CPU.
На видео устройство стандарты открытые.
Что касается GPU то они закрытые. Хотя ARM сейчас заканчивает или закончил разработку своего GPU.
По поводу закрытого GPU фирма производитель выпускает драйвера. И их можно попробовать прикрутить к своей ОС. Во всяком случае думаю надо изучить опыт BeOS, как они драйвера получили.

Цитата:
ядра Cortex с разными "добавками"
кто историю читал тот знает что изначально Cortex ядра делались для FPGA. Производитель может сам составить свою систему на кристале, вернее систему в ПЛИС. А при таком раскладе стандартными устройствами и не пахнет.

Автор:  vlad9486 [ 16 июл 2013, 14:45 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

Спасибо, я приблизительно понял. Буду экспериментировать, вот нашел http://xecdesign.com/qemu-emulating-ras ... -easy-way/ может еще кому сгодится, там написано как Raspberry Pi сделать, с него наверное начну. Мне особо крутая графика и не надо, просто хочу отладку делать не только смотря регистры, или память, а и читая осмысленные сообщения, выведенные самим ядром.

Автор:  SII [ 16 июл 2013, 17:22 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

С Raspberry Pi та проблема, что в самой железяке используется процессор от Broadcom, документация на который закрыта (точней, доступна, но под NDA, ну а Вы для фирмы никто и звать Вас никак, а соответственно, ничего они Вам не предоставят).

Что касается графических процессоров от самого ARM, то они существуют, и довольно давно, но документация на них тоже закрыта (доступна под NDA, т.е. опять-таки не по нашей части). Во всяком случае, в прошлом году была ещё закрыта. Кроме того, в разных процессорах используется разная графика (вплоть до полного отсутствия таковой), как и прочая периферия, и никаких стандартов здесь нет вообще. Даже у одной и той же фирмы одно и то же по назначению устройство в разных сериях процессоров может программироваться совершенно по-разному.

Автор:  tlx [ 29 июл 2013, 19:04 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

Я вот увлекся ARMv8. Кручу Linux в эмуляторе. Смотрю исходники. В сборках Android, подготовленных Linaro, начинает появлятся поддержка этой платформы.

Автор:  vlad9486 [ 30 июл 2013, 00:00 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

Я тоже этот выбрал. Теперь пишу параллельно для двух платформ. Ищу доки к тому эмулятору от Linaro (Foundation Model
). По той ПДФ, что внутри ничего не понятно.

Автор:  tlx [ 30 июл 2013, 08:13 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

vlad9486, как у тебя с выводом на экран? Я выделял код инициализации видеоадаптера платформы VersatilePB из Linux.

По поводу ARMv8, ты прав, документации мало. Linaro планирует добавить поддержку в qemu, может у них есть доступ к закрытой, пока, ARMv8 Architecture Reference Manual.

Думаю, что Foundation Model заточен под Linux, и проще будет отталкиваться от готовых мануалов по пересборке ядра для ARMv8. Можешь отлаживать свой код, добавляя в ядро. Потом, когда ARMv8 будет нормально эмулироваться qemu, просто вынешь его.

Автор:  vlad9486 [ 30 июл 2013, 13:20 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

Еще ничего не вывел. Вывод на экран зависит от машины, в осдев он нужен только для отладки. Потому мне нужны нормальные мануалы по Foundation Model, а не по ARM. По ARM я нашел какую-то PDF`ку ARMv8 Instruction Set Overview. А за код спасибо, буду разбираться.

Автор:  tlx [ 30 июл 2013, 15:06 ]
Заголовок сообщения:  Re: Какой ARM выбрать?

vlad9486, если позволишь, пара вопросов:

1) Как ты относишься к Linux (опираешься ли на его код в своем проекте)?
2) Какие цели у проекта? Если делаешь что-то не закрытое, я мог бы помочь, если хочешь.
3) Я переводил (на OSDev вики) pdf-ку о которой ты говоришь (всё ни как руки не дойдут ошибки исправить). Планирую перевести ARMv8 Architecture Reference Manual, когда она появится. Присоединишься?

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/