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.

28335 F28335cmd文件的问题

如题,最近在做讲程序下载到FLASH中的工作,发现添加的F28335.cmd文件中有这样一段程序:

SECTIONS
{

/* Allocate program areas: */
.cinit : > FLASHA PAGE = 0
.pinit : > FLASHA, PAGE = 0
.text : > FLASHA PAGE = 0
codestart : > BEGIN PAGE = 0
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0

*****

前面不是将程序分配到FLASHA中了吗?为什么是ramfuncs : LOAD = FLASHD,而不是ramfuncs : LOAD = FLASHA?

能给详细说说这部分的内容吗?

  • 您可以参考下这边帖子:
    e2echina.ti.com/.../81073
  • 您好,我有个新的问题想要咨询您:
    我现在用F28235设计应用(请注意是28235,不是335):
    要将程序下载到Flash中运行,已经做得工作有:
    1.将cmd文件由ram_link改为F28335;
    并且添加 ramfuncs : LOAD = FLASHD,
    RUN = RAML0,
    LOAD_START(_RamfuncsLoadStart),
    LOAD_END(_RamfuncsLoadEnd),
    RUN_START(_RamfuncsRunStart),
    LOAD_SIZE(_RamfuncsLoadSize),
    PAGE = 0
    2.在主程序中声明
    extern Uint16 RamfuncsLoadStart;
    extern Uint16 RamfuncsLoadEnd;
    extern Uint16 RamfuncsRunStart;
    extern Uint16 RamfuncsLoadSize;
    3.在主程序 InitPieVectTable();后添加
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);

    InitFlash();
    4.工程中添加memcpy.c和DSP2833x_CodeStartBranch.asm
    5. 包含的库文件是rts2800_mh.lib
    程序成功的下载到了FLASH中,然而却无法启动,请问会是哪里的问题呢?
  • 程序成功的下载到了FLASH中,然而却无法启动,请问会是哪里的问题呢?

    连接仿真器,看看程序卡死在什么位置。另外,最好是在main函数第一句话就执行
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);