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烧写中的 MEMCPY 问题

dsp  28335官方例程中 能下载的那个 CMD文件 28335.CMD 里面只有 把 initflash() 函数搬到 RAM的,
ramfuncs            : LOAD = FLASHD,
                         RUN = RAML0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0
那其他分配到片内FLASH的 段 比如TEXT  CINIT 是DSP 自己搬么?还是 开发板跳线设置了 JUMP TO FLASH就不用自己搬了?

  • 都需要自己搬。

    但是关键看是否有必要去搬。

    像InitFlash()必须搬移到Ram中。

    像一些调用频繁,以及运算量大的可以搬移。

    其他的无需搬移,毕竟Ram空间有限。

  • 请问Jones Chen ,

    仿照InitFlash的方式,想把.text也COPY至RAMH0中执行

    .text     : LOAD = FLASH_AB, PAGE = 0

    RUN = RAML0L1, PAGE = 0

    LOAD_START(_.text_loadstart),

    LOAD_END(_.text_loadend),

    RUN_START(_.text_runstart)

    只写上述代码没有问题,但是main函数中加上

    memcpy( &.text_runstart,

    &.text_loadstart,

    &.text_loadend - &.text_loadstart);

    或者example_nonBIOS.h中加上

       extern Uint16 .text_loadstart;

           extern Uint16 .text_loadend;

           extern Uint16 .text_runstart;

    都会报错,不知道为什么

    我试过自定义的段UserFuncs,按上面3部分写是没有问题的

  • 可以参考下面这份文档:

    focus.ti.com/.../litabsmultiplefilelist.tsp

  • 谢谢,先看看