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