MISRA_C规范学习_2004_Rule3.5

Grey

全部学习汇总: ​​https:///GreyZhang/misra_c_hacking​

MISRA_C规范学习_2004_Rule3.5

规则摘录与分析

1067_MISRA_C规范学习_2004_Rule_3.5_寄存器

1067_MISRA_C规范学习_2004_Rule_3.5_位域_02


  • 关于位域的使用,MISRA C规范中看起来不是很提倡的,因为这里面会有很多实现上的差异点。
  • 从规范的角度来说,唯一推荐的方式是使用位域的方式来压缩标志位的存储空间。
  • 如果使用,至少需要考虑2个方面的内容:第一,内容是从高到低排布还是从低到高排布?第二,相应的设计环境中,是否有字节对齐带来的数据GAP?
  • 疑问:如果不采用位域,进行寄存器的位操作可读性以及便捷性似乎都要差一些。关于寄存器的处理这种底层驱动层面的设计,是否也必须严格遵守呢?

小结

最近看AUTOSAR文档的时候看到了一点描述让我突然间觉得MISRA C 2004的规则还是有必要继续解读一下,哪怕后面又重新解读2012。AUTOSAR的规范要求的版本就是MISRA C 2004,这就是最好的学习理由了。