DSP28335的XINTF操作SRAM实验

本文介绍了如何使用DSP28335的XINTF接口操作SRAM,探讨了DSP28335的哈弗结构、XINTF接口的原理、地址空间配置,以及通过#pragma CODE_SECTION指令将程序段移到SRAM中运行的步骤,包括CMD文件的配置和中断函数的复制。同时,详细解释了代码关键点和中断函数的内存布局。
摘要由CSDN通过智能技术生成

1. 本次使用三兄弟的XDS28335开发板,研究一下XINTF操作SRAM的代码。哈弗结构,奇怪,DSP28335是哈弗结构,那么数据和程序空间应该独立的,为啥书上说采用统一的寻址方式?估计只是读写数据和程序的方法一样的意思。

2. 看下原理图部分,有地址线XA0-XA18,数据线XD0-XD15,XWEn是写信号(低电平有效),XRDn是读信号(低电平有效),F_CSn是片选信号(低电平有效)。

3. 看下芯片的XINTF章节介绍,最近TI把C2000系列划到MCU部分了,搞的找不到,Learn more(了解更多)。下图是DSP28335的内部地址空间,有3个区域,据说CCS可以通过仿真器直接访问XINTF连接的外部存储器,有点厉害。可以看下图的3个区域的地址空间,这里有个问题没明白,区域0的外部地址范围是0X00000-0X00FFF,如果要对区域0的第一个存储单元进行操作,需要将0X00000送到地址线,并将片选信号XZCS0拉低,这没问题,可是下面的0X0000 4000是什么地址?哎,好像明白了,0X0000 4000是DSP28335的内部地址,0X00000-0X00FFF是信号的地址,意思是程序里面写0X0000 4000这个地址,然后硬件上会把XZCS0拉低,XA(19:0)的值是0X00000,这个就是统一寻址的意思吧。本次SRAM用的是区域6。

4. 看下配置流程

5. 时钟的配置

6. 测试下代码,导入工程\SXD_C28335\SXD28335_PRO_1_V2\Example_2833xCodeRunFromXintf,第一个问题下面是什么意思?百度了一下利用#pragma CODE_SECTION指令可以将程序从Flash搬到RAM中运行,从而提高程序执行速率,该方法需要完成以下四步。

第一步,利用#pragma CODE_SECTION指令关联程序和SECTIONS;主函数的一开始用#pragma CODE_SECTION 将中断函数 cpu_timer0_isr 和cpu_timer1_isr 指定到片外 SRAM 空间。 

// These two functions will be loaded into SARAM and copied to
// XINTF zone 6 for execution
#pragma CODE_SECTION(cpu_timer0_isr,"xintffuncs");
#pragma CODE_SECTION(cpu_timer1_isr,"xintffuncs");

第二步,为链接创建相关变量;

extern Uint16 XintffuncsLoadStart;
extern Uint16 XintffuncsLoadEnd;
extern
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值