飞思卡尔KEA128微控制器位带技术的应用解析

2016-11-08 08:36:06李跃华王宜怀
计算机应用与软件 2016年10期

李跃华 王宜怀

1(南通大学计算机科学与技术学院 江苏 南通 226019)2(苏州大学计算机科学与技术学院 江苏 苏州 215006)



飞思卡尔KEA128微控制器位带技术的应用解析

李跃华1,2王宜怀2

1(南通大学计算机科学与技术学院江苏 南通 226019)2(苏州大学计算机科学与技术学院江苏 苏州 215006)

在嵌入式系统开发中,对内存的访问需使用“读-改-写”操作,至少会生成三条机器指令,不适合执行速度要求较高场合,此外还可能导致多任务间共享资源的“互锁”问题。详细解析了KEA128微控制器硬件提供的位带技术对SRAM_U内存位操作的工作机制。实例对比分析和应用结果表明,利用位带技术可以降低代码占用空间,减少程序执行的机器指令周期,适合程序员在高级编程中使用该技术实现对位的快速“原子操作”,提高程序运行速度。

SRAM_U位带区位带别名区原子操作互锁

0 引 言

在嵌入式编程中,通常情况下对RAM的操作,只能进行整字节读取/写入。一般需要进行“读-改-写”操作,即读内存赋给临时变量,然后对临时变量进行修改,最后将临时变量结果写回内存[1]。这样编译后会生成多条指令,执行的指令周期长,代码占用空间也大。在嵌入式应用中经常会出现执行效率要求较高的场景,尤其是对RAM的频繁操作需要提高运行速度。使用普通的读取/写入方法,会产生较多的机器指令代码,降低系统的运行效率。此外,在多任务共享资源的“互锁”解决方案中也需要对位的操作特殊处理,实现对位的快速“原子操作”。……

登录APP查看全文