PIC16 bootloader之UART bootloader

  瞭解更多關於bootloader 的C語言實現,請加我QQ: 1273623966 (驗證信息請填 bootloader),歡迎諮詢或定製bootloader(在線升級程序)。

  PIC16 bootloader是在PIC16單片機上電覆位時執行的一段程序。通過這段程序,可以不使用編程器,也能實現應用程序在線升級。今天要介紹的PIC16 bootloader是使用UART通信接口的UART bootloader, 也叫RS232串口bootloader。由於電腦只有USB接口,所以需要用USB-to-RS232的適配器來轉發數據,將電腦端的數據轉發到PIC16單片機,或者將PIC16單片機的數據轉發到電腦。系統接線圖如下:

                                                                                                                                                                                                                                  

  電腦要運行一個專門的上位機程序,用來加載應用程序的hex文件,設置RS232通信端口和baud rate,點擊下載按鈕,啓動和PIC16 bootloader通信,下發應用程序數據完成應用程序升級。我的這個PIC16 bootloader 的上位機程序是使用C#和Visual Studio 2013開發的,界面如下:                                                                                                                                                                                                                                                   

  USB-to-RS232適配器在京東或Taobao上都可以買到,常見的有PL-2303 或FTDI兩種類型,安裝電腦驅動就可以使用。RS232 cable長度一般爲1.0m~2m左右,連接到用戶板的DB-9連接器。

  用戶板就是PIC16單片機的目標板,用戶板需要燒寫好PIC16 UART bootloader固件。我的PIC16 UART bootloader軟件分三層,應用層,中間層,和驅動層,軟件架構如下:

                                                                                                                                                                                                                 

  這個PIC16 UART bootloader和之前寫的bootloader相比有四個特色。第一個特色是它分層比較清晰,應用層和驅動層有隔離,方便移植。移植到PIC18,PIC24, PIC32非常地快,即使移植到非PIC的芯片也很容易。第二個特色是它是爲工業級產品開發的,是一款工業級的bootloader。 PC端host程序發送的每一幀數據都帶checksum。UART bootloader接收數據,解析數據,燒寫數據,燒寫完會讀出來作比較,所有的這些動作的結果會反饋到PC端的上位機程序,沒有錯誤反饋正響應,有錯誤就反饋負響應。最後還會對整個過程接收到的數據作校驗,從而確保數據的完整性和正確性。即使在惡劣的工業環境,也能夠確保應用程序可靠地完成升級。第三個特色是PIC UART bootloader可以實時在LCD屏幕上顯示應用程序升級的進度。工業產品很多都帶LCD屏,利用LCD屏顯示升級的進度,是我爲這個UART bootloader獨創的功能。最後一個特色,這個PIC16 UART bootloader是放在code flash的底部,應用程序是放在頭部,這樣做最大的好處是應用程序不需要做偏移,中斷向量不需要重映射,就算是新手使用這個UART bootloader也絲毫沒有問題。應用程序加了偏移,很多時候無法調試,需要調試就得把偏移去掉。使用這個UART bootloader就不需要這麼麻煩,應用程序不需要偏移,隨時都可以調試,出了問題能夠方便地查找問題原因。我爲PIC16 UART bootloader升級應用程序的整個過程錄製了一個視頻,視頻的鏈接:工業級UART接口PIC16 Bootloader 應用程序升級視頻-科技-高清完整正版視頻在線觀看-優酷 (youku.com)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章