登录注册
论坛
一粒金砂(高级)
978
0
对bit-banding的学习源于TI的“SW-EK-LM3S8962-UG-5961.pdf”文档中例程“2.3 bit-banding”的实验研究。
首先来看一下实验的描述,
这段文字大意是说:
“这个例程是对Cortex-M3类型微处理器的bit-banding功能的测试。所有的SRAM和外设只要在bit-band区域被定义过,就可以使用bit-banding技术来运用那些SRAM和外设。这个例程里,一个在SRAM里的变量被设置成某一位的独特值以用来使用bit-banding操作”。
初看其实很晦涩很拗口,也很不好理解。到底怎么回事呢?
其实有一点可以看到,这是“Cortex-M3类型微处理器的bit-banding功能的测试”说明,是Cortex-M3都有的,现在想想以前用STM32的时候确实手册里有说到过!!那么弄弄明白吧,到底怎么回事。
来看《LM3S8962_中文版数据手册》的第8章,关于“内部存储器”的描述。
8.2.1有个例子,
暂时看不懂的话先不管它,后面就明白了。
再看《ARM Cortex-M3 技术参考手册》第4章“存储器映射”,
发现了!!!可见,lm3s8962对其所有的外设寄存器和片内ram都使用了bit-band技术,方便加速了相关操作速度。
此时,再回过头来看上面的那个例子,就明白了。意思就是, bit-band区域的0x20001000的位3对应着bit-band别名区的0x220200C一个字。
下面这个图更直接,
这样,再来看TI提供的关于bit-band的例程就很好理解了。其实将所有的寄存器都用bit-band技术对应到相应的别名区的最大好处就是为了快速操作节省时钟周期加快处理速度。
扫一扫,分享给好友
一粒金砂(中级)
102
纯净的硅(高级)
849
206
感觉操作起来挺繁琐的,不知道访问速度提升了大不大?
发表回复 回帖后跳转到最后一页
EEWorld Datasheet 技术支持
查看 »