TI中文支持网
TI专业的中文技术问题搜集分享网站

dsp28335 外部RAM仿真

.test 程序空间太大,无法放在内部RAM中运行,希望把程序放在外部RAM中运行。看了以前的问题回答还是没有实验成功。我修改如下:

1、配置芯片GPIO84~87引脚, 引导模式为Jump to XINTF x16。

2、修改CMD文件如下:

MEMORY
{
PAGE 0 :

BEGIN : origin = 0x100000, length = 0x000002
BOOT_RSVD : origin = 0x000002, length = 0x00004E
RAMM0 : origin = 0x000050, length = 0x0003B0

RAML0 : origin = 0x008000, length = 0x001000 RAML1 : origin = 0x009000, length = 0x001000 RAML2 : origin = 0x00A000, length = 0x001000 RAML3 : origin = 0x00B000, length = 0x001000 ZONE6A : origin = 0x100000, length = 0x00FC00 /* XINTF zone 6 – program space */ CSM_RSVD : origin = 0x33FF80, length = 0x000076 
CSM_PWL : origin = 0x33FFF8, length = 0x000008
ADC_CAL : origin = 0x380080, length = 0x000009
RESET : origin = 0x3FFFC0, length = 0x000002
IQTABLES : origin = 0x3FE000, length = 0x000b50
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
BOOTROM : origin = 0x3FF27C, length = 0x000D44

PAGE 1 : RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
RAML4 : origin = 0x00C000, length = 0x001000 RAML5 : origin = 0x00D000, length = 0x001000 RAML6 : origin = 0x00E000, length = 0x001000 RAML7 : origin = 0x00F000, length = 0x001000 ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 – data space */
}
SECTIONS
{
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAML0, PAGE = 0 .text : > ZONE6A , PAGE = 0
.cinit : > RAML0, PAGE = 0
.pinit : > RAML0, PAGE = 0
.switch : > RAML0, PAGE = 0
.stack : > RAMM1, PAGE = 1
.ebss : > RAML4, PAGE = 1
.econst : > RAML5, PAGE = 1 .esysmem : > RAMM1, PAGE = 1

IQmath : > RAML1, PAGE = 0
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD DMARAML4 : > RAML4, PAGE = 1
DMARAML5 : > RAML5, PAGE = 1
DMARAML6 : > RAML6, PAGE = 1
DMARAML7 : > RAML7, PAGE = 1
ZONE7DATA : > ZONE7B, PAGE = 1

.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */
csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
/* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
.adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD

3、程序中使用:init_zone6();

还是没有成功,我还需要修改哪里或者在哪里加程序。

CMD文件修改的对吗?

Gavin J:

恐怕你要把程序烧到 flash了。

可以使用在flash运行的cmd文件。

.test 程序空间太大,无法放在内部RAM中运行,希望把程序放在外部RAM中运行。看了以前的问题回答还是没有实验成功。我修改如下:

1、配置芯片GPIO84~87引脚, 引导模式为Jump to XINTF x16。

2、修改CMD文件如下:

MEMORY
{
PAGE 0 :

BEGIN : origin = 0x100000, length = 0x000002
BOOT_RSVD : origin = 0x000002, length = 0x00004E
RAMM0 : origin = 0x000050, length = 0x0003B0

RAML0 : origin = 0x008000, length = 0x001000 RAML1 : origin = 0x009000, length = 0x001000 RAML2 : origin = 0x00A000, length = 0x001000 RAML3 : origin = 0x00B000, length = 0x001000 ZONE6A : origin = 0x100000, length = 0x00FC00 /* XINTF zone 6 – program space */ CSM_RSVD : origin = 0x33FF80, length = 0x000076 
CSM_PWL : origin = 0x33FFF8, length = 0x000008
ADC_CAL : origin = 0x380080, length = 0x000009
RESET : origin = 0x3FFFC0, length = 0x000002
IQTABLES : origin = 0x3FE000, length = 0x000b50
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
BOOTROM : origin = 0x3FF27C, length = 0x000D44

PAGE 1 : RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
RAML4 : origin = 0x00C000, length = 0x001000 RAML5 : origin = 0x00D000, length = 0x001000 RAML6 : origin = 0x00E000, length = 0x001000 RAML7 : origin = 0x00F000, length = 0x001000 ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 – data space */
}
SECTIONS
{
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAML0, PAGE = 0 .text : > ZONE6A , PAGE = 0
.cinit : > RAML0, PAGE = 0
.pinit : > RAML0, PAGE = 0
.switch : > RAML0, PAGE = 0
.stack : > RAMM1, PAGE = 1
.ebss : > RAML4, PAGE = 1
.econst : > RAML5, PAGE = 1 .esysmem : > RAMM1, PAGE = 1

IQmath : > RAML1, PAGE = 0
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD DMARAML4 : > RAML4, PAGE = 1
DMARAML5 : > RAML5, PAGE = 1
DMARAML6 : > RAML6, PAGE = 1
DMARAML7 : > RAML7, PAGE = 1
ZONE7DATA : > ZONE7B, PAGE = 1

.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */
csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
/* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
.adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD

3、程序中使用:init_zone6();

还是没有成功,我还需要修改哪里或者在哪里加程序。

CMD文件修改的对吗?

zhongliang lu:

回复 Gavin J:

为什么呢?不能在外部RAM运行吗,还是硬件有问题?外部RAM是好用的,我调试过。

赞(0)
未经允许不得转载:TI中文支持网 » dsp28335 外部RAM仿真
分享到: 更多 (0)