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.

关于DSP/BIOS从Flash搬运到Ram的疑问

DSP/BIOS 里面定义了那么多个section, 要是我想把整个程序都搬到ram里面运行,那搬运程序不是要写很多次??即使是关键的section,貌似也不少。。。

 

有没有比较方便、快捷的方法,可以把程序直接搬到ram里面运行?

  • 看来是要麻烦一点多写几个搬运程序来。。。

  • 楼主你好!

    其实有个简单的办法,你可以将整个需要搬到RAM里运行的函数放一个源文件里面,然后通过CMD文件,将这个文件的.text段分配到我们自定义的段里面去,然后将这个段设置为load在FLASH,运行在RAM就可以了。但前提是你要搬运到RAM里运行的程序长度不能超过相应的RAM段空间。

  • 为什么要把整个程序都搬过去?初始化、main函数等都不需要搬啊!

  • .text段的搬运应该放在那里呢?

    貌似放main里面是不行的,因为main本身就是在.text里面

    也不是全部搬啦,只是想说,DSP/BIOS分了那么多个段,一段一段搬过去挺麻烦的。。。

    另外一个问题比较困惑,我现在只把hwi_vec、secureRamFunc和ramFunc搬到内存里面,然后发现开机要13秒才能进入界面,而如果我用Jtag在ram运行的话,1秒左右就能进去了,为啥呢。。。

  • .text段的搬运应该放在那里呢?

    貌似放main里面是不行的,因为main本身就是在.text里面

    也不是全部搬啦,只是想说,DSP/BIOS分了那么多个段,一段一段搬过去挺麻烦的。。。

    另外一个问题比较困惑,我现在只把hwi_vec、secureRamFunc和ramFunc搬到内存里面,然后发现开机要13秒才能进入界面,而如果我用Jtag在ram运行的话,1秒左右就能进去了,为啥呢。。。