免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

PIC Release與Debug差異用法

C語言

#ifdef __DEBUG
__CONFIG(INTIO & WDTEN & PWRTEN & MCLRDIS & CP & CPD & BORXSLP & FCMDIS & IESODIS & LVPDIS);
__CONFIG(BORV21 & WP2);
#else
__CONFIG(0x228c);
__CONFIG(0x38ff);
#endif

-----------------------------------------------------------
PICkit 3/ICD3/Real ICE ...等開發工具通常具有兩種工作模式,
除錯模式(Debugger)與燒錄模式(Programmer).

兩個模式的差異在於,

開發工具設定為除錯模式(Debugger)時, 可透過MPLAB IDE進行單步, 斷點等除錯功能. 此時MCU的執行控制權在MPLAB IDE身上, 所以當把開發工具移除時, MCU便無法執行程式, 因為MCU等不到執行的命令.

當開發工具設定為燒錄模式(Programmer), 可透過MPLAB IDE將編譯成功的程式, 燒錄到MCU中, 此時MCU的執行控制權在MCU自己身上, 只要MCLR沒有被拉到地, MCU就會開始執行程式.

而為了達成除錯模式(Debugger)的需求, 開發工具必須與MCU進行溝通, 此溝通的需求會佔用MCU內部一部分的Flash與Data Ram. "debug/release" 的選項, 是用來通知Compiler是否保留該區域.

簡單說

除錯模式(Debugger)時, 由於需要與MCU進行溝通, 所以設定成debug.
燒錄模式(Programmer)時, 由於不需要與MCU進行溝通, 所以設定成release, 不過如果MCU內部空間夠, 設定成debug也沒差.
返回列表