工具与软件:
您好!
我已将项目从 RAM 传输到闪存。 在我的测试期间、我正在调试项目、同时项目位于闪存存储器中。 在该过程中、某些变量显示为+INF、但以相同方式定义且正在进行相同过程的其他变量可以正常运行。
此外、当我将系统加载到闪存、重置系统并在不使用调试模式的情况下直接运行它时、系统会正常工作。 这可能是什么问题? 我在配置闪存时执行了错误的分配吗? 您可以帮助我解决这个问题吗?
小程序
{
RAMM0:origin = 0x000123、length = 0x0002DD
RAMM1:origin = 0x000400、length = 0x0003F8
CLATOCPU_MSGRAM:origin = 0x001480、length = 0x000080
CPUTOCLA_MSGRAM:origin = 0x001500、length = 0x000080
RAMLS0:origin = 0x008000、length = 0x000800
RAMLS1:origin = 0x008800、length = 0x000800
RAMLS2:origin = 0x009000、length = 0x000800
RAMLS3:origin = 0x009800、length = 0x000800
RAMLS_4_5:origin = 0x00A000、length = 0x001000
RAMD0:origin = 0x00B000、length = 0x000800
RAMD1:origin = 0x00B800、length = 0x000800
RAMGS0:origin = 0x00C000、length = 0x001000
RAMGS1:origin = 0x00D000、length = 0x001000
RAMGS2 : origin = 0x00E000 , length = 0x001000
RAMGS3 : origin = 0x00F000, length = 0x001000
RAMGS4:origin = 0x010000、length = 0x001000
RAMGS5:origin = 0x011000、length = 0x001000
RAMGS6:origin = 0x012000、length = 0x001000
RAMGS7:origin = 0x013000、length = 0x001000
RAMGS8:origin = 0x014000、length = 0x001000
RAMGS9:origin = 0x015000、length = 0x001000
RAMGS10:origin = 0x016000、length = 0x001000
RAMGS11:origin = 0x017000、length = 0x001000
RAMGS12:origin = 0x018000、length = 0x001000
RAMGS13:origin = 0x019000、length = 0x001000
RAMGS14:origin = 0x01A000、length = 0x001000
RAMGS15:origin = 0x01B000、length = 0x000FF8
CPU2TOCPU1RAM:origin = 0x03F800、length = 0x000400
CPU1TOCPU2RAM:origin = 0x03FC00、length = 0x000400
FLASHA:origin = 0x080000、length = 0x002000
FLASHB:origin = 0x082000、length = 0x002000
FLASHC:origin = 0x084000, length = 0x002000
FLASHD:origin = 0x086000、length = 0x002000
FLASHE:origin = 0x088000、length = 0x008000
FLASHF:origin = 0x090000、length = 0x008000
FLASHG:origin = 0x098000、length = 0x008000
FLASHH:origin = 0x0A0000、length = 0x008000
FLASHI:origin = 0x0A8000、length = 0x008000
FLASHJ:origin = 0x0B0000、length = 0x008000
FLASHK:origin = 0x0B8000、length = 0x002000
FLASHL:origin = 0x0BA000、length = 0x002000
FLASHM:origin = 0x0BC000、length = 0x002000
FLASHN : origin = 0x0BE000、length = 0x001FF0
复位:origin = 0x3FFFC0、length = 0x000002
}
部分中)
{
//
// C28x 段
//
.reset :> RESET , TYPE = DSECT /* NOT USED ,*/
codestart :> 0x080000
.text :>> FLASHB | FLASHC | FLASHD | FLASHE
对齐(8)
.TI.ramfunc:加载> FLASHD、
Run > RAMD0、
表(BINIT)、
load_start (loadStart_ramfunc)、
load_end (loadEnd_ramfunc)、
load_size (loadSize_ramfunc)、
RUN_START (runStart_ramfunc)、
RUN_END (runEnd_ramfunc)、
RUN_SIZE (runSize_ramfunc)、
对齐(8)
.binit :> FLASHA,
对齐(8)
.ovly :> FLASHA,
对齐(8)
cinit :> FLASHA,
对齐(8)
.stack :> RAMM1.
.init_array :> FLASHB,
对齐(8)
.bss :> RAMLS2
.const :>> FLASHF | FLASHG | FLASHH,
对齐(8)
.data :>> RAMGS0 | RAMGS1 | RAMGS2 | RAMLS2 | RAMLS3.
.switch :> FLASHA,
对齐(8)
.sysmem :> RAMLS2
Cla1Prog : Load > FLASHD,
Run > RAMLS_4_5、
表(BINIT)、
Load_start (loadStart_cla1Prog)、
LOAD_END (loadEnd_cla1Prog)、
load_size (loadSize_cla1Prog)、
RUN_START (runStart_cla1Prog)、
对齐(8)
.const_cla:加载> FLASHB、
Run (运行)> RAMLS1、
表(BINIT)、
LOAD_START (loadStart_claConst)、
load_size (loadSize_claConst)、
RUN_START (runStart_claConst)、
对齐(8)
.scratchpad :> RAMLS1
bss_cla :> RAMLS1.
cla1ToCpuMsgRAM:> CLATOCPU_MSGRAM
cpuToCla1MsgRAM:>CPUTOCLA_MSGRAM.
//
//用户部分
//
userSection1{*(控制变量)}>> RAMLS0 | RAMLS1
userSection4{*(SHARERAMGS4)}> RAMGS4
userSection6{*(SHARERAMGS5)}> RAMGS5
MSGRAM_CPU1_TO_CPU2:> CPU1TOCPU2RAM、type=NOINIT
MSGRAM_CPU2_TO_CPU1:>CPU2TOCPU1RAM、type=NOINIT
}
#endif
/*
//________________________________________________====
//文件结尾。
//________________________________________________====
*/
此致、
Enes