ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
0 引言
DSP 器件凭借其高速运算的特点,被广泛应用于许多数字信号处理工程实践中。在 DSP 开发过程中,软件开发占有相当大的比重。而在 DSP 软件开发过程中,对存储空间配置的优劣直接关系着项目开发的成败,因此能否对 DSP 存储空间进行适当的配置,往往是开发者需要优先考虑的关键问题。
TMSVC5416 (以下简称 VC5416) 是 TI 公司的一款 16 位定点DSP 芯片,具有功耗低、实时信号处理速度高、操作灵活的特点,已被广泛应用于无线电通信系统及其它应用系统中。已经有很多文献对 C54x 系列 DSP 存储器空间配置进行了研究[1][2][3],但绝大多数文献仅限于对 C54x 系列 DSP 存储空间的通用配置进行描述,即不针对某一特定型号的 DSP 存储空间进行介绍。目前在 C54x 系列 DSP中 VC5416 的应用比较广泛,但鲜有文献进行该芯片的存储空间配置专门介绍,因此本文将主要针对该芯片进行分析讨论。
1 VC5416 的存储结构
与 DSP 存储结构相关的有两个概念,即物理存储器与存储空间。这两个概念比较容易混淆,两者之间的区别与联系往往困扰着初学 DSP 的设计者。用楼房房间与其房间编号的例子可以形象说明物理存储器与存储空间之间关系:要找到并使用楼房的房间,通常先对房间进行编号,没有编号的房间是无法找到的,而实际的房间往往少于房间的编号,即有些编号是空的,没有对应的房间。DSP 的物理存储器相当于楼房房间,存储空间的编址相当于对房间编号,物理存储器是 DSP 芯片上存储程序及数据的实际空间(房间),而存储空间则是 DSP 的编址空间(房间号),物理存储器必须先经过映射(MAP)到存储空间才能为用户所用,物理存储器往往远远小于存储空间。
VC5416 的物理存储器包括内部随机存储器(RAM)和只读存储器(ROM)。内部 RAM 分为单寻址 RAM(SARAM)和双寻址 RAM(DARAM)。在片上 VC5416 有 16K 字的 ROM,64K 字的 DARAM,64K 字的 SARAM。VC5416 的存储空间包括 64K 字的数据存储空间,64K 字的程序存储空间,64K 字的 I/O 存储空间[4]。
2 存储空间与物理存储器的映射关系
2.1 数据存储空间的映射
VC5416 的数据存储空间为 64K 字,可映射到此空间的物理存储器为 DARAM。64K 的 DARAM 以及SARAM 均 以 8K 为 单位 可以 分 为 4 块 , 分 别 为 DARAM0 -7,SARAM0-7。0080H-7FFFH 的地址范围由 DARAM0-3 映射,8000H-FFFFH地址范围的数据存储空间的映射关系与PMST 寄存器的 DROM 控制 位有关,当DROM 为 0 时,此部分存储空间由外部存储器映射,当 DROM 为 1 时相关存储空间由 DARAM4-7 映射。
需要说明的是 DARAM0 块映射的地址范围为 0080H-1FFFH,即该块的空间不足 8K,从 0000H-007FH 范围内的 80H 个单元为存储器映射寄存器和暂存寄存器,实际占用了DARAM 的 80H 个 存 储 单 元 , 因 此DARAM0 块不足 8K。
2.2 程序存储空间的映射
VC5416 芯片的基本程序存储空间为 64K 字,可映射到此空间的物理存储器包括片上存储器和外部存储器(如 FLASH 存储器),根据 PMST 寄存器的 MP/MC 和 OVLY的控制位的取值不同,不同物理存储器到程序存储空间的映射关系也不尽相同。程序存储空间从 0000H 到 7FFFH 地址范围内的物理存储器映射,只与 OVLY 控制位有关系:当 OVLY 为 0 时,此地址范围全由外部存储器映射;当 OVLY 为 1 时,0000H 至 007FH 地址范围为保留区域,0080H 到 7FFFH 由片上 DARAM0-3 部分映射。从 C000H 至 FFFFH 的地址范围的物理存储器映射,只与 MP/MC 取值有关:当 MP/MC 为 1 时,从 C000H 至 FFFFH 的地址全部由外部存储器映射,且 FF80H 至 FFFFH 地址范围为片外中断矢量表;当 MP/MC 为 0 时,C000H 至 FEFFH 地址范围由片上 ROM 映射,FF00H 至 FF7FH 地址范围为保留区域,FF80H 至 FFFFH 地址范围为片上中断矢量表。从 8000H 至 BFFFH 地址范围只由外部存储器映射,与 MP/MC 及 OVLY 控制位均无关。
需要说明的两点是:一是 MP/MC 取值为 0 时,芯片工作在微计算机模式,MP/MC 取值为 1 时,芯片工作在微处理器模式。两种工作模式的主要区别在于芯片的加电复位时自启动 (BOOT) 程序方面:BOOT 程序的主作用是在开机时将用户程序从外部装入到程序存储器。当处于微处理器模式时,芯片复位后,程序就从外部存储器的 FF80H 地址开始运行。在 FF80H 处,可以设置一条指令转到BOOT 程序的指令,这样就可运行用户自己编写的 BOOT 程序。当处于微计算机模式时,芯片复位后,则从片上由 TI 定义的 ROM中的 FF80H 地址开始运行中断向量表。二是当 OVLY 为 1 时,DARAM0-3 即映射到数据存储空间的 0080H 至 7FFFH 地址范围,也映射到程序存储空间的 0080H 至 7FFFH 地址范围。
由于程序代码的增长,图 2 中64K 的程序空间往往不能满足应用需要,为此需要对程序空间进行分页扩展。程序计数器扩展寄存器 XPC 和 6 条寻址扩展程序空间的指令可以实现对程序存储空间的分页扩展。扩展程序空间的地址范围从 010000H 至7FFFFFH,其中程序空间地址的高 7 位是由 XPC 决定的页号。每一页的低 32K 存储空间的映射关系由 OVLY 决定,当 OVLY 为 0 时,此范围存储空间由外部存储器映射,当 OVLY 为 1 时,相关存储空间由 DARAM0-3 映射,为数据、程序公共存储区。前 3 页的高 32K存储空间的映射关系与 MP/MC 有关,当 MP/MC 为 1 时,此范围存储空间由外部存储器映射,当 MP/MC 为 0 时,第 1 页的高 32K 存储空间由 DARAM4-7 映射,第 2 页的高 32K 存储空间由 SARAM0-3映射,第 3 页的高 32K 存储空间由 SARAM4-7 映射。第 4 页至第127 页的高 32K 存储空间由外部存储空间映射。
3 存储空间的配置方法
明确了存储空间与物理存储空间的映射关系之后,就可以根据实际物理存储器的配置情况编写链接配置文件,即只要按着上述数据存储空间与程序存储空间与物理存储器的映射关系,在正确设定PMST 寄存器的 OVLY、MP/MC 及 DROM 相关控制位的前提下,按着相应的地址范围进行相关存储空间的配置,主要任务在于配置文件中 MEMORY 段的不同地址范围的配置。关于存储空间的配置方法,文献[1][2][3]等已进行了详细论述,在这里就不再赘述了,如需要可参阅相关文献。
4 结束语
DSP 的存储空间配置是困扰许多 DSP 初学者的一个重要问题,只有充分了解所使用芯片存储器空间的配置方法,并根据具体情况进行有针对的链接配置文件编写,才能充分利用 DSP 的片上、片外存储器资源。VC5416 DSP 芯片在许多教科书上被作为教学芯片都进行了介绍,是 DSP 入门者接触比较多的一款常用芯片。在查阅了TI 文档及相关文献基础上,本文主要介绍了该芯片的存储空间与物理存储器的映射关系,其中融入了作者本人的部分开发心得,希望对初学者能有一定的帮助。
版权说明:本站部分文章来自网络,版权归原作者、原杂志社和原网站所有,本站引用仅作交流学习之用,不作为商业用途,如涉及侵权,请及时告知,本站第一时间删除。特此说明!
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号