序
本人从事嵌软相关工作6年,期间学习了很多知识,但一直没有进行系统整理。每次换工作后,过一阵就感觉已经把原来学习、调试的很多东西忘记了。期间查阅资料很多来自CSDN,从来没有回馈过,很是惭愧。近期准备抽空将原来的知识、技巧等记录整理并分享出来,算是给自己这些年的工作作一个总结。
先发一篇关于创建Zynq启动文件的文章。
环境变量
export ARCH=arm export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
还需要将arm-xilinx-linux-gnueabi-gcc加入PATH。
boot.bin
生成boot.bin需要FSBL和u-boot,FSBL的生成方法略。
u-boot默认ENV的修改
默认ENV位于include/configs/zynq-common.h文件中。
u-boot的编译
解压u-boot源码并进入源码目录,运行:
make distclean make zynq_microzed_config make
完成后将在源码目录下生成u-boot文件。
合成boot.bin
使用Xilinx SDK中的Xilinx Tools--->Create Zynq Boot Image工具将fsbl.elf与u-boot.elf(上述生成的u-boot,工具需要扩展名所以添加.elf)合成boot.bin
uImage
uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”&#x