没有合适的资源?快使用搜索试试~ 我知道了~
分析了uboot的驱动架构
资源详情
资源评论
资源推荐
软件信息解析
!"#
!"#!
!"#!
$%&'(
翻译:
展开为:
若 被定义 且 )则返回 :
若 !"# 未定义且 )则返回 :
若 !"# 被定义且 !)则返回 :
若 !"# 被定义且 !)则返回 :
其他情况都返回 $(
我们来看:
在“*(+,-文件中对于设备树的定义如下:
针对“*.*+(+-文件中的如下代码分析:
一.+/012
3
&4
56"#072
56"#08#"29
1.4
5
58"#
*/&%#*
5!"#
,:.)/.,4
5.
,:.),4
5
5.0"67#2;;0!6762
*6..'%&1&&%&(*
,:.)&./0<&24
0&2
&&&4
5
5!"#
*6..'%&.1&=1&&%&*
,:.)=/==
01,.,0>+&.&> ?
0,.,2=/==0,:.22 $24
5
56"#08#"2
*
&+=/&%.(
&.%&'@'%',%/.&..
(.%=A==/B&&&.%,%(?8"
,%=&%,%&/+@#"(
*
0+=/&.0,:. $A$$$$$$ <.2))$2
,:.).4
*
%+@.=,+,#"(
/+@%=&.1
*
.).+0,:.24
0.23
,:=.C),:.4
,:.).4
D
5
5
&)+/&/&024D
( 其中的 6"#072展开为
7) 0在(+, 文件中2
且 !"#未定义
所以符合上面标红的宏定义,所以,6"#072)。
9( 同理 在(+, 文件中有 58#"说明 8#" 未定义,所以
6"#08#"2)$(
E( 同理:0"67#2)$, 0!6762)$
6"#08#"2)$
F( !"#)$, 关于 ! 的定义都没有。
所以上面的代码会精简为
+/012
3
,:.),4
&)+/&/&024
0G&2
&)+&/0,:.24
&&&4
D
二.
+/&/&012 ** 检查设备树的头。
3
0G,:.;;00/&2,:.<E2;;+%+@%&0,:.22
3
/&H0>1.1+&&I/J>
,:.24
&&4
D
7&$4
D
三. 检查设备树的头:
+%+@%&0+12
3
0=,+02G)#862**检查设备树的头码值
0+%@1&022**检查设备树的版本
%&B)%&B024**检查设备树的尺寸
0+%@A&022**看看是否启用了额外的检查
D
/,E94
/E9#"KE94**E9,
在“=/.J+&/J+J.J(%-文件中定义了
5#LM 0NB0E922**# 版本 : N 个 ,
5#L9M 0#LMOB0E922**# 版本 9PQ 个 ,
5#LEM 0#L9MOB0E922**# 版本 EPR 个 ,
5#L?M #LEM**# 版本 ?P$ 个 ,
5#LNM 0#L?MOB0E922**# 版本 NP 个 ,
说明:不同设备树版本,其设备树的大小不同。且以 , 类型为基本递进单位。
在“J=/.J+&/J+J.J(%-文件中规定了设备树的结构体:
&+%&3
E9=,+4 *=,+'V*
E9.B4 *.B#.+@*
E9S&+4 *S&+&*
E9S&,4 *S&,*
E9S==&1=/4 *S==&&&1=/*
E91&4 *&=1&*
E9.+=/1&4 *.+=/C.1&*
*1&9..'*
E9+//%4 *K%+%/%+.!'&
C,*
*1&E..'*
E9B&,4 *B%&,.+@*
*1&N..'*
E9B&+4 *B%&+&.+@*
D4
在“J=/.J+&/J+J.J.(%-文件中规定了设备树每个字段的获取函数:
5,%&0 .2J
0E9+/000+&+%&2022:.22
5=,+02 0,%&0 =,+22
5.B02 0,%&0 .B22
5S&+02 0,%&0 S&+22
5S&,02 0,%&0 S&,22
5S==&1=/02 0,%&0 S==&1=/22
51&02 0,%&0 1&22
5.+=/1&02 0,%&0 .+=/1&22
5+//%02 0,%&0 +//%22
5B&,02 0,%&0 B&,22
5B&+02 0,%&0 B&+22
以上对于设备树的配置界面:
配置设备树编译到 的数据段中。
剩余20页未读,继续阅读
nick-fei
- 粉丝: 1
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Unity3d开发的微信跳一跳小游戏(微信跳一跳)
- html5精品网页015 web前端网页制作 html5+ccs3+js
- 基于stm32的12864oled图形库
- 应用开发-二维码生成-工具-实用工具-二维码生成器小程序.zip
- hive的安装与配置.zip
- 媒体服务-电影信息-移动应用-娱乐-豆瓣电影小程序.zip
- 860775122811187保护环境.zip
- mybatis-plus在idea中如何分页- 3.添加分页拦截器,4.分页mapper方法,5.自定义sql使用wrapper
- python 封装的一些表格处理函数
- 航空服务-机票预订-移动应用-便利服务-东航订机票小程序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0