工具/软件:TI-RTOS
我使用 DSP28335来开发基于程序的 DSP/BIOS、在通常编译程序并在 CCS3.3中编译程序后、我的程序的.out 文件为920Kb、我将.out 文件刻录到 DSP28335中、
程序通常可以启动并运行。
为了缩短程序的运行时间、我想在 XINTF 区域6中将程序的.text 和.econst 段从闪存加载到外部 RAM、因为 DSP28335的片上存储器很小、所以我
按照以下示例执行加载工作:
首先、在_c_int00之前、我初始化.text 和.econst 段、引用 DSP28xxx_SectionCopy_nonBIOS.asm、
其次、我在 XINTF 区域6中初始化 SARAM、引用 InitExtMemIf。asm ( (David M. Alter))、
然后、我将程序的.text 和.econst 段从闪存加载到 F28335_BIOS_flash.cmd 中 XINTF 区域6中的 SARAM 中
/*NAME PAGE 0:
ExtRAM 原点:00100000长度:00080000
L67RAM 原点:0000e000 length:00002000*/
.text:load = flash_ABCDEFGH、page = 0 //应为 Flash *
run = ExtRAM、page = 0 /*必须为 CSM 安全 RAM */
load_start (_text_loadstart)、
load_size (_text_loadsize)、
run_start (_text_runstart)
econst:load = flash_ABCDEFGH、page = 0 //应为 Flash *
run = ExtRAM、page = 0 /*必须为 CSM 安全 RAM */
load_start (_econst_loadstart)、
load_size (_econst_loadsize)、
run_start (_econst_runstart)
正常编译程序并在 CCS3.3中编译程序后、我会将.out 文件刻录到 DSP28335中、但程序无法启动和运行。
我将 DSP28335的片上存储器的.text 段的运行地址从 ExtRAM 更改为 L67SARAM 段、通常编译程序并在 CCS3.3中构建程序后、我会刻录.out 文件
在 DSP28335中、程序通常可以启动并运行。
.text:load = flash_ABCDEFGH、page = 0 //应为 Flash *
运行= L67SARAM、PAGE = 0 /*必须是 CSM 安全 RAM */
load_start (_text_loadstart)、
load_size (_text_loadsize)、
run_start (_text_runstart)
econst:load = flash_ABCDEFGH、page = 0 //应为 Flash *
run = ExtRAM、page = 0 /*必须为 CSM 安全 RAM */
load_start (_econst_loadstart)、
load_size (_econst_loadsize)、
run_start (_econst_runstart)
如何解决将程序的.text 段从闪存加载到外部 RAM 的问题。