PIC18 MCC Bootloader

作者 kyt 於 2017年12月15日 09:34:26
各位前輩,

最近碰到一個問題,
需使用 MPLAB X 4.05, XC8 1.45,
在 PIC18F25K80 環境下用 MCC 產生 Bootloader。
參考資料如下:
1. (Simplified Chinese) 如何实现Microchip 8位MCU的软件在线升级
2. AN851, A FLASH Bootloader for PIC16 and PIC18 Devices.pdf
3. 2017 Master conference, 8-bit bootloader using MCC.pdf
4. Bootloader Generator User’s Guide.pdf

碰到幾個問題,還望不吝解惑

1. Bootloader 生成
(a) Manage configuration 在製作 No Configurations 時,在 build 之後都會出現如下警告語句
The program file could not be loaded: The Extended CPU Mode configuration bit is enabled, but the program was not built using extended CPU instructions.
請問這是什麼問題呢?在 Merge 的時候也無法 loading 這個 hex 檔案。

(b) 在 MCC 生成的 pic18f_uart.c 與 pic18f_bootloader.c 裡面有看到根據 bootloader protocol 建立的解析程式與執行程式。
所以我應該是創建一個 main.c,在其中執行 SYSTEM_Initialize() 就可以了吧?

可是為什麼當我使用 unified bootloadet application 進行燒錄時,console 出現如下字樣。

09
:22:08.824 > Device: COM6 Bootloading started
09
:22:08.868 > Reading Version ...
09:22:08.896 > Bootloader Version Read Successful
09
:22:08.896 > Erasing Device ...
09:22:08.918 > Erase Successful
09
:22:08.918 > Programming Flash ...
09:22:09.902 > Flashed Programmed
09
:22:09.902 > Retrieving Checksum ...

但我的板子卻沒有執行應有的動作呢? ( 燒錄的 APP 為單純的 LED 顯示程式 )

2. bootloader 與 app 的 Hex merge 問題
參照 Bootloader Generator User’s Guide.pdf 進行設置後,一直出現如下警告語句
(944) data conflict at address 300000h between dist/Combined/production/TEST.X.production.hex and C:/Users/justi/Desktop/TEST_BTL/TEST_BTL.X/TEST_BTL.X/dist/W_Config/production/TEST_BTL.X.production.hex

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