FPGA Linux镜像,C5 SoC FPGA SD卡系统镜像制作方法

本帖最后由 Charles 于 2019-6-6 15:02 编辑

我们需要知道C5 SoC FPGALinux系统镜像有三个分区,每个分区所需的文件,如下:分区所需文件

FAT32u-boot.scr、zImage、soc_fpga.dtb、soc_fpga.rbf

EXT3rootfs/

RAW(A2)preloader-mkpimage.bin、u-boot.img

1.      将系统所需文件(preloader、u-boot、Linux内核、dtb、rbf及rootfs)准备完整;

2.     打开Ubuntu虚拟机,并打开终端,通过指令mkdir xxx创建一个文件夹(最好是英文的),将系统所需文件放入该文件夹,具体如下:

08ad0344cc6a00386116751999e3efaa.gif

1.png (109.98 KB, 下载次数: 156)

2019-6-6 14:29 上传

3.     preloader、u-boot、Linux内核、dtb、rbf及rootfs文件都已经有了,还需要一个文件就是u-boot.scr文件,这里介绍scr文件产生方法:

a)     首先,u-boot.scr是个引导脚本,由u-boot.script产生的,u-boot.script文件打开之后内容如下,文件中的soc_system.rbf及soc_system.dtb名称根据自己生成的名字进行修改,其余的不需要修改:

echo -- Programming FPGA --

fatload mmc 0:1 $fpgadata soc_system.rbf;

fpga load 0 $fpgadata $filesize;

run bridge_enable_handoff;

echo -- Setting Env Variables --

setenv fdtimage soc_system.dtb;

setenv mmcroot /dev/mmcblk0p2;

setenv mmcload 'mmc rescan;${mmcloadcmd} mmc 0

d248876c89fb5a194fd088b91cd5bfc1.gif{mmcloadpart} ${loadaddr}${bootimage};${mmcloadcmd} mmc 0

d248876c89fb5a194fd088b91cd5bfc1.gif{mmcloadpart} ${fdtaddr} ${fdtimage};';

setenv mmcboot 'setenv bootargs console=ttyS0,115200 root=${mmcroot}rw rootwait; bootz ${loadaddr} - ${fdtaddr}';

run mmcload;

run mmcboot;

b)     将上步中u-boot.script文件放在电脑的一个英文目录下,打开SoC EDS Command Shell,并切换到u-boot.script所在目录,如下:

08ad0344cc6a00386116751999e3efaa.gif

2.png (19.43 KB, 下载次数: 158)

2019-6-6 14:30 上传

c)     输入指令mkimage -A arm -O linux -Tscript -C none -a 0 -e 0 -n "u-boot.script" -d u-boot.scriptu-boot.scr,双引号中的内容根据script文件名称进行修改,这里为u-boot.script;回车,生成u-boot.scr文件,如下:

08ad0344cc6a00386116751999e3efaa.gif

3.png (24.38 KB, 下载次数: 164)

2019-6-6 14:31 上传

d)     在Ubuntu 虚拟机环境下输入kimage -A arm -O linux -T script -C none -a 0 -e 0 -n"u-boot.script" -d u-boot.script u-boot.scr也可以生成u-boot.scr文件,如下:

08ad0344cc6a00386116751999e3efaa.gif

4.png (106.26 KB, 下载次数: 162)

2019-6-6 14:31 上传

4.     将u-boot.scr也放入用于生成系统镜像的Ubuntu虚拟机文件夹里,打开终端并在root用户权限下,输入指令:

./make_sdimage.py  \

-f \

-Ppreloader-mkpimage.bin,u-boot.img,num=3,format=raw,size=10M,type=A2 \

-Prootfs/*,num=2,format=ext3,size=1500M  \

-PzImage,u-boot.scr,soc_system.rbf,soc_system.dtb,num=1,format=fat32,size=500M  \

-s 2G  \

-nsdimage.img

08ad0344cc6a00386116751999e3efaa.gif

5.png (99.92 KB, 下载次数: 158)

2019-6-6 14:32 上传

备注:这里-P代表一个分区,其中num代表分区编号,format代表分区的格式,size代表分区大小,-n代表生成镜像的名称(这里命名为sdimage.img),-s代表整个系统镜像大小。

2.     镜像制作完成后,可以发现当前目录多了一个sdimage.img文件,该文件就是用于刻录SD卡的系统镜像,如下:

08ad0344cc6a00386116751999e3efaa.gif

6.png (101.55 KB, 下载次数: 160)

2019-6-6 14:33 上传

3.     至此SD卡系统镜像制作完成。

2f75665a7ff2383c0990a0e51f53a8e2.gif

make_sdimage.rar

(5.76 KB, 下载次数: 150)

2019-6-6 14:35 上传

点击文件名下载附件

make_sdimage.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值