24.06.2014 Настройка и ресурсы Xilinx ZYNQ ZC702
Ustinov (обсуждение | вклад) (→Запуск Linux с карты памяти) |
Ustinov (обсуждение | вклад) |
||
Строка 41: | Строка 41: | ||
== Прошиваем Linux в QSPI Flash == | == Прошиваем Linux в QSPI Flash == | ||
− | + | После загрузки Linux с карты памяти, примонтируем её: | |
<source lang="bash">mount /dev/mmcblk0p1 /mnt </source> | <source lang="bash">mount /dev/mmcblk0p1 /mnt </source> | ||
− | + | Далее вводим команду: | |
<source lang="bash">cat /proc/mtd</source> | <source lang="bash">cat /proc/mtd</source> | ||
− | + | Видим следующее: | |
[[Файл:ZYNQ mtd.png]] | [[Файл:ZYNQ mtd.png]] | ||
Строка 57: | Строка 57: | ||
'''mtd3''' отведен для '''uramdisk.image.gz''' | '''mtd3''' отведен для '''uramdisk.image.gz''' | ||
− | + | Соответственно, переходим в подмантированную папку ''/mnt'' и вводим следующие команды для записи: | |
<source lang="bash">flashcp -v boot.bin /dev/mtd0 | <source lang="bash">flashcp -v boot.bin /dev/mtd0 | ||
flashcp -v uImage /dev/mtd1 | flashcp -v uImage /dev/mtd1 | ||
Строка 65: | Строка 65: | ||
== Модификация FS == | == Модификация FS == | ||
− | + | Качаем FS по-умолчанию: [http://www.wiki.xilinx.com/file/view/arm_ramdisk.image.gz/419243558/arm_ramdisk.image.gz RamDisk]. | |
− | + | Распаковываем его: | |
<source lang="bash">gunzip ramdisk.image.gz</source> | <source lang="bash">gunzip ramdisk.image.gz</source> | ||
− | + | Монтируем распакованное содержимое: | |
<source lang="bash"> | <source lang="bash"> | ||
chmod u+rwx ramdisk.image | chmod u+rwx ramdisk.image | ||
Строка 75: | Строка 75: | ||
cd tmp_mnt/ | cd tmp_mnt/ | ||
</source> | </source> | ||
− | + | Делаем нужные изменения. | |
− | + | Отмантироваемся и запаковываем: | |
<source lang="bash"> | <source lang="bash"> | ||
sudo umount tmp_mnt/ | sudo umount tmp_mnt/ | ||
gzip ramdisk.image | gzip ramdisk.image | ||
</source> | </source> | ||
− | + | Для загрузки в железку данный образ должен быть "обернут" в U-Boot: | |
<source lang="bash">mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz</source> | <source lang="bash">mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz</source> | ||
− | + | Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше: | |
<source lang="bash"> | <source lang="bash"> | ||
dd if=/dev/zero of=ramdisk.image bs=1024 count=8192 | dd if=/dev/zero of=ramdisk.image bs=1024 count=8192 |
Версия 16:53, 26 июня 2014
|
About
Как всегда для сохранения ценной информации, используем SRNS.ru. Полезная информация для ZYNQ не станет исключением.
Запуск Linux с карты памяти
Готовые релизы Linux можно найти по данной ссылке. Выберем релиз 2014.2, т.к. он основа на ядре 3.14, к которому применим preempt_rt патч. Распаковываем архив:
Подготавливаем карту памяти как в этой статье. Из скачанного архива 2014.2-release.tar.xz на карту памяти копируем следующие файлы:
- boot.bin
- uImage
- devicetree.dtb
- uramdisk.image.gz
Карточку вставляем в ZYNQ, джамперы (SW16) выставляем в комбинацию 00110, что выглядит как:
На компе запускаем скрипт:
set line /dev/ttyUSB0
set FLOW none
set speed 115200
set serial 8n1
SET CARRIER-WATCH Off
connect
Включаем плату и видим загрузку Linux. Для логина используем Username & Password: root.
Прошиваем Linux в QSPI Flash
После загрузки Linux с карты памяти, примонтируем её:
Далее вводим команду:
Видим следующее:
mtd0 отведен для boot.bin
mtd1 отведен для uImage
mtd2 отведен для devicetree.dtb
mtd3 отведен для uramdisk.image.gz
Соответственно, переходим в подмантированную папку /mnt и вводим следующие команды для записи:
flashcp -v uImage /dev/mtd1
flashcp -v devicetree.dtb /dev/mtd2
flashcp -v uramdisk.image.gz /dev/mtd3
- Чтобы грузиться с QSPI Flash необходимо переключить джамперы (SW16) в комбинацию 00010.
Модификация FS
Качаем FS по-умолчанию: RamDisk. Распаковываем его:
Монтируем распакованное содержимое:
mkdir tmp_mnt/
sudo mount -o loop ramdisk.image tmp_mnt/
cd tmp_mnt/
Делаем нужные изменения. Отмантироваемся и запаковываем:
gzip ramdisk.image
Для загрузки в железку данный образ должен быть "обернут" в U-Boot:
Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше:
mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk.image -i 0
chmod a+rwx ramdisk.image
Если в заранее скачанном релизе имеем уже "завернутый" образ, то перед тем как его модифицировать, по вышеуказанному мануалу, его необходимо развернуть, пропустив первые 64 байта:
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.