|
|
|
最简单IO驱动的智慧
时间:2016-04-30 13:54:00
干货 | 最简单IO驱动的智慧 从单片机到ARM7、ARM9、Cortex-A8,从uC/OS到WinCE、Linux,GPIO驱动都是最简单、最易编写的驱动。但看似简单、毫无技术含量的驱动,其是否完整?是否规范?是否安全? 典型案例 本节将选取两例典型案例,从反、正两个角度进行对比。 反方案例 以某一源码中XXX驱动为例,截取XXX_IOControl部分的代码,如程序清单1所示;请留意代码突出显示部分。 程序清单1 从反方案例,实现GPIO电平状态的读或写的功能仅需要几行代码,非常简单。 正方案例 如程序清单2所示,代码截取自ZLG某核心板GPIO驱动,请留意代码中突出显示部分。 程序清单2 从正方案例,实现GPIO电平状态的读或写的功能却花费了2倍的代码工作量,差异为何如此大? |