pluto-fs调试记录

前言

环境介绍:

1.版本

pluto-fs-v0.38


一、u-boot环境

1.1 zynq_pluto_defconfig路径:

u-boot-xlnx/configs/zynq_pluto_defconfig

1.2 设备数dts

u-boot-xlnx/arch/arm/dts/zynq-pluto-sdr.dts

1.3 bootcmd 命令修改

u-boot-xlnx/include/configs/zynq_zc70x.h
u-boot-xlnx/include/configs/zynq-common.h

1.4 uboot编译命令

make -C u-boot-xlnx ARCH=arm zynq_pluto_defconfig
make -C u-boot-xlnx ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- UBOOTVERSION="PlutoSDR v0.38-dirty"
cp u-boot-xlnx/u-boot build/u-boot.elf

1.5 boot启动命令

默认boot env存放与spi flash

fatload mmc 0 8000 zImage
fatload mmc 0 103cdda8 devicetree.dtb
bootz 8000 - 103cdda8

fatload mmc 0 00000000 zImage
fatload mmc 0 05000000 devicetree.dtb
bootz 00000000 - 05000000

setenv bootcmd ‘mmcinfo && fatload mmc 0 8000 zImage && fatload mmc 0 103cdda8 devicetree.dtb;bootz 8000 - 103cdda8’

setenv bootargs ‘console=ttyPS0,115200 root=/dev/mmcblk1p2 rootwait rw rootfstype=ext4’

cp build_sdimg/* /media/walle/FAT/
tar -xvf /home/walle/ad9361/plutosdr-fw-0.38/buildroot/output/images/rootfs.tar -C /media/walle/EXT/
sudo eject /media/walle/FAT/

losetup /dev/loop7 /opt/vfat.img -o 512

二、kernel

2.1 kernel编译命令

make -C linux ARCH=arm zynq_pluto_defconfig
make -C linux ARCH=arm menuconfig
make -C linux ARCH=arm savedefconfig
make -C linux -j 8 ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zImage UIMAGE_LOADADDR=0x8000
#设备树
make -C linux -j 8 ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq-pluto-sdr.dtb
cp linux/arch/arm/boot/dts/zynq-pluto-sdr.dtb build/zynq-pluto-sdr.dtb
cp linux/arch/arm/boot/zImage build/zImage

2.2 修改配置为9364,收音机功能

linux/arch/arm/boot/dts/zynq-pluto-sdr.dtsi

// compatible = "adi,ad9363a";
compatible = "adi,ad9364";

系统起来后,/etc/init.d/S23udc文件根据/sys/bus/iio/devices/*下面的pro的设备名称生成/etc/libiio.ini文件,里面保存了设备的相关信息
进入系统后修改,输入如下命令

fw_setenv attr_name compatible
fw_setenv attr_val "ad9364"
pluto_reboot reset

三、rootfs

make -C buildroot ARCH=arm zynq_pluto_defconfig
make -C buildroot ARCH=arm menuconfig
make -C buildroot ARCH=arm savedefconfig
make
make -C buildroot TOOLCHAIN_EXTERNAL_INSTALL_DIR= ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- BUSYBOX_CONFIG_FILE=/home/michael/devel/pluto/plutosdr-fw/buildroot/board/pluto/busybox-1.25.0.config all

四、根目录Makefile解读

4.1 system_top.xsa生成

build/system_top.xsa:  | build
ifeq (1, ${HAVE_VIVADO})
	bash -c "source $(VIVADO_SETTINGS) && make -C hdl/projects/$(TARGET) && cp hdl/projects/$(TARGET)/$(TARGET).sdk/system_top.xsa $@"
	unzip -l $@ | grep -q ps7_init || cp hdl/projects/$(TARGET)/$(TARGET).srcs/sources_1/bd/system/ip/system_sys_ps7_0/ps7_init* build/
else ifneq ($(XSA_FILE),)
	cp $(XSA_FILE) $@
else ifneq ($(XSA_URL),)
	wget -T 3 -t 1 -N --directory-prefix build $(XSA_URL)
endif

其中$@ 是 Makefile 中的一个自动变量,表示当前规则的目标文件。在你提供的代码中,$@ 对应的是 build/system_top.xsa。

make -C的-C 是 make 的一个选项,表示更改工作目录后再执行 make 命令。

4.2 添加本地xsa文件

XSA_FILE ?= /home/walle/ad9361/hdl-hdl_2022_r2/projects/pluto/pluto.vitis/system_top/hw/system_top.xsa

?=: 这是 Makefile 中的条件赋值运算符。它的作用是 仅在 XSA_FILE 变量尚未定义时,给它赋一个默认值。如果 XSA_FILE 已经在其他地方定义了(如在命令行或环境变量中),那么 ?= 赋值将会被忽略。也就是说,它允许你指定一个默认路径,但仍然支持外部覆盖。

五、设置窗口代理

export http_proxy="http://127.0.0.1:7890/"
export https_proxy="https://127.0.0.1:7890/"


export all_proxy="socks5://127.0.0.1:7890/"
curl -vv https://www.github.com


git config --global http.proxy socks5 127.0.0.1:7890
git config --global https.proxy socks5 127.0.0.1:7890

git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890

六、设置单板环境变量

setenv bootcmd 'mmcinfo && fatload mmc 0 8000 zImage && fatload mmc 0 103cdda8 devicetree.dtb;bootz 8000 - 103cdda8'

setenv sdboot 'mmcinfo && fatload mmc 0 0x2080000 uImage && fatload mmc 0 0x2000000 devicetree.dtb && fatload mmc 0 0x4000000 uramdisk.image.gz;bootm 0x2080000 0x4000000 0x2000000'

setenv bootargs 'console=ttyPS0,115200 maxcpus=1 rootfstype=ramfs root=/dev/ram0 rw quiet loglevel=7 clk_ignore_unused'

setenv bootargs 'console=ttyPS0,115200 root=/dev/mmcblk1p2 rootwait rw rootfstype=ext4 debug=7'

七、弹出U盘命令

sudo eject /media/walle/FAT/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值