深圳市航顺芯片技术研发有限公司
直播中

王丽

7年用户 1302经验值
私信 关注
[问答]

设备树上的地址是怎么来的

什么是设备树,为什么又要设备树?设备树的主要优势有哪些?

回帖(1)

武梨格

2021-10-19 17:45:29
  上节在内核配置的时候,我们完成了对网卡驱动的移植,在菜单操作后,我们又对设备树进行了板卡相关的一些代码配置,那么那些代码是什么含义,我们又怎么根据自己的板卡进行修改呢??
  首先我们要知道什么是设备树,为什么要又设备树。
  在之前的内核版本的时候是没有设备树的,在内核源码中,存在大量对板级细节信息描述的代码,对内核而言绝大多数纯属垃圾冗余代码,我们维护的时候也不好维护。
  设备树通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立(也就是说*.dtb文件由Bootloader读入内存,之后由内核来解析)。
  设备树的主要优势:对于同一SOC的不同主板,只需更换设备树文件.dtb即可实现不同主板的无差异支持,而无需更换内核文件。
  在移植的时候也不要马上就看数据手册,先找个类似的设备树进行模仿修改。
  内核目录下Documentation/devicetree/bindings/net/davicom-dm9000.txt
  其他设备雷同,官方一般都有提供类似的实例。
  首先打开我们板卡的底板原理图
  
  这是我们DM9000的硬件接口,通过查看核心板,可以看出它是接到了SROM Control ler总线上,我们查看4412的数据手册,发现SROM总线控制器有四个bank0~bank3,我们的CS片选信号选择的是xm0cs1.
  
  所以当前板卡在bank1上,查看数据手册Memory Map,可以找到它对应的地址为
  
  所以也就知道设备树上的地址是怎么来的了,改用其他的bank我们也都清楚怎么改了。(网卡看作一个SROM)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分