开始接触PowerPC 了,和ARM 还是有写不同的地方的。
转载:
http://zhangwenxin82.blog.163.com/blog/static/114595956200963112443313/
http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html
DTS(Device-tree Source)是按照Open Firmware标准定义的用以描述硬件设备的源文件,这是PowerPC所特有的。DTS需要使用dtc编译为DTB文件并烧写到Flash。U-boot在启动的时候会将Flash中DTB文件的地址作为入口参数传递给内核。
DTS的移植是嵌入式平台搭建是很重要的一步。移植的时候我们主要依赖两个文件:
1)内核目录/arch/powerpc/boot/dts/下有针对各个平台的DTS范例代码,我们的移植就是在这个范例代码的基础上进行修改。例如我使用的就是mpc8360emds.dts。
2)内核目录/ Documentation/powerpc/booting-without-of.txt这份文档可以看成是帮助文档,里面详细的介绍了DTS各个方面。这份文档需要仔细反复的阅读。
因为各人的硬件平台差异比较大,dts的移植也各不相同。我以下对booting-without-of.txt这篇文档做一个简要介绍。
文档的第一章是一个简介。简单介绍了DTS、它留给系统的入口指针以及平台支持。
第二章介绍DT block格式。可以看到DTS就像它的名字那样是一个树状的结构,有一个根,根上有分支,分支上还有各种属性。
第三章是重点一。主要是对cpu、memory等必需的节点以及各个属性进行介绍。
第四章,介绍了将dts编译为最终烧写到flash的dtb文件的编译器dtc。包括dtc的下载地址可以在这一章找到。
第五章很短,讲Recommendations for a bootloader
第六章是重点二。讲设备接口节点以及其属性,这是我们修改的重点。比如I2C接口节点、USB控制器节点、网卡节点等都在这章介绍。
第七章介绍中断。
根据自己的硬件完成dts修改后,再用:
dtc -f -V 17 -b O -I dts -O dtb源文件.dts -R 8 -S 0x3000 >目标文件.dtb
即可得到dtb文件。