【導讀】置方法;針對程序中存在的問題進行探討和修改,使修改后的程序?qū)嵱?、可靠。根?jù)此方法,讀者可以編寫出適合自己使用的BootLoader程序。目前,比較常見的BootLoader程序有Microchip. 它們的相似之處在于都占用了系統(tǒng)的0x00~0x1FF的程序空間。Microchip的版本是用純匯編寫的,而HI-TECH的版本是用C語言編寫的。下面只介紹PIC18的BootLoader,PIC16F87X. BootLoader是一段引導程序,在單片機上電/復位后在用戶程序之前先運行。行后判斷當前是否需要進入升級狀態(tài)。接收數(shù)據(jù)時,需要進行校驗,保證接收到的數(shù)據(jù)是正確的,避免將錯誤的程序?qū)?。擦寫另一塊Flash,而不能擦寫自身。BootLoader程序可以多種方式獲取數(shù)據(jù),包括串口、并口、I2C、SPI、USB等;但是從實際使用來看,使用串口無疑是最方便的。在這里,Microchip和HI-TECH都將BootLoader程序設計為小于200H個字。在HI-TECH的PICC18編譯器的examples文件夾下,有一個Bootldr子文件夾,使用MPLABIDE時,首先按照正常方式建立一個新的工。C編譯器為HI-TECH的PICC18編譯器。雖然在BootLoader中是可以修改配置字的,但是這樣并不安全,也不方便。生最終的用戶HEX代碼。