第5章 存储器0320
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使能PIE中断向量表。
除了复位向量,所有的向量都将从外设中断扩展模块 PIE获得而不是从表2-4所示的CPU向量表中获得。
16
5.2 TMS320F2812 存储器映射
5.代码安全模块CSM(Code Security Module)
CSM是128位的密码,由用户编程写入片内Flash的8个存
2
5.1 总线
程序地址总线 PAB 程序读数据总线 PRDB
写
数据/程序写数据总线 DWDB 读或写程序地址
读指令或数据
程序 存储器
或 指令
数据
向对应存储单元写数据 写数据存储器地址
数据写地址总线 DWAB 数据读地址总线 DRAB 数据读数据总线 DRDB
读数据存储器地址
数据 存储器
读对应存储器单元数据
块 L0 SARAM (4KW) L1 SARAM (4KW) OTP (1KW) Flash (128KW)
19
5.2 TMS320F2812 存储器映射
6.中断向量 第三章表3-1中指出了PIE向量、BROM向量及XINTF
向量使能时的条件及分布情况。 第二章图2-4中指出了当ST1的位VMAP=0时,CPU中 断向量映射到程序存储器的地址为0x000000~0x00003F, 共计64个字。 当VMAP=1时,CPU的中断向量映射到程序存储器的 地址为0x3FFFC0~0x3FFFFF。 当VMAP=1和ENPIE=1时,使能PIE向量,RAM空间 地址为0x000D00~0x000DFF,空间大小为256×16位。
MP/MC=1 ENPIE=0
0x3F C000
片内存储器
外部扩展接口
5.2 TMS320F2812 存储器映射
存储器块M0
(1K)、M1 (1K)、L0 (4K)、L1 (4K)、H0 (8K)均可以映射到程序和数据空间。 通过数据线 XD0~XD15、地址线 XA0~XA18及 控制信号线扩展。 外部扩展接口XINTF包括 Zone 0(8K), Zone 1(8K), Zone 2(512K), Zone 6(512K), Zone 7(16K)共计1M+32K。
片内集成了大量的SRAM、ROM、FLASH等存储器,
采用统一编址方式,方便程序开发。 F2812提供了外部并行总线扩展接口,可提供多于1M 字(三个外部扩展空间:两个512K,一个16K)的寻址 空间,有利于开发较复杂的系统,如扩展FLASH、 RAM、ADC、DAC、RTC、LCD、USB等。
0x00 0000~0x00 003F 0x00 0000~0x00 003F 0x3F FFC0~0x3F FFFF 0x3F FFC0~0x3F FFFF 0x00 0D00~0x00 0DFF
21
5.2 TMS320F2812 存储器映射
7.外设帧PF(Peripheral Frame) C28x在片内数据存储器空间映射了3个外设帧PF0、PF1及
10
5.2 TMS320F2812 存储器映射
1.片内SARAM(Single –Access RAM) 片内SARAM为单口随机读/写存储器,在单个机器周期内只
能被访问一次。
C28x片内共有18K×16位的SARAM,分别是: M0和M1每块的大小为1K×16位,其中M0映射至地址
0x000000~0x0003FF,M1映射至地址0x00 0400~0x00 07FF。
不能同时对程序空间进行读写,因为程序地址总线
PAB是复用的,读写操作会同时使用到PAB。
不能同时对程序空间和数据空间进行写操作,因为数 据/程序写数据总线DWDB也是复用的,对程序空间进 行写操作或者对数据空间进行写操作,都要用到 DWDB。
5
地址总线
1. PAB (Program Address Bus)程序地址总线; 是一个22位的总线,用于传送程序空间的读写地址。 程序在运行的时候,假如执行到了某一个指令,需要去找到这段 代码的地址,用PAB来传送。 2. DRAB(Data-Read Address Bus)数据读地址总线; 是32位的总线,用于传送数据空间的读地址。 要读取数据空间某一个单元的内容,单元的地址通过DRAB来传送。 3. DWAB(Data-Write Address Bus)数据写地址总线; 是32位的总线,用于传送数据空间的写地址。 对数据空间的某一个单元进行写操作,单元的地址是通过DWAB 来传送。
CSM Password Locations 0x3F 7FF8 - 0x3F 7FFF
128-Bit Password
用Βιβλιοθήκη Baidu自定义密码128bit 寄存器受到EALLOW保护
18
5.2.4 受CSM影响的片内资源
地址 0x00 8000~0x00 8FFF 0x00 9000~0x00 9FFF 0x3D 7800~0x3D 7BFF 0x3D 8000~0x3F 7FFF
储单元0x3F7FF8~0x3F7FFF中,共计16位×8=128位。 代码安全模块CSM (Code Security Module) 可以防止 未被授权的人通过JTAG接口检查片内存储器的内容,防 止对受保护的代码进行复制工程。 CSM用以保护Flash、OTP、L0及L1 SARAM块。为了 能够进入安全模块,用户必须正确写入128位密码,与存储 在FLASH区域密码位置中的值相匹配。
17
Code Security Module
保护知识产权
0x00 8000 LO SARAM (4K) 0x00 9000 0x00 A000 0x3D 7800 0x3D 7C00 0x3D 8000
L1 SARAM (4K) OTP (1K) FLASH (128K)
reserved reserved
DSP原理及应用
第5章 存储器与外部接口XINTF
5.1 概述 5.2 TMS320F2812 存储器映射 5.3 Flash 存储器 5.4 外部接口XINTF 5.5 与外部存储器的接口
1
F281x的存储器
F281x采用增强的哈佛总线结构,能够并行访问程序 和数据存储空间,可以并行实现程序读、数据读、数据 写这三个操作。
L0和L1每块的大小为4K×16位,其中L0映射至地址 0x008000~0x008FFF,L1映射至地址0x009000~0x009FFF。
H0大小为8K×16位,映射至地址0x3F8000~0x3F9FFF。
11
5.2 TMS320F2812 存储器映射
2.片内Flash TMS320F2812片内含有128K×16位的Flash存储器,
同时需要DWDB来传送写入的内容。
7
存储器 映射图
8
5.2 TMS320F2812 存储器映射
Data | Program Data | Program
0x00 0000 0x00 0400
MO SARAM (1K) M1 SARAM (1K)
reserved
0x00 0800 PF 0 (2K) reserved 0x00 0D00 PIE vector reserved (256) reserved 0x00 1000 0x00 6000 PF 2 (4K) reserved 0x00 7000 PF 1 (4K) reserved 0x00 8000 LO SARAM (4K) 0x00 9000 L1 SARAM (4K) 0x00 A000 reserved 0x3D 7800 OTP (1K) 0x3D 7C00 reserved
20
5.2 TMS320F2812 存储器映射
表3-1
向量映射 M1向量 M0向量 BROM向量 XINTF向量 PIE向量 向量取自的地方 M1 SARAM块 M0 SARAM块 ROM块 XINTF区域7 PIE块
中断向量表映射
地址范围 VMAP M0M1MAP 0 0 1 1 1 0 1 x x x MP/ MC ENPIE x x 0 l x x x 0 0 1
14
5.2 TMS320F2812 存储器映射
0x3F F000~0x3F FBFF:数学表和函数
0x3F FC00~0x3F FFBF:引导装载功能 0x3F FFC0~0x3F FFFF:CPU向量表。
其中0x3F FFC0~0x3F FFC1是复位向量。
15
5.2 TMS320F2812 存储器映射
OTP受到代码安全模块CSM的保护。
13
5.2 TMS320F2812 存储器映射
4.片内Boot ROM
C28x内含4K×16位的Boot ROM (引导ROM),地 址为0x3FF000~0x3FFFFF。在该存储器内由TI公司装 载了产品版本号、发布的数据、检验求和信息、复位矢 量、CPU向量表及数学表等。 Boot ROM的主要作用是实现DSP的Bootloader功能, 芯片一出厂时在Boot ROM的存储器内装有厂家的引导 装载程序。 当芯片被设置为微计算机模式时,CPU在复位后将执 行这段程序,完成Bootloader功能。
3
CPU及内部 总线
程序/数据空间的写操 作共用数据总线 DWDB,向程序存储 器写和向数据存储器 写两个操作不能同时 进行。
程序读
数据读
从程序空间读(PAB、 PRDB) 从数据空间读(DRAB、 DRDB) 向数据空间写(DWAB、 DWDB) 这3个操作可以同时进 行。
CPU
4 数据写
5.1 总线
ENPIE=1
XINTF Zone 0 (8K) 0x00 2000 XINTF Zone 1 (8K) 0x00 4000 reserved XINTF Zone 2 (0.5M) 0x08 0000 XINTF Zone 6 (0.5M) 0x10 0000 0x18 0000 reserved
3.片内OTP(One-Time Programmable) C28x内含2K×16位的一次性编程的ROM OTP,地址 为0x3D7800~0x3D7FFF,其中由厂家保留了1K×16位 作为系统测试使用,剩余1K×16位提供给用户使用。 OTP可映射到数据空间或程序空间,可以存储数据变
量或执行代码。
是一个32位总线,在读取数据空间时用来传送数据。 在进行读操作时,首先通过DRAB总线确定需要进行读操作的数据单元地 址,传送数据单元中的具体内容时需要DRDB。 3. DWDB(Data/Program-Write Data Bus)数据/程序写数据总线; 是一个32位总线,在进行写操作时向数据空间/程序空间传送相应的数据。 对数据空间的某一个单元进行写操作,通过DWAB传送这个单元的地址,
6
数据总线
1. PRDB(Program-Read Data Bus)程序读数据总线;
是一个32位总线,用于传送读取程序空间时的指令或者数据。
在执行代码的时候,首先通过PAB传送并找到了存放该指令的存储单 元,存储单元中的具体内容由PRDB来传送。
2. DRDB(Data-Read Data Bus)数据读数据总线;
地址为0x3D8000~0x3F7FFF。
片内Flash存储器既可映射到程序空间,也可映射到 数据空间,用以执行代码或存储数据变量。
Flash存储器的操作是分区段进行的,用户可单独擦
除每个区段,并通过专用的存储器流水线进行操作。 Flash存储器受到代码安全模块CSM的保护。
12
5.2 TMS320F2812 存储器映射
唯一能从内部Boot ROM操作的向量是位于0x3F FFC0的 复位向量,复位向量是厂家编程的,指向初始化引导函数 InitBoot,该函数用于启动引导操作。
一系列的检验操作在GPIO引脚上进行,从而决定使用
哪一种引导模式。 对于F2812,正常操作时其余的向量不被使用。在引导 完成后,应该初始化外设中断扩展模块PIE中断向量表,
FLASH (128K)
128-Bit Password
0x3F 8000
HO SARAM (8K)
MP/MC=0
0x3F A000 reserved 0x3F F000 Boot ROM (4K)
0x3F FFC0
BROM vector (32) MP/MC=0 ENPIE=0
XINTF Zone 7 (16K) MP/MC=1 XINTF Vector-RAM (32)