工具/软件:TI C/C++编译器
您好,
通过320f2.8335万上的#pragma函数,我们可以通过RAM快速运行我们想要运行的函数,在上一篇文章中,我们说可以通过以下方式实现这一点:
1.我尚未找到此功能的特定文档。 然而,使用它并不是很复杂。 示例FLASH_F2.8335万 (C:\ti\controlSUITE\DEVICE_SUPPORT\F2833x\v133\DSP2833x_Examples_ccsv4)使用2833使用此功能。
在主菜单中,将代码从闪存复制到ram的功能称为:
Memcopy (&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);
您还需要指定应从RAM执行哪些功能:
#pragma code_section (epwm1_timer_isr,"ramfuncs");
#pragma code_section (epwm2_timer_isr,"ramfuncs");
ramfuncs部分需要在链接程序命令文件中创建:
ramfuncs:load = FLASHD,
RUN = RAML0,
load_start(_RamfuncsLoadStart),
load_end (_RamfuncsLoadEnd),
run_start(_RamfuncsRunStart),
页面= 0
2.避免了应用程序启动时间较长等缺点,因为需要执行memcopy,并且您还需要RAM中的可用空间。
我不知道此功能的其他关键缺点。
3.编译项目后,链接器将生成.map文件。 在此文件中列出了不同RAM和闪存区域的使用情况。
在上面提到的示例中,我可以看到ramfuncs在RAM中需要0x5d字节,并在地址0x8000的RAML0中存储和执行。
ramfuns 0.0032亿 0000005d运行ADDR = 0.8万
32万 0.0003万e example_2833xFlash.obj (ramfuncs)
3.2003万e 0.0001万b DSP2833x_sysctrl.obj (ramfuncs)
0.32万59 000000045.9万00004 DSP2833x_usDelay.obj0.0004万 DSP2833x_usDelay.obj (2833 (ramfuns)
TMS320F2.8377万s的要求是什么?