This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于2808在ram中调试的CMD文件配置问题



    由于在ram调试DSP程序比较方便,一直都在ram做调试.最近由于代码量比较大,尝试修改cmd文件,修改之后出现无法调试的问题,希望大神能给予指点.

    主控:2808

    CCS版本:CCS6.0

    仿真器:XDS100V3

    原CMD文件为官方例程文件 2808_RAM_lnk.cmd 配置如下:

MEMORY
{
PAGE 0 :

BEGIN         : origin = 0x000000, length = 0x000002
RAMM0       : origin = 0x000002, length = 0x0003FE
RAML0        : origin = 0x008000, length = 0x001000
PRAMH0     : origin = 0x3FA000, length = 0x001000
RESET        : origin = 0x3FFFC0, length = 0x000002
BOOTROM : origin = 0x3FF000, length = 0x000FC0

PAGE 1 :

BOOT_RSVD : origin = 0x000400, length = 0x000080 
RAMM1           : origin = 0x000480, length = 0x000380 
DRAMH0        : origin = 0x3FB000, length = 0x001000
}

SECTIONS
{
/* Setup for "boot to SARAM" mode:
The codestart section (found in DSP28_CodeStartBranch.asm)
re-directs execution to the start of user code. */
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAMM0 PAGE = 0
.text : > PRAMH0, PAGE = 0
.cinit : > RAMM0, PAGE = 0
.pinit : > RAMM0, PAGE = 0
.switch : > RAMM0, PAGE = 0
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */

.stack : > RAMM1, PAGE = 1
.ebss : > DRAMH0, PAGE = 1
.econst : > DRAMH0, PAGE = 1
.esysmem : > RAMM1, PAGE = 1

IQmath : > PRAMH0, PAGE = 0
IQmathTables : > BOOTROM, type = NOLOAD, PAGE = 

}

为了扩展空间,将红字部分改为

PRAMH0         : origin = 0x3F8000, length = 0x002000 

DRAMH0        : origin = 0x3FA000, length = 0x002000

出现如下错误

C28xx: File Loader: Data verification failed at address 0x003F8000 Please verify target memory and memory map.

经查实3F8000--3FBFFF确实为2808有效内存空间,实在想不明白问题所在,望指点.

  •  0x008000和0x003F8000 地址指向的是同一块RAM区域,两者只能二选一,一块存储区域不能被分配两次。

  • 感谢您的回复,这么说2808数据手册中内存映射图中的"Dual-Mapped"是指0x008000-0x00CFFFF地址和0x3F8000-0x3FCFFFF地址指向的是同一块物理内存?

    我现在在cmd文件中

    RAML0      : origin = 0x008000, length = 0x001000 删除

    将PRAMH0     : origin = 0x3FA000, length = 0x001000改为

    PRAMH0     : origin = 0x3F8000, length = 0x001000

    依然报错

    C28xx: File Loader: Data verification failed at address 0x003F8000 Please verify target memory and memory map.