Linux для embedded применений

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Linux для embedded применений

Непрочитанное сообщение Olej » 18 окт 2011, 01:00

Это вещь совершенно неочевидная: как использовать Linux, или какие клоны Linux, для встраиваемого оборудования.
Пока оставлю только ссылку на очень приличный форум, где можно кой-чего почерпнуть по этому вопросу.

P.S. с этим всем просто любопытно ознакомиться, для того, чтобы представлять применения Linux вне десктоп-окружения.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 18 ноя 2011, 15:21

Вот очень любопытная публикация: Linux kernel debug , имеющая прямое продолжение в эту тему ... но всё у меня руки не доходят описать как организовать такой процесс:
- собирается ядро под требуемую чужеродную архитектуру (ARM, MIPS, PPC, etc.) + целевые приложения для такой embedded будущей концигурации;
- запускается это всё под QEMU виртуальной машиной (только нужно ещё QEMU под нужную архитектуру подобрать - это тоже ещё один "пунктик" рассмотрения);
- запускается это QEMU ;-) из-под GDB...
- и отлаживается embedded архитектура изделия.

Вот ровно то, что описано в статье относительно десктопа, остаётся перенести на вот такую "стендовую" модель...
Чуть попозже распишу как это у меня получалось ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 01:20

Olej писал(а):Чуть попозже распишу как это у меня получалось ;-)
Вот теперь достало времени чуть-чуть этим заняться, начиная с того, что привести в систему то, что делалось раньше...
Итак, что я хочу?

1. кроссово на x86 хосте собирать toolchain (полный набор инструментальных средств) и root filesystem (корневую файловую систему) для своей target (целевой) Linux системы, которая может быть на самой разной аппаратной архитектуре (ARM, MIPS, PPC, ...) из числа тех, что вообще поддерживаются компилятором GCC (а таких на сегодня сильно много).
Для определённости я буду себе собирать ARM архитектуру.

2. запустить QEMU виртуальную под требуемую аппаратную архитектуру.

3. затолкать в п.2 полученное в п.1 (т.е. перекопировать всё необходимое в виртуальную машину) + некоторый набор нужных мне приложений (пусть пока тестового свойства)...

4. загрузить эту систему.

5. но этого мало: хотелось бы наблюдать все происходящие там процессы с помощью GDB.

Ну вот, постановка задачи готова ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 01:28

Olej писал(а): 1. кроссово на x86 хосте собирать
Для этих дел существует некоторое число инструментальных проектов, свободных и коммерческих...
Для определённости нужно на чём-то остановиться. Я буду раскручивать всё пользуясь пакетом BuildRoot.
Почему этим? Только потому, что:
1. он free
2. активно обновляется
3. ... у меня ранее с ним всё получалось ;-)
Это не значит, что это лучшее средство, или нет лучшего ... если кто знает - подсказывайте.

Итак:
- страница проекта: http://www.buildroot.org/docs.html
- свободно скачиваем здесь: http://www.buildroot.org/download.html
- оригинальная самая свежая документация: http://www.buildroot.org/downloads/buildroot.html (очень ограниченная)
- есть русскоязычный перевод (как оказалось это перевод предыдущего п.): http://www.teleology.mobi/files/infotec ... _utf8.html (к какой версии он относится мне не удалось установить).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 12:03

Olej писал(а): Итак:
- страница проекта: http://www.buildroot.org/docs.html
- свободно скачиваем здесь: http://www.buildroot.org/download.html
- оригинальная самая свежая документация: http://www.buildroot.org/downloads/buildroot.html (очень ограниченная)
- есть русскоязычный перевод (как оказалось это перевод предыдущего п.): http://www.teleology.mobi/files/infotec ... _utf8.html (к какой версии он относится мне не удалось установить).
Начало традиционное ;-) :

1. скачиваем...

2. разархивируем tar ... - для этих tools нам нигде не понадобятся права root, разархивируем в любом укромном месте, я думаю, что лучше всего это делать в $HOME, чтоб не дразнить собак ;-)

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ pwd
/home/olej/buildroot-2011.08
[olej@notebook buildroot-2011.08]$ du -hs
19M     .
- пока (!) это совсем небольшой пакет.

3. русскоязычный перевод, упоминаемый выше, относится к достаточно старой версии, она годится, но только для ознакомительных целей, поэтому пользуемся только оригинальной документацией.

