Re: MPLAB X IDE 使用MCC產出PIC18F45K22的bootload運用問題
|
||||
---|---|---|---|---|
資深會員
|
以下連結是MCC - 8-bit Bootloader Generator User Guide, 您可以參考一下.
http://ww1.microchip.com/downloads/en/DeviceDoc/40001779B.pdf
發表於: 2020/6/3 15:18
|
|||
|
Re: MPLAB X IDE 使用MCC產出PIC18F45K22的bootload運用問題
|
||||
---|---|---|---|---|
初級會員
|
再延續問一個問題,
如下圖在bootloadGenerator設定Reset Vector是0x500 我要導入的HXE原始碼主程式是不是要設定程式起始位址為0x500, 如果是,要怎麼設定? 再問一個問題,要導入的HEX經由bootload燒錄可以含有MCC產出的BootCode嗎?還是只能是單純的主程式? Attach file: (0.00 KB)
發表於: 2020/6/3 13:34
|
|||
|
Re: MPLAB X IDE 使用MCC產出PIC18F45K22的bootload運用問題
|
||||
---|---|---|---|---|
資深會員
|
MCC的Peripheral裡面有一個Memory的選項, 您只要在專案中加入此Memory周邊, 並按下Generate Code後就會產生對應到該MCU的Flash Erase/Write/Read routine.
您可以使用附圖的FLASH_EraseBlock()來將Reset Vector清為0xFF. 請參考一下我剛剛使用MCC所產生的Flash Routine. Attach file: (0.00 KB) (0.00 KB) (0.00 KB)
發表於: 2020/6/3 12:06
|
|||
|
MPLAB X IDE 使用MCC產出PIC18F45K22的bootload運用問題
|
||||
---|---|---|---|---|
初級會員
|
請教一下,
我使用MCC產出PIC18F45K22的bootload Code 搭配UnifiedHost-1.16.1電腦工具來使用, 其中會檢查TBLPTR = NEW_RESET_VECTOR;是否為0xFF, 我使用Debug Mode進去看, 此位址的數值為0x00, 導致無法進入Run_Bootloader (); 請問這位只要如何清為0xFF? 我可以找到的都是舊版的bootload程序介紹, 有沒有可以提供新的bootload程序資料可以看! 謝謝~! // ***************************************************************************** void BOOTLOADER_Initialize () { if (Bootload_Required () == true) { Run_Bootloader (); // generic comms layer } STKPTR = 0x00; asm ("goto " str(NEW_RESET_VECTOR)); } // ***************************************************************************** bool Bootload_Required () { // ****************************************************************** // Check the reset vector for code to initiate bootloader // ****************************************************************** // This section reads the application start // vector to see if the location is blank TBLPTR = NEW_RESET_VECTOR; // (0xFF) or not. If blank, it runs the // bootloader. Otherwise, it assumes the // application is loaded and instead runs the // application. EECON1 = 0x80; asm("TBLRD *+"); if (TABLAT == 0xFF) { return (true); } return (false); }
發表於: 2020/6/2 17:41
|
|||
|