文章目录
前言
上一节我们创建了我们的主工程文件,并且生成了bit-stream,加载了Xilinx SDK,接下来我们在SDK创建FSBL文件以及设备树。
FSBL是 ZYNQ 第一启动引导加载代码,它的主要任务就是初始化 DDR,并将用户代码(例如 U-Boot、bit 文件或者是 SDK裸机代码)从存储设备中拷贝到 DDR 中运行。
一、创建FSBL
按照如下步骤:
·Open Vivado
·Export Hardware & Bitstream
·Launch Xilinx SDK
打开 Xilinx SDK后按照如下步骤创建FSBL:
Navigate to File > New > Application Project
Give the project a new name, like FSBL
Click Next
Select Zynq FSBL and click Finish
配置完成后,等待FSBL编译完成。生成的fsbl.elf文件在./fsbl/debug中。
二、创建设备树
使用SDK创建设备树
工程导入SDK后,需要使用Xilinx Device Tree Tool 去建立设备树,请检查这个工具的版本。
配置设备数编译环境
mkdir device-tree-xlnx
cd device-tree-xlnx
sudo apt-get install device-tree-compiler
git clone https://github.com/Xilinx/device-tree-xlnx/archive/xilinx-v2018.3.tar.gz
tar -zxvf xilinx-v2018.3.tar.gz
在SDK中添加设备树资源文件
XIlinx Tools>Repositories
Add a global repository
Navigate to where you cloned the Xilinx/device-tree-xlnx
创建设备树
Select File>New>Board Support Package
Create a name for your project, e.g. device_tree_bsp_0
Select device_tree in the Board Support Package OS menu
Click Finish
在设备树的工程文件中使用下面的方式创建设备树:
dtc -I dts -O dtb -o devicetree.dtb s