Linux для embedded применений
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Linux для embedded применений
Это вещь совершенно неочевидная: как использовать Linux, или какие клоны Linux, для встраиваемого оборудования.
Пока оставлю только ссылку на очень приличный форум, где можно кой-чего почерпнуть по этому вопросу.
P.S. с этим всем просто любопытно ознакомиться, для того, чтобы представлять применения Linux вне десктоп-окружения.
Пока оставлю только ссылку на очень приличный форум, где можно кой-чего почерпнуть по этому вопросу.
P.S. с этим всем просто любопытно ознакомиться, для того, чтобы представлять применения Linux вне десктоп-окружения.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Вот очень любопытная публикация: Linux kernel debug , имеющая прямое продолжение в эту тему ... но всё у меня руки не доходят описать как организовать такой процесс:
- собирается ядро под требуемую чужеродную архитектуру (ARM, MIPS, PPC, etc.) + целевые приложения для такой embedded будущей концигурации;
- запускается это всё под QEMU виртуальной машиной (только нужно ещё QEMU под нужную архитектуру подобрать - это тоже ещё один "пунктик" рассмотрения);
- запускается это QEMU из-под GDB...
- и отлаживается embedded архитектура изделия.
Вот ровно то, что описано в статье относительно десктопа, остаётся перенести на вот такую "стендовую" модель...
Чуть попозже распишу как это у меня получалось
- собирается ядро под требуемую чужеродную архитектуру (ARM, MIPS, PPC, etc.) + целевые приложения для такой embedded будущей концигурации;
- запускается это всё под QEMU виртуальной машиной (только нужно ещё QEMU под нужную архитектуру подобрать - это тоже ещё один "пунктик" рассмотрения);
- запускается это QEMU из-под GDB...
- и отлаживается embedded архитектура изделия.
Вот ровно то, что описано в статье относительно десктопа, остаётся перенести на вот такую "стендовую" модель...
Чуть попозже распишу как это у меня получалось
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Вот теперь достало времени чуть-чуть этим заняться, начиная с того, что привести в систему то, что делалось раньше...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 писал(а): 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 писал(а): Итак:
- страница проекта: 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
1-й пункт - это сгрузить всё великое множество исходников:
- компилятор GCC ...
- стандартная библиотека C...
- исходники ядра Linux...
- разные tools (m4, automake, ...)
- утилиты для targen, типа GNU/POSIX командных утилит, а ещё лучше BusyBox - набор тех же консольных утилит для малых встраиваемых систем...
- др.
Дальше всё это будет строится: п.2 и далее...
Из перечисленного видно, что ... сборка ядра Linux (как общеизвестная задача) - детская забава по сравнению с тем объёмом работы, который предстоит сделать BuildRoot (хотя бы просто потому, что скачать и собрать ядро Linux предстоит в ходе этой работы как одну из частных задач) ... и это как по объёму (скачивания), так и по трудоёмкости (времени выполнения).
Но в этом месте уже приходится вспоминать, и разыскивать некоторые разъяснения... (прежде чем приступать).
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Зачем нам собирать компилятор GCC? (вот здесь я несколько запутался )...Olej писал(а): - компилятор GCC ...
Ведь он а). у нас есть + б). везде написано , что 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 - изволь пересобирать реализующую системные вызовы стандартную библиотеку C.Olej писал(а): - стандартная библиотека C...
Но здесь (в BuildRoot) у нас есть интересные альтернативные выборы: собрать вместо большой POSIX стандартной библиотеки малую uClibc - для встраиваемых систем.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Вот теперь можно собирать встроенную систему, здесь многое напоминает конфигурирование и сборку ядра Linux (которой по-существу и является):
Я предпочитаю menuconfig, поскольку он использует ncurses, и его легко выполнять по ssh, но это может быть и графическое конфигурирование... Ну и поехали
и т.д и т.п. - там великое множество (слишком великое) конфигурационных параметров
Код: Выделить всё
[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
...
Код: Выделить всё
[olej@notebook buildroot-2011.08]$ make menuconfig
...
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Дальше уже можем делать
P.S. здесь пошли очень длительные операции, поэтому их лучше делать под time, чтоб на следующий раз хоть знать, чего ожидать
Но! ... как уже было сказано, такой make будет: а). download исходник + б). make этот исходник...
Причём именно в последовательности: download1, make1, download2, make2, ... если на downloadN (через 2 часа сборки ) возникнет ошибка (просто URL требуемого пакета сменился), то весь процесс прервётся. Возможно, имеет смысл предварительно:
- проверка доступности ВСЕХ! файлов. Или даже:
- download все исходники, необходимые для сборки.
Я предварительно загрузки не делал и вот:
- здесь мы видим загрузку исходников ядра (в числе многих-многих других исходников) и ... ошибку...
Есть некоторые пакеты дистрибутива, которые должны быть у вас предварительно установлены для сборки, в данном случае - это статическая библиотека glibc. Этому делу легко помочь:
Но я нигде в документации BuildRoot не встречал указания на это, что может привести в замешательство. Ещё одним таким пакетом (прерывающим сборку) может быть bison.
После доустановки:
И смотрим время сборки: 5m26.625s + 28m41.115s = ~34m
Это:
а). чистое время задачи, не считая других загрузок ОС;
б). на очень быстром процессоре:
в). сборку там make организует в 2 процессора (-j2), 2 - это у меня, а вообще - в числе доступных core...
И по размеру:
Вот на такие ресурсы нужно быть готовым, приступая к игрищам с embedded
Код: Выделить всё
[olej@notebook buildroot-2011.08]$ time make
...
Но! ... как уже было сказано, такой 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
...
Я предварительно загрузки не делал и вот:
Код: Выделить всё
[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
Это:
а). чистое время задачи, не считая других загрузок ОС;
б). на очень быстром процессоре:
Код: Выделить всё
[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
И по размеру:
Код: Выделить всё
[olej@nvidia buildroot-2011.08]$ du -hs
2,5G .
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
Смотрим, что у нас насобиралось (здесь русскоязычный перевод BuildRoot совершенно устарел и делает дезинформацию!):
- убедились, что это действительно ARM код.
- а это то, что нам нужно для загрузки в QEMU.
Везде я показал каталоги где что искать ... иначе в документации 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
Код: Выделить всё
[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
Везде я показал каталоги где что искать ... иначе в документации BuildRoot будете долго читать
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Linux для embedded применений
К этому времени мы разобрались только с п.1 в начале сформулированной программы:
Нам нужен QEMU под архитектуру ARM. Он не всегда будет установлен в разных дистрибутивах (может понадобиться доустановка). Проверяем:
Здесь может смутить то, что:
- в точности совпадает с тем, что выводит и qemu-system-arm, и предположение, что это подсказка из одной и той же программы... Но сравниваем (сначала идёт default - qemu = x86, а затем qemu-system-arm):
- это тип компьютера
- а это тип CPU этого компьютера
Это те параметры, которые нам очень понадобятся при запуске симулятора embedded ARM.
Теперь переходим к вопросу: что там у нас с QEMU?Olej писал(а): Итак, что я хочу?
1. кроссово на x86 хосте собирать toolchain (полный набор инструментальных средств) и root filesystem (корневую файловую систему) для своей target (целевой) Linux системы, которая может быть на самой разной аппаратной архитектуре (ARM, MIPS, PPC, ...) из числа тех, что вообще поддерживаются компилятором GCC (а таких на сегодня сильно много).
Для определённости я буду себе собирать ARM архитектуру.
2. запустить 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
...
Код: Выделить всё
[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
Это те параметры, которые нам очень понадобятся при запуске симулятора embedded ARM.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей