浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » IC/元器件

在PIC18單片機中使用BootLoader

發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):2377

摘要:介紹在PIC18系列單片機中使用BootLoader的原理、方法及優(yōu)點;介紹HI-TECH公司使用C語言實現(xiàn)BootLoader的程序,給出詳細(xì)的使用方法和參數(shù)配置方法;針對程序中存在的問題進行探討和修改,使修改后的程序?qū)嵱、可靠。另外,探討對程序?shù)據(jù)進行加密、加快下載速度、在RS485/RS422中使用BootLoader的方法和思路。根據(jù)此方法,讀者可以編寫出適合自己使用的BootLoader程序。

        關(guān)鍵詞:BootLoader PIC18 IAP 在線升級

        引 言

        PIC單片機的BootLoader屬于需要自己寫程序的那種,可以根據(jù)自己的需要寫出各種功能的BootLoader程序來。目前,比較常見的BootLoader程序有Microchip公司的C18版本和著名的PICC編譯器廠商HI-TECH公司(以下簡稱HI-TECH)的PICC18版本。它們的相似之處在于都占用了系統(tǒng)的0x00~0x1FF的程序空間。Microchip的版本是用純匯編寫的,而HI-TECH的版本是用C語言編寫的。

        在PIC系列單片機中,只有PIC18系列和PIC16F87X系列的單片機才有IAP功能,才能夠使用BootLoader功能。下面只介紹PIC18的BootLoader,PIC16F87X的BootLoader與它類似。

        1 BootLoader程序的工作原理

        BootLoader是一段引導(dǎo)程序,在單片機上電/復(fù)位后在用戶程序之前先運行。運行后判斷當(dāng)前是否需要進入升級狀態(tài)。如果不需要升級,就直接運行Flash中原有的程序;如果需要升級,首先擦除舊的程序,然后從串口接收用戶程序,同時寫入Flash中。接收數(shù)據(jù)時,需要進行校驗,保證接收到的數(shù)據(jù)是正確的,避免將錯誤的程序?qū)懭氲叫酒小?/P>

        PIC18單片機只有一塊Flash,可以在Flash的任何位置擦寫(甚至可以將BootLoader自身擦除);而51單片機一般都是兩塊Flash,只能夠從一塊Flash上擦寫另一塊Flash,而不能擦寫自身。

        BootLoader程序原則上是可以放在整個程序空間中的任何位置的,但是為了簡單方便、具有通用性和盡量減少對用戶程序的影響,使用了從0x00開始的一段程序空間。

        BootLoader程序可以多種方式獲取數(shù)據(jù),包括串口、并口、I2C、SPI、USB等;但是從實際使用來看,使用串口無疑是最方便的。

        為了使得用戶程序可以獲得最大的程序空間,就需要BootLoader程序盡可能的簡短。在這里,Microchip和HI-TECH都將BootLoader程序設(shè)計為小于200H個字節(jié)(100H個字)。使用0x00~0x1FF這個區(qū)域還有一個重要原因是,這個地址的空間有特殊的寫保護特性。

        PIC18單片機雖然有多個中斷源,但只支持兩級中斷,有兩個中斷向量,分別位于0x08和0x18;而BootLoader程序占用了0x00~0x1FF的空間,這意味著需要重新定位中斷向量,使新的中斷向量指向用戶的中斷程序,這樣才能保證正常運行用戶程序的中斷程序。

        2 程序的使用方法

        (1) HI-TECH的BootLoader程序

        在HI-TECH的PICC18編譯器的examples文件夾下,有一個Bootldr子文件夾,里面就是HI-TECH的BootLoader程序。這是一個完整的程序,可以直接進行編譯,編譯后的HEX可以用編程器下載到芯片中。

        (2) 用戶系統(tǒng)的要求

        如果需要使用BootLoader,要求用戶系統(tǒng)中有一個RS232串口可以和計算機進行通信。

        (3) 程序的配置

        下面是程序的主要參數(shù),如果它們設(shè)置得不正確,會影響程序的使用。

        VERB0:冗余模式,有更多的提示,但是會占用更多的程序空間,建議不用。
        BOOT_TIMEOUT:等待超時的時間,0~9s(再長了也沒有意義),默認(rèn)為5s。
        BAUD:串口通信的波特率,默認(rèn)是9 600。
        FOSC:用戶系統(tǒng)的時鐘頻率,默認(rèn)是4 MHz。
        

摘要:介紹在PIC18系列單片機中使用BootLoader的原理、方法及優(yōu)點;介紹HI-TECH公司使用C語言實現(xiàn)BootLoader的程序,給出詳細(xì)的使用方法和參數(shù)配置方法;針對程序中存在的問題進行探討和修改,使修改后的程序?qū)嵱谩⒖煽。另外,探討對程序?shù)據(jù)進行加密、加快下載速度、在RS485/RS422中使用BootLoader的方法和思路。根據(jù)此方法,讀者可以編寫出適合自己使用的BootLoader程序。

        關(guān)鍵詞:BootLoader PIC18 IAP 在線升級

        引 言

        PIC單片機的BootLoader屬于需要自己寫程序的那種,可以根據(jù)自己的需要寫出各種功能的BootLoader程序來。目前,比較常見的BootLoader程序有Microchip公司的C18版本和著名的PICC編譯器廠商HI-TECH公司(以下簡稱HI-TECH)的PICC18版本。它們的相似之處在于都占用了系統(tǒng)的0x00~0x1FF的程序空間。Microchip的版本是用純匯編寫的,而HI-TECH的版本是用C語言編寫的。

        在PIC系列單片機中,只有PIC18系列和PIC16F87X系列的單片機才有IAP功能,才能夠使用BootLoader功能。下面只介紹PIC18的BootLoader,PIC16F87X的BootLoader與它類似。

        1 BootLoader程序的工作原理

        BootLoader是一段引導(dǎo)程序,在單片機上電/復(fù)位后在用戶程序之前先運行。運行后判斷當(dāng)前是否需要進入升級狀態(tài)。如果不需要升級,就直接運行Flash中原有的程序;如果需要升級,首先擦除舊的程序,然后從串口接收用戶程序,同時寫入Flash中。接收數(shù)據(jù)時,需要進行校驗,保證接收到的數(shù)據(jù)是正確的,避免將錯誤的程序?qū)懭氲叫酒小?/P>

        PIC18單片機只有一塊Flash,可以在Flash的任何位置擦寫(甚至可以將BootLoader自身擦除);而51單片機一般都是兩塊Flash,只能夠從一塊Flash上擦寫另一塊Flash,而不能擦寫自身。

        BootLoader程序原則上是可以放在整個程序空間中的任何位置的,但是為了簡單方便、具有通用性和盡量減少對用戶程序的影響,使用了從0x00開始的一段程序空間。

        BootLoader程序可以多種方式獲取數(shù)據(jù),包括串口、并口、I2C、SPI、USB等;但是從實際使用來看,使用串口無疑是最方便的。

        為了使得用戶程序可以獲得最大的程序空間,就需要BootLoader程序盡可能的簡短。在這里,Microchip和HI-TECH都將BootLoader程序設(shè)計為小于200H個字節(jié)(100H個字)。使用0x00~0x1FF這個區(qū)域還有一個重要原因是,這個地址的空間有特殊的寫保護特性。

        PIC18單片機雖然有多個中斷源,但只支持兩級中斷,有兩個中斷向量,分別位于0x08和0x18;而BootLoader程序占用了0x00~0x1FF的空間,這意味著需要重新定位中斷向量,使新的中斷向量指向用戶的中斷程序,這樣才能保證正常運行用戶程序的中斷程序。

        2 程序的使用方法

        (1) HI-TECH的BootLoader程序

        在HI-TECH的PICC18編譯器的examples文件夾下,有一個Bootldr子文件夾,里面就是HI-TECH的BootLoader程序。這是一個完整的程序,可以直接進行編譯,編譯后的HEX可以用編程器下載到芯片中。

        (2) 用戶系統(tǒng)的要求

        如果需要使用BootLoader,要求用戶系統(tǒng)中有一個RS232串口可以和計算機進行通信。

        (3) 程序的配置

        下面是程序的主要參數(shù),如果它們設(shè)置得不正確,會影響程序的使用。

        VERB0:冗余模式,有更多的提示,但是會占用更多的程序空間,建議不用。
        BOOT_TIMEOUT:等待超時的時間,0~9s(再長了也沒有意義),默認(rèn)為5s。
        BAUD:串口通信的波特率,默認(rèn)是9 600。
        FOSC:用戶系統(tǒng)的時鐘頻率,默認(rèn)是4 MHz。
        

相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

單片機版光立方的制作
    N視頻: http://v.youku.comN_sh... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!