ADRV9371 + Arria 10 SoC Development Kit

guet208發表於2020-10-10

Arria 10 SoC和ADRV9371搭配,實現iioscope檢視射頻訊號。首先需要下載準備下面資料:
HDL Project: a10soc

Linux Kernel: altera_4.6

Linux Config: socfpga_adi_defconfig

Linux Devicetree: socfpga_arria10_socdk_adrv9371.dts
Prebuilt Image: a10soc_adrv9371x_dev.zip

Prebuilt 2016_R2 Image: a10soc_adrv9371x_2016_r2.zip

Prebuilt 2017_R1 Image: a10soc_adrv9371x_2017_r1.zip

編譯Preloader 和 Bootloader Image

開啟 SoC Embedded Design Suite (EDS) 16.0 Command Shell
改變檔案目錄到工程所在目錄,新建一個新的BSP設定檔案:
bsp-create-settings --type uboot --bsp-dir software/uboot_bsp --preloader-settings-dir hps_isw_handoff --settings software/uboot_bsp/settings.bsp --set uboot.rbf_filename adrv9371x_a10soc.rbf

在software\uboot_bsp\uboot-socfpga\include\configs\socfpga_arria10.h檔案中CONFIG_EXTRA_ENV_SETTINGS定義加入下面幾行程式碼:


“bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait\0”
“fdtimagesize=0x9f00\0”
“loadaddr=0x10000\0”
“ethaddr=1c:76:ca:01:23:45\0”

編譯工程檔案:
cd software/uboot_bsp/
make

建立Preloader 和 Bootloader 分割槽

dragos@debian:~$ time sudo dd if=2015_R2-2016_07_26.img of=/dev/mmcblk0 bs=4194304
1895+0 records in
1895+0 records out
7948206080 bytes (7.9 GB) copied, 503.909 s, 15.8 MB/s

real 8m23.919s
user 0m0.020s
sys 0m6.376s
dragos@debian:~$ sync
dragos@debian:~$ sudo fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.25.2).

Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00096174

Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 1056767 1048576 512M c W95 FAT32 (LBA)
/dev/mmcblk0p2 1056768 14497791 13441024 6.4G 83 Linux
/dev/mmcblk0p3 14497792 14499839 2048 1M a2 unknown

Command (m for help): d
Partition number (1-3, default 3): 3

Partition 3 has been deleted.

Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (2048-31116287, default 2048): 4096
Last sector, +sectors or +size{K,M,G,T,P} (4096-8191, default 8191): +1M

Created a new partition 3 of type ‘Linux’ and of size 1 MiB.

Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): a2

Changed type of partition ‘Linux’ to ‘unknown’.

Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00096174

Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 1056767 1048576 512M c W95 FAT32 (LBA)
/dev/mmcblk0p2 1056768 14497791 13441024 6.4G 83 Linux
/dev/mmcblk0p3 4096 6143 2048 1M a2 unknown

Partition table entries are not in disk order.

Command (m for help): w
The partition table has been altered.

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

dragos@debian:~$ sync
dragos@debian:~$ time sudo dd if=uboot_w_dtb-mkpimage.bin of=/dev/mmcblk0p3
2048+0 records in
2048+0 records out
1048576 bytes (1.0 MB) copied, 0.199898 s, 5.2 MB/s

real 0m0.206s
user 0m0.000s
sys 0m0.004s
dragos@debian:~$ sync

相關文章