2021.10.15

1、请实现宏定义,用于计算结构体成员相对于结构体起始地址的字节偏移;

答:#define GET_OFFSET(data,member) (size_t)(&(((typeof(data)*)0)->member))

解析:①、typeof 用于获取修饰变量的数据类型;
②、强转0为对应结构体类型,此时member的地址即是偏移量

参考链接:https://blog.csdn.net/baidu_33725271/article/details/69323694

2、Bootloader执行流程
bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。

3、FLASH和EEPROM各自的特点
FLASH:按块为单位,电路简单,成本低,读写速度快;
EEPROM:按字节为单位,存储时间长,可擦写次数多,不易丢失;

4、Linux设备驱动模型的三个重要成员?platform总线的匹配规则?

答:设备驱动模型三个重要成员是 总线、设备、驱动;

platfoem总线的匹配规则是:要匹配的设备和驱动都要注册,设备可以在设备树里注册,也可以通过代码注册设备,匹配成功会去调用驱动程序里的probe函数(probe函数在这个platform_driver结构体中注册)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值