將程式從Flash搬運到RAM中執行總結(轉載)
阿新 • • 發佈:2019-02-09
- 在CMD檔案中配置相應的段,如
- 定義全域性變數,方便主程式中呼叫MemCopy函式;
extern Uint16 secureRamFuncs_runstart; extern Uint16 secureRamFuncs_loadstart; extern Uint16 secureRamFuncs_loadend; 在使用者程式中,使用pragma將函式對映到上一步中定義的段中; #pragma CODE_SECTION(eva_timer1_isr, "ramfuncs"); #pragma CODE_SECTION(eva_timer2_isr, "ram
// 宣告中斷函式
interrupt void eva_timer1_isr(void);
interrupt void eva_timer2_isr(void);
interrupt void evb_timer3_isr(void);
- 在主程式中呼叫MemCopy(memcpy)函式和InitFlash函式(前者用於拷貝程式碼,後者用於優化flash執行),注意這兩個函式在InitSysCtrl後呼叫比較合理