首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Cortex-M3 的总线接口

Cortex-M3 的总线接口

这部分内容是给SoC 设计师看的。如果你不是他们,是不能直接访问这里讲到的到总线接口的。 通常情况下,芯片厂商都会钩住(hook up)所有送往存储器和外设的总线信号。并且在少数情 况下,你会发现芯片厂商把总线连接到了总线桥上,并且允许外部总线系统连接到芯片上。CM3 处
理器的总线接口是基于 AHB-Lite 和 APB 协议的,它们的规格在 AMBA 规格书(第 4 版)中给出。
6.3.1   I-Code总线I-Code 总线是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000  –  0x1FFF_FFFF 之 间的取指操作。取指以字的长度执行,即使是对于 16 位指令也如此。因此 CPU 内核可以一次取出 两条 16 位 Thumb 指令。
6.3.2   D-Code总线D-Code 总线也是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000  –  0x1FFF_FFFF 之间的数据访问操作。尽管 CM3 支持非对齐访问,但你绝不会在该总线上看到任何非对齐的地址, 这是因为处理器的总线接口会把非对齐的数据传送都转换成对齐的数据传送。因此,连接到D-Code 总线上的任何设备都只需支持 AHB-Lite 的对齐访问,不需要支持非对齐访问。
6.3.3   系统总线系统总线也是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x2000_0000 –  0xDFFF_FFFF 和
0xE010_0000 – 0xFFFF_FFFF 之间的所有数据传送,取指和数据访问都算上。和D-Code 总线一样,所 有的数据传送都是对齐的。
6.3.4   外部私有外设总线这是一条基于 APB 总线协议的 32 位总线。此总线来负责 0xE004_0000 – 0xE00F_FFFF 之间的私 有外设访问。但是,由于此 APB 存储空间的一部分已经被 TPIU、ETM 以及 ROM 表用掉了,就只留 下了 0xE004_2000-E00F_F000 这个区间用于配接附加的(私有)外设。
6.3.5   调试访问端口总线调试访问端口总线接口是一条基于“增强型 APB 规格”的 32 位总线,它专用于挂接调试接口, 例如 SWJ-DP 和 SW-DP。
不要挪用此总线。第 15  章(调试架构)给出该总线的更多信息,在 ARM  的文档《CoreSight
Technology System Design Guide (Ref 3)》中也有更详尽的论述。
继承事业,薪火相传
返回列表