我现在的项目程序下载到flash运行的时候再搬运到RAM,请问是不是相关函数都需要使用#pragma CODE_SECTION(XXX,"ramfuncs");把有关函数定义到flash区那?
我看到一个公司的TI芯片的例子就是把所有使用到的函数使用#pragma CODE_SECTION(XXX,"ramfuncs");定义到CODe里面 具体如下:
#pragma CODE_SECTION(Common_PI_Regulator_Update,"ramfuncs");
#pragma CODE_SECTION(LPF,"ramfuncs");
#pragma CODE_SECTION(zhihui,"ramfuncs");
#pragma CODE_SECTION(BoostControl, "ramfuncs");
#pragma CODE_SECTION(ADsample, "ramfuncs");
#pragma CODE_SECTION(ProJudge, "ramfuncs");
#pragma CODE_SECTION(alarm, "ramfuncs");
#pragma CODE_SECTION(Boostcalc, "ramfuncs");
#pragma CODE_SECTION(RelayCntrUpdate, "ramfuncs");
#pragma CODE_SECTION(GPIOInterface, "ramfuncs");
#pragma CODE_SECTION(filter501, "ramfuncs");
#pragma CODE_SECTION(FOC1_ISR,"ramfuncs");
#pragma CODE_SECTION(InitFlash, "ramfuncs");
设置把AD采用的中断函数FOC1_ISR都使用上述方法,请问这样做有什么好处?
按照以前同事说这样做的话使用 AdcOffsetSelfCal(); // Adc Offset Self Calibrate不会卡死 这是为什么?
谢谢!