linux操作系统命令编译文件系统,Zynq ZC706 传统方式移植Linux -- 编译kernel 文件系统 devicetree...

1.kernel

b3a434d542f9710f498deac6db481fa8.png

518dabf82e628d80e8f69bdae6463e76.png

实际操作时候,下面两条命令就够了。

make ARCH=arm xilinx_zynq_defconfig

make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage LOADADDR=0x00008000

2.文件系统

55516429dd0bbc6d780044823f8b0e89.png

实际操作命令:

gunzip ramdisk.image.gz

mkdir file_tmp

sudo mount arm_ramdisk.image -o loop ./file_tmp/

sudo umount ./file_tmp

gzip ramdisk.image

sudo apt-get install u-boot-tools

sudo mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz

3.devicetree

4f76a5cc1bc8024bd5bc7c0cc74c1da5.png

35e8c1a1b621f582ed148864f05d29ce.png

8f276f6421afc5057e0955c97e516b4b.png

设备树编译出错

a.错误信息

$ ./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts

Error: ./arch/arm/boot/dts/zynq-zc706.dts:7.1-9 syntax error

FATAL ERROR: Unable to parse input tree

b.原因

根据提示,是zynq-zed.dts这个文件的15行出错。

将该行修改为 /include/ “zynq-7000.dtsi”

c.重新执行命令

./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts

可以在顶层目录看到生成的 devicetree.dtb 设备树文件

d.另一个解决方法:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

在./arch/arm/boot/dts/目录下会生成zynq-zed.dtb文件,

两个设备树文件内容是一样的,只是文件名不同。

实际操作执行以下命令:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs (一路Y)

在路径/home/zhangyi/work/linux-xlnx-master/arch/arm/boot/dts下生成zynq-zc706.dtb

改名为devicetree.dtb

将BOOT.bin devicetree.dtb uImage uramdisk.image.gz 拷贝到sd卡 然后上电

Hooray!

Zynq>

5.当然还是要体验一把helloworld了

在电脑linux环境中,创建一个hello.c:

#include

int main()

{

printf("hello hlf\n");

return 0; }

在hello.c路径下,生成可执行文件:

cd /home/hlf/mnt/zynq_pro #hello.c所在目录

source /opt/Xilinx/SDK/2017.1/settings64.sh #定位

arm-xilinx-linux-gnueabi-gcc hello.c -o hello -static #生成执行文件

zynq> mkdir -p /mnt/mmc

zynq> mount /dev/mmcblk0p1 /mnt/mmc

zynq> cd ./mnt/mmc/

zynq> ./zynq_hello

hello hlf

hello hlf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值