Зачем мне вообще нужен этот BuildRoot? ... или любой другой подобный пакет?
Когда мы сделаем make попозже... :
This command will generally perform the following steps:

Download source files (as required)
Configure, build and install the cross-compiling toolchain if an internal toolchain is used, or import a toolchain if an external toolchain is used
Build/install selected target packages
Build a kernel image, if selected
Build a bootloader image, if selected
Create a root filesystem in selected formats
Это всё можно сделать и вручную, но уж о-о-о-о-очень тягомутно :lol:
1-й пункт - это сгрузить всё великое множество исходников:
- компилятор GCC ...
- стандартная библиотека C...
- исходники ядра Linux...
- разные tools (m4, automake, ...)
- утилиты для targen, типа GNU/POSIX командных утилит, а ещё лучше BusyBox - набор тех же консольных утилит для малых встраиваемых систем...
- др. ;-)
Дальше всё это будет строится: п.2 и далее...
Из перечисленного видно, что ... сборка ядра Linux (как общеизвестная задача) - детская забава по сравнению с тем объёмом работы, который предстоит сделать BuildRoot (хотя бы просто потому, что скачать и собрать ядро Linux предстоит в ходе этой работы как одну из частных задач) ... и это как по объёму (скачивания), так и по трудоёмкости (времени выполнения).

Но в этом месте уже приходится вспоминать, и разыскивать некоторые разъяснения... (прежде чем приступать).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 12:16

Olej писал(а): - компилятор GCC ...
Зачем нам собирать компилятор GCC? :-o (вот здесь я несколько запутался :oops: )...
Ведь он а). у нас есть + б). везде написано :lol: , что GCC поддерживает компиляцию во множество аппаратных платформ!

Поддерживает то он поддерживает, но потенциально, а та сборка GCC, что присутствует в нашем x86 десктопном дистрибутиве - не поддерживает! Как в известном анекдоте: "... зисть то вин зисть, та хтож йому падлюци дасть?!". В этом очень легко убедиться:

Код: Выделить всё

