如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
weimin xue:
weimin xue
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
Seven Han:
回复 weimin xue:
您好,
请参考flash_programming例程
文档:
http://www.ti.com.cn/cn/lit/an/spraau8/spraau8.pdf
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
weimin xue:
回复 Seven Han:
在main.c文件起始处(#include "F28x_Project.h"之后)增加代码段
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
#define ramFuncSection ".TI.ramfunc"
#else
#define ramFuncSection "ramfuncs"
#endif
#endif
#pragma CODE_SECTION(adca2_isr, ramFuncSection);
在28377S_FLASH_lnk.cmd文件中做如下修改(只改了标红两处)
#ifdef __TI_COMPILER_VERSION__ #if __TI_COMPILER_VERSION__ >= 15009000 .TI.ramfunc : {} LOAD = FLASHB, //FLASHD改为了FLASHB RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0, ALIGN(4) #else ramfuncs : LOAD = FLASHB, //FLASHD改为了FLASHB RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0, ALIGN(4) #endif#endif
通过示波器观察发现ADC中断服务程序执行时间在修改前后无变化(能编译通过也能掉电运行),想请教是什么原因?是我从Flash到RAM的copy方式不正确,还是说未加这些改动之前程序已经在初始化时刻被全部复制到了RAM中?
谢谢指教!
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
wentao zhang:
回复 Seven Han:
你好,打不开,能放个新链接么?
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
wentao zhang:
回复 weimin xue:
请问你解决了吗,我也有这方面的需求
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
Seven Han:
回复 wentao zhang:
请您在官网直接搜索:Copying Compiler Sections from Flash to RAM on the TMS320F28xxx DSCs (Rev. A)
如题,目前工程中用的controlSUITE中官方CMD文件:28377S_FLASH_lnk.cmd,程序烧写到Flash中运行,现在DSP上电时能把ADC中断服务函数移植到RAM中运行,以加快中断服务程序的执行速度,求指教应该如何进行操作?谢谢!
wentao zhang:
回复 Seven Han:
谢谢