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.

RAM运行正常,FLASH无法运行

Other Parts Discussed in Thread: CONTROLSUITE

写了个程序,用28035_RAM_lnk.cmd调试,编译报错貌似存储区不够,所以把PAGE 1中的RAML3,移到PAGE 0中,将.text指向RAML3中运行,这样不报错了,程序也可以正常运行了,但是用F2808.cmd下载到FLASH中区后,程序无法运行,停留在一个 SB汇编指令的地方,无法继续。

请问这是什么原因? 

  • Hi, Lzh4774

     

    能否提供一下您在最开始时遇到的编译报错?

    在您将执行地址修改为FLASH后,程序无法执行所停留的SB汇编指令是指哪里?能否说明或截图?

  • 上传不了图片啊!

  • 1、在RAM中调试时,错误显示为

    Program will not fit into available memory.placement with alignment/block fails for section'.text' size oxd75 page 0.avalable memory range:RAML0L1

    错误定位到28035_RAM_lnk.cmd的.text段,  我理解的是使用IQ库后,代码存储区不够用,于是我将28035_RAM_lnk.cmd的Page1中的RAML3移动到PAGE0中,将.text段定位到RAML3。

    2、设置之后,用28035_RAM_CLA_lnk.cmd在RAM中调试,一切运行正常。

    3、在利用F28035.CMD下载到FLASH中去时,编译无错误,在单步调试运行到InitAdc()函数后,再点击下一步,就会跳转到disassembly 窗口下,始终停留下以下代码处:

    3ff8cd    6f00    SB    0,UNC

    再点击下一步,程序还是停留在该处。

  • 图片上传方法参考下图:

  • 我是这样上传的,上传一会就打个叉叉,然后出现  插入文件出现错误  ,就OVER了

    用添加附件也是这样。

    试了png格式,jpg格式,还试了添加附件,都不行。

     

  • Lzh,

    1. 这里确实是程序段.text代码size很大,RAML0L1装不下,只要设计一个段够大,能够放下.text就可以。

    2. 建议你去看一下这个例程C:\ti\controlSUITE\device_support\f2803x\v127\DSP2803x_examples_ccsv5\flash_f28035, 这是程序跑在flash上的一个标准例程。

    像出现你这样的问题,程序应该是跑飞了。你检查main中是否有memcopy函数,复制上来,以及有没有复制一些函数在RAM中运行?

    在调用那些RAM中运行的函数之前,一定要确保函数已经复制到位。

    Eric