[olej@notebook ~]$ gcc -b arm
/usr/bin/gcc: error trying to exec '/usr/bin/arm-gcc-4.4.4': execvp: Нет такого файла или каталога
[olej@notebook ~]$ gcc -b mips
/usr/bin/gcc: error trying to exec '/usr/bin/mips-gcc-4.4.4': execvp: Нет такого файла или каталога
[olej@notebook ~]$ gcc -b ppc
/usr/bin/gcc: error trying to exec '/usr/bin/ppc-gcc-4.4.4': execvp: Нет такого файла или каталога
[olej@notebook ~]$ ls -l /usr/bin/*gcc*
-rwxr-xr-x 2 root root 240552 Июн 30  2010 /usr/bin/gcc
-rwxr-xr-x 2 root root 240552 Июн 30  2010 /usr/bin/i686-redhat-linux-gcc
Так что начинать нужно со сборки самого компилятора GCC, заточенного под команды требуемой аппаратной платфомы.
Olej писал(а): - стандартная библиотека C...
В принципе, понятно: пересобираем компилятор, например по версии GCC - изволь пересобирать реализующую системные вызовы стандартную библиотеку C.
Но здесь (в BuildRoot) у нас есть интересные альтернативные выборы: собрать вместо большой POSIX стандартной библиотеки малую uClibc - для встраиваемых систем.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 13:14

Вот теперь можно собирать встроенную систему, здесь многое напоминает конфигурирование и сборку ядра Linux (которой по-существу и является):

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ make help
Cleaning:
  clean                  - delete all files created by build
  distclean              - delete all non-source files (including .config)

Build:
  all                    - make world

Configuration:
  menuconfig             - interactive curses-based configurator
  nconfig                - interactive ncurses-based configurator
  xconfig                - interactive Qt-based configurator
  gconfig                - interactive GTK-based configurator
  oldconfig              - resolve any unresolved symbols in .config
  randconfig             - New config with random answer to all options
  defconfig              - New config with default answer to all options
  savedefconfig          - Save current config as ./defconfig (minimal config)
  allyesconfig           - New config where all options are accepted with yes
  allnoconfig            - New config where all options are answered with no
  randpackageconfig      - New config with random answer to package options
  allyespackageconfig    - New config where pkg options are accepted with yes
  allnopackageconfig     - New config where package options are answered with no
  busybox-menuconfig     - Run BusyBox menuconfig
  uclibc-menuconfig      - Run uClibc menuconfig

Miscellaneous:
  source                 - download all sources needed for offline-build
  source-check           - check all packages for valid download URLs
  external-deps          - list external packages used
...
  qemu_arm_versatile_defconfig        - Build for qemu_arm_versatile
  qemu_mipsel_malta_defconfig         - Build for qemu_mipsel_malta
  qemu_ppc_g3beige_defconfig          - Build for qemu_ppc_g3beige
  qemu_sh4_r2d_defconfig              - Build for qemu_sh4_r2d
  qemu_x86_defconfig                  - Build for qemu_x86
  sheevaplug_defconfig                - Build for sheevaplug
...
Я предпочитаю menuconfig, поскольку он использует ncurses, и его легко выполнять по ssh, но это может быть и графическое конфигурирование... Ну и поехали ;-)

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ make menuconfig
...
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
1.png
1.png (48.56 КБ) 20216 просмотров
2.png
2.png (56.7 КБ) 20132 просмотра
и т.д и т.п. - там великое множество (слишком великое) конфигурационных параметров ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 13:44

Дальше уже можем делать

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ time make 
...
P.S. здесь пошли очень длительные операции, поэтому их лучше делать под time, чтоб на следующий раз хоть знать, чего ожидать ;-)

Но! ... как уже было сказано, такой make будет: а). download исходник + б). make этот исходник...
Причём именно в последовательности: download1, make1, download2, make2, ... если на downloadN (через 2 часа сборки ;-) ) возникнет ошибка (просто URL требуемого пакета сменился), то весь процесс прервётся. Возможно, имеет смысл предварительно:

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ make source-check
#
# configuration written to /home/olej/buildroot-2011.08/.config
#
...
Включен режим робота. Проверка существования удалённого файла.
--2011-11-21 01:11:35--  https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_9_RTM/src//
Распознаётся ftp.mozilla.org... 63.245.209.137, 3ff5:d189:3090:3001:dead:beef:cafe:fed4
Устанавливается соединение с ftp.mozilla.org|63.245.209.137|:443... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 5984608 (5,7M) [application/x-gzip]
Удалённый файл существует.
...
- проверка доступности ВСЕХ! файлов. Или даже:

Код: Выделить всё

[olej@notebook buildroot-2011.08]$ make source
...
- download все исходники, необходимые для сборки.

Я предварительно загрузки не делал и вот:

Код: Выделить всё

[olej@nvidia buildroot-2011.08]$ time make
...
--2011-11-21 02:02:47--  http://www.kernel.org/pub//linux/kernel/v2.6//linux-2.6.38.8.tar.bz2
Распознаётся www.kernel.org... 149.20.4.69
Устанавливается соединение с www.kernel.org|149.20.4.69|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 74811146 (71M) [application/x-bzip2]
Saving to: «/home/olej/buildroot-2011.08/dl/linux-2.6.38.8.tar.bz2»
...
/usr/lib/ccache/gcc  -O2 -I/home/olej/buildroot-2011.08/output/host/include -I/home/olej/buildroot-2011.08/
/usr/bin/ld: cannot find -lc
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [insmod.static] Ошибка 1
make[2]: Выход из каталога `/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12/build'
make[1]: *** [all-all] Ошибка 2
make[1]: Выход из каталога `/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12'
make: *** [/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12/.stamp_built] Ошибка 2

real    28m41.115s
user    11m53.697s
sys     3m43.161s
- здесь мы видим загрузку исходников ядра (в числе многих-многих других исходников) и ... ошибку...
Есть некоторые пакеты дистрибутива, которые должны быть у вас предварительно установлены для сборки, в данном случае - это статическая библиотека glibc. Этому делу легко помочь:

Код: Выделить всё

[olej@nvidia ~]$ yum list all glibc*
...
Установленные пакеты
glibc.i686                                                              2.13-2
glibc-common.i686                                                       2.13-2
glibc-devel.i686                                                        2.13-2
glibc-headers.i686                                                      2.13-2
Доступные пакеты
glibc-static.i686                                                       2.13-2
glibc-utils.i686                                                        2.13-2
[olej@nvidia ~]$ sudo yum install glibc-static
...
Объем загрузки: 1.1 M
Будет установлено: 4.4 M
Продолжить? [y/N]: y
...
Запускается сценарий
  Установка      : glibc-static-2.13-2.i686

Установлено:
  glibc-static.i686 0:2.13-2

Готово!

Но я нигде в документации BuildRoot не встречал указания на это, что может привести в замешательство. Ещё одним таким пакетом (прерывающим сборку) может быть bison.

После доустановки:

Код: Выделить всё

[olej@nvidia buildroot-2011.08]$ time make
...
rootdir=/home/olej/buildroot-2011.08/output/target
table='/home/olej/buildroot-2011.08/output/build/_device_table.txt'
rm -f /home/olej/buildroot-2011.08/output/build/.fakeroot*

real    5m26.625s
user    4m2.834s
sys     0m45.166s
И смотрим время сборки: 5m26.625s + 28m41.115s = ~34m
Это:
а). чистое время задачи, не считая других загрузок ОС;
б). на очень быстром процессоре:

Код: Выделить всё

[olej@nvidia ~]$ cat /proc/cpuinfo | head -n10
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core  CPU      E6600  @ 3.06GHz
в). сборку там make организует в 2 процессора (-j2), 2 - это у меня, а вообще - в числе доступных core...

И по размеру:

Код: Выделить всё

[olej@nvidia buildroot-2011.08]$ du -hs
2,5G    .
Вот на такие ресурсы нужно быть готовым, приступая к игрищам с embedded :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 13:51

Смотрим, что у нас насобиралось (здесь русскоязычный перевод BuildRoot совершенно устарел и делает дезинформацию!):

Код: Выделить всё

[olej@nvidia busybox-1.18.5]$ pwd
/home/olej/buildroot-2011.08/output/build/busybox-1.18.5
[olej@nvidia busybox-1.18.5]$ file busybox 
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
[olej@nvidia linux-2.6.38.8]$ pwd
/home/olej/buildroot-2011.08/output/build/linux-2.6.38.8
[olej@nvidia linux-2.6.38.8]$ file vmlinux 
vmlinux: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
- убедились, что это действительно ARM код.

Код: Выделить всё

[olej@nvidia images]$ pwd
/home/olej/buildroot-2011.08/output/images
[olej@nvidia images]$ ls -l
итого 6636
-rw-rw-r--. 1 olej olej 1873920 Ноя 21 10:16 rootfs.cpio
-rw-rw-r--. 1 olej olej 3136512 Ноя 21 10:16 rootfs.ext2
-rwxrwxr-x. 1 olej olej 1779744 Ноя 21 02:19 zImage
- а это то, что нам нужно для загрузки в QEMU.

Везде я показал каталоги где что искать ... иначе в документации BuildRoot будете долго читать

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Linux для embedded применений

Непрочитанное сообщение Olej » 21 ноя 2011, 14:10

К этому времени мы разобрались только с п.1 в начале сформулированной программы:
Olej писал(а): Итак, что я хочу?

1. кроссово на x86 хосте собирать toolchain (полный набор инструментальных средств) и root filesystem (корневую файловую систему) для своей target (целевой) Linux системы, которая может быть на самой разной аппаратной архитектуре (ARM, MIPS, PPC, ...) из числа тех, что вообще поддерживаются компилятором GCC (а таких на сегодня сильно много).
Для определённости я буду себе собирать ARM архитектуру.

2. запустить QEMU виртуальную под требуемую аппаратную архитектуру.
Теперь переходим к вопросу: что там у нас с QEMU?
Нам нужен QEMU под архитектуру ARM. Он не всегда будет установлен в разных дистрибутивах (может понадобиться доустановка). Проверяем:

Код: Выделить всё

[olej@nvidia 20]$ yum list all qemu*
Загружены модули: langpacks, presto, refresh-packagekit
Adding ru_RU to language list
Установленные пакеты
qemu.i686                                            2:0.13.0-1.fc14                               @updates
qemu-common.i686                                     2:0.13.0-1.fc14                               @updates
qemu-img.i686                                        2:0.13.0-1.fc14                               @updates
qemu-kvm.i686                                        2:0.13.0-1.fc14                               @updates
qemu-kvm-tools.i686                                  2:0.13.0-1.fc14                               @updates
qemu-launcher.noarch                                 1.7.4-7.fc12                                  @fedora 
qemu-system-arm.i686                                 2:0.13.0-1.fc14                               @updates
qemu-system-cris.i686                                2:0.13.0-1.fc14                               @updates
qemu-system-m68k.i686                                2:0.13.0-1.fc14                               @updates
qemu-system-mips.i686                                2:0.13.0-1.fc14                               @updates
qemu-system-ppc.i686                                 2:0.13.0-1.fc14                               @updates
qemu-system-sh4.i686                                 2:0.13.0-1.fc14                               @updates
qemu-system-sparc.i686                               2:0.13.0-1.fc14                               @updates
qemu-system-x86.i686                                 2:0.13.0-1.fc14                               @updates
qemu-user.i686                                       2:0.13.0-1.fc14                               @updates

Код: Выделить всё

[olej@nvidia 20]$ which qemu-system-arm
/usr/bin/qemu-system-arm
[olej@nvidia ~]$ which qemu-system-arm
/usr/bin/qemu-system-arm
[olej@nvidia ~]$ qemu-system-arm --help
QEMU emulator version 0.13.0 (qemu-kvm-0.13.0), Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]

'disk_image' is a raw hard disk image for IDE hard disk 0

Standard options:
-h or -help     display this help and exit
-version        display version information and exit
-M machine      select emulated machine (-M ? for list)
-cpu cpu        select CPU (-cpu ? for list)
-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]
                set the number of CPUs to 'n' [default=1]
                maxcpus= maximum number of total cpus, including
                offline CPUs for hotplug, etc
                cores= number of CPU cores on one socket
                threads= number of threads on one CPU core
                sockets= number of discrete sockets in the system
....
Здесь может смутить то, что:

Код: Выделить всё

[olej@nvidia ~]$ qemu --help
QEMU emulator version 0.13.0 (qemu-kvm-0.13.0), Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]

'disk_image' is a raw hard disk image for IDE hard disk 0
...
- в точности совпадает с тем, что выводит и qemu-system-arm, и предположение, что это подсказка из одной и той же программы... :-? Но сравниваем (сначала идёт default - qemu = x86, а затем qemu-system-arm):

Код: Выделить всё

[olej@nvidia ~]$ qemu -M ?
Supported machines are:
pc         Standard PC (alias of pc-0.13)
pc-0.13    Standard PC (default)
fedora-13  Standard PC
pc-0.12    Standard PC
pc-0.11    Standard PC, qemu 0.11
pc-0.10    Standard PC, qemu 0.10
isapc      ISA-only PC
[olej@nvidia ~]$ qemu-system-arm -M ?
Supported machines are:
syborg     Syborg (Symbian Virtual Platform)
musicpal   Marvell 88w8618 / MusicPal (ARM926EJ-S)
mainstone  Mainstone II (PXA27x)
n800       Nokia N800 tablet aka. RX-34 (OMAP2420)
n810       Nokia N810 tablet aka. RX-44 (OMAP2420)
cheetah    Palm Tungsten|E aka. Cheetah PDA (OMAP310)
sx1        Siemens SX1 (OMAP310) V2
sx1-v1     Siemens SX1 (OMAP310) V1
tosa       Tosa PDA (PXA255)
akita      Akita PDA (PXA270)
spitz      Spitz PDA (PXA270)
borzoi     Borzoi PDA (PXA270)
terrier    Terrier PDA (PXA270)
connex     Gumstix Connex (PXA255)
verdex     Gumstix Verdex (PXA270)
lm3s811evb Stellaris LM3S811EVB
lm3s6965evb Stellaris LM3S6965EVB
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
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
integratorcp ARM Integrator/CP (ARM926EJ-S) (default)
- это тип компьютера

Код: Выделить всё

[olej@nvidia ~]$ qemu -cpu ?
x86           [n270]
x86         [athlon]
x86       [pentium3]
x86       [pentium2]
x86        [pentium]
x86            [486]
x86        [coreduo]
x86          [kvm32]
x86         [qemu32]
x86          [kvm64]
x86       [core2duo]
x86         [phenom]
x86         [qemu64]
[olej@nvidia ~]$ qemu-system-arm -cpu ?
Available CPUs:
  arm926
  arm946
  arm1026
  arm1136
  arm1136-r2
  arm11mpcore
  cortex-m3
  cortex-a8
  cortex-a9
  ti925t
  pxa250
  pxa255
  pxa260
  pxa261
  pxa262
  pxa270
  pxa270-a0
  pxa270-a1
  pxa270-b0
  pxa270-b1
  pxa270-c0
  pxa270-c5
  any
- а это тип CPU этого компьютера

Это те параметры, которые нам очень понадобятся при запуске симулятора embedded ARM.

Ответить

Вернуться в «Одноплатные компьютеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя