您的位置 首页 传感器

ARM Cortex-M3 学习笔记(5)

最近在学ARMCortex-M3,找了本号称很经典的书AnDefinitiveGuidetoTheARMCortex-M3在看。这个系列学习笔记其实就是在学习这本…

最近在学ARM Cortex-M3,找了本声称很经典的书“An Definitive Guide to The ARM Cortex-M3”在看。这个系列学习笔记其实就是在学习这本书的过程中做的读书笔记。

第五章 存储器体系

地址空间分配

比照更早版别的ARM内核,Cortex-M3的地址空间分配相对来说是固定的。尤其是内部的私有外设,地址分配是固定不变的。这为软件移植供给很大的便利。

图 1 Cortex-M3 地址空间分配

片内SRAM地址空间和片内外设地址空间中各有1MB是所谓的位带区。这个区数据能够按位拜访。外部SRAM和外部外设地址空间中没有位带区。

RAM地址空间与外设地址空间最大的区别是RAM地址空间中的存储的数据是能够作为程序代码运转的,而外设地址空间中的数据却不能运转。当然,程序最好仍是放到片内的代码区,由于对这个区域的拜访有专用的总线,因而读取程序代码与读取RAM区的数据能够一起进行,功率最高。

Bit-Band 操作

在0x20000000和0x40000000 地址处开端的1MB空间被称为bit-band region。这个区域内的数据的每一位都被映射了到了一个32位宽的word的最低一位,被映射到的地址空间称为bit-band alias address range。比如说,0x20000000对应字节第0位映射到了0x22000000的第0位。0x20000000的第1位映射到了0x22000004的第0位,其他的以此类推。这样,读取0x22000004 就相当于读取0x20000000的第1位。写0x22000004的第0位就相当于写0x20000000的第1位。对bit-band aliasaddress range 中数据的读写都是原子操作。

特别要注意的是:bit-band alias address range 中的数据支撑字节和半字拜访,可是数据的拜访不能跨过4字节鸿沟,不然成果不确认。

Endian Mode

Cortex-M3内核自身对大端和小端都支撑,可是关于详细的一款根据Cortex-M3内核的单片机来说就不必定两种形式都支撑了。常见的Cortex-M3内核的单片机根本都是小端形式的。

Cortex-M3内核中对大端形式的界说和ARM7中还有些不同,详细怎样个不同我还没搞理解,等理解了再补上。

别的,详细运用哪种Endian Mode 是在reset时确认的,Cortex-M3不支撑运转中动态切换Endian Mode。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/264196.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部