TI中文支持网
TI专业的中文技术问题搜集分享网站

求助!关于字地址与字节地址 位绑定

  今天刚开始学习TM4C123G  在学习BIT_BANDING 时,对它的涉及到的地址很是不解。  一个问题是在TM4C123G 这款芯片中,字地址  与 字节地址的区别,字地址是不是对应四个字节中的低地址; 二是

对于这个公式(byte_offset X  8  +bit_number)x 4   ,为什么要乘 4   ?

还有就是经过位绑定后,在下图中  ,在位带别名区字地址相差4,字地址不是应该连续的吗?为什会这样?

我还是个菜鸟,请大家竭力帮助啊!坐等啊!

simonliyu:

好伤心,没人应啊

Michael Sun:

M4中对寄存器或者RAM访问,可以直接操作32bit的数据,也可以直接进行位操作。

bit banding就是把每个地址的位映射到另外一个地址上,对这个地址进行操作,来操作这个位。操作这个位的时候不影响其它位的值。

Datasheet中有关于bit banding的详细描述。TivaWare中也有相关的例程。

simonliyu:

回复 Michael Sun:

你好。数据手册只讲那公式的用法,并没涉及原理解释。麻烦下,能解释透一点吗?     还有对于字地址 和  字节地址  之间的区别,你能帮忙解答下这两个问题,好吗!?万分感谢!

Michael Sun:

回复 simonliyu:

不太清楚楼主描述的字地址 和  字节地址具体的概念是什么。

实际上bit banding是通过对寄存器的某一位映射的一个地址进行操作,来直接操作这一位的值。

传统的做法,我们都是先把这个字节读出来,然后修改这个结果中的某一位的值然后再写回去。这样需要3步操作。使用bit banding的话一步就搞定了。

当然效率高只是其中一方面了。上述三步操作过程中如果MCU进入中断后修改了另外的位的话,上述操作会造成中断中修改位的信息丢失。

simonliyu:

回复 Michael Sun:

M4中有哪些地址

Michael Sun:

回复 simonliyu:

楼主想问的是什么细节?

M4中,外设寄存器、RAM、Flash、ROM等都有对应的地址的。

详细信息可以看一下memory map的描述。

simonliyu:

回复 Michael Sun:

好的

赞(0)
未经允许不得转载:TI中文支持网 » 求助!关于字地址与字节地址 位绑定
分享到: 更多 (0)