什么叫可以修改?
若使用老方法,则需要修改dts文件,然后在服务器中重新将修改后的dts文件编译成dtb文件,最后重新加载到内核,才能生效
这里可以修改指的是不需要上述过程,直接在uboot启动阶段,使用uboot提供的fdt命令,即可动态设置dtb文件,从而提高调试效率。
uboot版本太老则不支持fdt命令,需要升级或打补丁才能支持
具体操作步骤
1.uboot阶段将dtb文件从flash文件中读到内存,内存的地址需要提前规划好,不能占用uboot和kernel的空间,对于一般的产品而言,dtb的地址都是已经规划好的,以s3c2440 cpu jz2440开发板:
nand read.jffs2 0x32000000 device_tree
2. 可在uboot 命令行界面下help fdt查看fdt命令的使用方式:
? fdt
3. 告诉fdt 当前dtb所在内存的那个基地址:
fdt addr 0x32000000
4. 打印,设置,读取都可通过fdt命令完成:
fdt print /memory reg
fdt set /memory reg <xxxx, xxxx>
fdt get /memory reg