准备工具:
SDK
输入文件:
硬件工程目录
linux 源码目录
输出文件:
*.dts*.dtb
具体实施如下:
一、创建一个设备树源文件(.dts)
1.打开SDK
2.从git 库中下载设备树的mld文件和tcl文件
git clone git://github.com/Xilinx/device-tree.git
3.在SDK中添加BSP库
Xilinx Tools > Repositories > New... (下载的设备树mld,tcl文件所在路径) > OK
4.创建一个板级支持包(BSP)
File > New > Board Support Package >
选择Board Support Package OS: device-tree > Finish
5.会出现一个窗口(在打开的设备树system.mss文件中,点击“modify BSP's setting”同样会出现)
这时就可以进行相应的修改
‘bootargs’参数是指在引导的时候能传递到内核的参数
‘设备控制台’指要使用的串行输出设备
点击完成后会在<SDK workspace>/<device-tree bsp name>/<processor name>/libsrc/device tree_v1_01_b/xilinx.dts.
另一种获取.dts 设备树源文件的方式,在linux内核源码中linux-xlnx/arch/<architecture>/boot/dts/<找到适合zynq的dts>/
二、编译设备树dts文件生成 .dtb文件
cd 内核源码目录下
make ARCH=arm dtbs
DTC工具会自动编译内核中所有的arm类的dts文件生成 dtb文件
在目录<内核源码>/arch/arm/boot/dts/ 查看过于zynq的dtb文件
指定某一dts文件生成dtb文件:
/kernel1/linux-xlnx/scripts/dtc/dtc -I dts -O dtb -o zynq-zc706.dtb /kernel1/linux-
< ----------工具路径--------------------> <----输出名----> <----输入的路径和名字-----
xlnx/arch/arm/boot/dts/zynq-zc706.dts
------路径-------------------输入的文件名---->