Re: PIC18 MCC Bootloader

作者 GodBlessU 於 2017年12月28日 15:37:30
關於第二個問題 Unified Bootloader Application停在下面console畫面.

09:22:09.902 > Retrieving Checksum ...

表示燒錄的Hex file和從MCU讀回的flash資料不一致, 所以卡在該程序. 也就是說可能沒有正確Erase或是Write flash所導致.

目前最新版本MCC v3.45.1所內建的8-bit bootloader library的版本還是v2.2.0. 而Microchip官網最新的版本是v2.2.31, 建議您可以試一下該版本library(應該有解決該問題), 並搭配最新版的Unified Bootloader Application v0.1.14版來燒錄hex file.

但是目前8-bit bootloader library v2.2.31的下載頁面好像有問題.

您也可以手動修改下面程式段測試一下, 在pic18f_bootload.c中的StartWrite() function裡面, 將下面這三行comment out掉.

//EECON2 = EE_Key_1;
//EECON2 = EE_Key_2;
//EECON1bits.WR = 1; // Start the write

並加入下面這幾行

CLRWDT();

// had to switch to assembly - compiler doesn't comprehend // no need for bank switch
asm ("movf " str(_EE_Key_1) ",w");
asm ("movwf " str(BANKMASK(EECON2)));
asm ("movf " str(_EE_Key_2) ",w");
asm ("movwf " str(BANKMASK(EECON2)));
asm ("bsf " str(BANKMASK(EECON1)) ",1");


// Start the write

NOP();
NOP();

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=1&topic_id=22147&post_id=77624