24.06.2014 Настройка и ресурсы Xilinx ZYNQ ZC702
Материал из SRNS
|
About
Как всегда для сохранения ценной информации, используем SRNS.ru. Полезная информация для ZYNQ не станет исключением.
Запуск Linux с карты памяти
- Готовые релизы Linux можно найти по данной ссылке. Выберем релиз 2014.2, т.к. он основа на ядре 3.14, к которому применим preempt_rt патч.
- Распаковываем архив:
tar xvJf 2014.2-release.tar.xz
- Подготавливаем карту памяти как в этой статье.
- Из скачанного архива 2014.2-release.tar.xz на карту памяти копируем следующие файлы:
- boot.bin
- uImage
- devicetree.dtb
- uramdisk.image.gz
- Карточку вставляем в ZYNQ, джамперы (SW16) выставляем в комбинацию 00110, что выглядит как:
- На компе запускаем скрипт:
#!/usr/bin/kermit
set line /dev/ttyUSB0
set FLOW none
set speed 115200
set serial 8n1
SET CARRIER-WATCH Off
connect
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 с карты памяти, примонтируем её:
mount /dev/mmcblk0p1 /mnt
- Далее вводим команду:
cat /proc/mtd
- Видим следующее:
mtd0 отведен для boot.bin
mtd1 отведен для uImage
mtd2 отведен для devicetree.dtb
mtd3 отведен для uramdisk.image.gz
- Соответственно, переходим в подмантированную папку /mnt и вводим следующие команды для записи:
flashcp -v boot.bin /dev/mtd0
flashcp -v uImage /dev/mtd1
flashcp -v devicetree.dtb /dev/mtd2
flashcp -v uramdisk.image.gz /dev/mtd3
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.
- Распаковываем его:
gunzip ramdisk.image.gz
- Монтируем распакованное содержимое:
chmod u+rwx ramdisk.image
mkdir tmp_mnt/
sudo mount -o loop ramdisk.image tmp_mnt/
cd tmp_mnt/
mkdir tmp_mnt/
sudo mount -o loop ramdisk.image tmp_mnt/
cd tmp_mnt/
- Делаем нужные изменения.
- Отмантироваемся и запаковываем:
sudo umount tmp_mnt/
gzip ramdisk.image
gzip ramdisk.image
- Для загрузки в железку данный образ должен быть "обернут" в U-Boot:
mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz
- Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше:
dd if=/dev/zero of=ramdisk.image bs=1024 count=8192
mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk.image -i 0
chmod a+rwx ramdisk.image
mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk.image -i 0
chmod a+rwx ramdisk.image
Если в заранее скачанном релизе имеем уже "завернутый" образ, то перед тем как его модифицировать, по вышеуказанному мануалу, его необходимо развернуть, пропустив первые 64 байта:
dd if=uramdisk.image.gz bs=64 skip=1 of=ramdisk.image.gz
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.