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 FLASH 中的程序在 RAM中 执行,有之前做过的么?求给些指点



28335 FLASH 中的程序在 RAM中 执行,有之前做过的么?

具体方法该怎么去实现呢?

  • 在CMD文件中将SECTIONS的.text部分替换为类似以下部分的代码:
     .text               : LOAD = FLASHA,  PAGE = 0
                             RUN = RAML0, PAGE = 0
                             LOAD_START(_text_loadstart),
                             LOAD_SIZE(_text_loadsize),
                             RUN_START(_text_runstart)
    具体的LOAD和RUN区域的内存分配,可以根据实际情况修改。

  • 我之前也是把CMD里面的内容这样修改,但不知道其他的地方还有没有要改的,还有地址该怎么分配什么的,程序空间和地址空间总之编译时出了错误,可以发给我个您修改过的CMD文件吗?万分感谢!

       .cinit                 .pinit                 .text                codestart           ramfuncs               csmpasswds          csm_rsvd            
       .stack                 .ebss                 .esysmem             .econst              .switch               IQmathTables     :   IQmathTables2       FPUmathTables            
       .reset                vectors        

    这些初始化和未初始化的都要重新改?

    我的邮箱1020638419@qq.com  谢谢了!

  • 你好,编译出错时的提示内容是什么?

  • 从错误提示来看,应该是RAMM1空间太小,不够分配.ebss段,请将.ebss段分配到一个更大的ram空间中。