初学ARM,一个关于存储空间大小的问题
时间:10-02
整理:3721RD
点击:
就是我用到的一个32的MCU,片内256KB pflash + 32KB SRAM。
手册上写pflash存储单元的寻址地址是:0x0000 0000 - 0x0003 FFFF. 4*2^16= 2^18 =256K.
按上面那样算是没错,但是有个疑问
对于32位MCU,它的寄存器是32bits的,那每一个存储单元不是也是应该32bits吗?
那这样一个存储单元的大小就是32bits=4bytes=4B.
这样再算的话,就变成4*2^16*4B=256K*4B.就不对了啊。
请问这个到底是怎么回事呢?谢谢了
手册上写pflash存储单元的寻址地址是:0x0000 0000 - 0x0003 FFFF. 4*2^16= 2^18 =256K.
按上面那样算是没错,但是有个疑问
对于32位MCU,它的寄存器是32bits的,那每一个存储单元不是也是应该32bits吗?
那这样一个存储单元的大小就是32bits=4bytes=4B.
这样再算的话,就变成4*2^16*4B=256K*4B.就不对了啊。
请问这个到底是怎么回事呢?谢谢了
我觉得32位的CPU是指CPU总线为32位宽吧,寄存器也是32位宽。但是存储器与CPU没有关系,其存储单元一般以byte为单位,寻址的最小单位就是1byte