本文主要介紹一個基于SmartFusion更新M3程序的IAP在線升級應用方案。在傳輸距離可靠的情況下,通過UART、sp喊者MAC將用戶板和PC機連接即可實現遠程升級,無需采用PlashPr03等下載器下載程序,也無需手動復位,一切工作均可由串口和上位機自動完成。如圖1所示,LAP在線升級SmartFusion的M3程序主要有以下三種方式:UART、SPI以及MAC。
1.概述
(1)LAP技術的需求
由于SmartFusion系列FPGA是行業首個智能混合信號FPGA,在嵌入式行業中的應用越來越廣泛。然而,無論是開發商還是初學者,在使用SmartFusion器件的時候,往往都需要額外購買昂貴的調試工具,比如M3編程器和FlashPro3下載器等,而這些編程器的價格有時候比開發板還貴,這樣就打消了很多初學者購買開發板的念頭。另一方面,調試和更新程序只局限于竇驗室,使用者往往需要拿到板子之后,然后采用系統編程(ISP)的方式更新程序。這樣使得效率大大折扣。給后續的軟件更新和升級帶來了諸多不便。
基于SmartFusion更新M3程序的IAP在線升級應用方案正是針對這種現象提出的,用戶不但可以省下購買額外調試工具的費用,只需串口線、網線甚至是普通的電線即可。而且調試和更新程序的范圍不再局限于實驗室,而是可以通過網絡通信方式實現遠程升級和維護。
(2)方案比較
如今,很多使用單片機的初學者和用戶幾乎只使用ISP和IAP兩種方式來進行器件的實驗和開發,相比傳統編程方法的不足,這兩種方式更具有優越性。它們各自的工作原理和特點如表1所示。
對比以上表格可見,無論是在價格方面,還是在使用方面,IAP比ISP更具優越性,因此,采用IAP在線升級程序更具有靈活性。
(3)IAP系統框圖
本IAP在線升級方案主要包含了控制臺程序(人機界面部分)、傳輸線(連接pc機和目標板的橋梁)和目標板(包含Cortex-M3處理核和LAP模塊),結構框圖如圖2所示。整個系統的連接和操作相當簡單。
2.功能模塊介紹
本方案的設計主要是軟件方面的設計,總共包含4個功能模塊,分別是Bootloader、IAP、Application和控制臺程序。其中IAP是本設計的核心之一,同時也展示了一種在線更新M3程序的方法。
(1)Bootloader模塊
Bootloader~序的功能主要是移動或者裝載其他eNVM區域的鏡像程序進入運行位置,同時使M3進入運行或者調試狀態。如圖3所示,本程序在目標板上電初始化后運行,在進入本程序后,Bootloader將會提示用戶輸入命令,根據用戶輸入命令自動引導程序進入相應的鏡像程序執行。
(2)IAP模塊
IAP(hl-Application Programming)指Mcu可以在系統中獲取新代碼并對自己重新編程,即可用程序來改變程序。相比ISP,IAP的實現相對要復雜一些。
在實現LAP功能時,單片機內部至少要有兩塊存儲區,一般一塊被稱為BOOT區,另外一塊被稱為存儲區。單片機上電運行在BOOT區,如果有外部改寫程序的條件滿足,則對存儲區的程序進行改寫操作。如果外部改寫程序的條件不滿足,程序指針跳到存儲區,開始執行放在存儲區的程序。
如圖4所示,假如現在處于IAP升級狀態,此時IAP程序將被全部裝載到SRAM區,M3完全在SRAM區運行IAP,然后將通過UART/SPI/MAC將dat文件寫入存儲XE(Application),從而實現了IAP功能。
(3)Application模塊
Application程序是用戶自定義的程序,根據用戶的不同需求和硬件的搭配而不同,因此用戶可以隨意改動這部分程序,但是,編寫AppHcafion程序的時候還是有一定的要求,因為需要實現串口遠程更新程序,那就要求在程序運行過程中能夠識別串口發送過來的更新命令,讓用戶板自動復位進入Bootloader程序,然后引導程序進入LAP程序實現遠程升級。因此,對Application程序有以下幾點要求:
·需要初始化定時狗,定時喂狗,最好是啟動一個定時器,在定時中斷程序中定時喂狗,同時此定時器也可給其它模塊復用:
·初始化串口為中斷模式,默認采用串口0,配置波特率為230400bps,14位字節的位深度觸發方式:
·在串口中斷服務程序中,添加IAP升級協議。
(4)控制臺模塊
控制臺程序是采用VC6.0開發的小程序,結合前面三個程序模塊的設計,控制臺程序可以輕松取代編程器和下載器等調試工具,實現中央控制、遠程升級和維護目標板的功能。管理人員只需將得到的更新程序dat文件的路徑導人控制臺模塊,然后點擊控制臺程序,即可完成IAP遠程升級M3程序。
3.市場應用
隨著軟件的不斷發展和壯大,以及信息技術的網絡化。很多已經應用在市面上的產品其軟件都沒能及時得到更新,與此同時暴露出來的漏洞也層出不窮。然而經濟的全球化促使嵌入式產品、工控機等遍播全球,給產品的程序更新帶來重重阻礙。為此,IAP技術的實現將打破僵局,實現各個嵌入式產品得到遠程軟件升級,使其能夠適應不同的應用場合而及時得到軟件的更新。因此lAP技術的市場前景一片光芒。
本文介紹的IAp遠程在線升級M3程序方案具有可執行性高,性能可靠,以及降低開發商的開發成本等特點。在遠程軟件更新方面具有很大的市場競爭優勢和開拓前景,可以為實現嵌入式產品網絡化的軟件更新、管理和維護提供一個理想的解決方案。
IAP技術的應用很廣泛,以下為幾個應用實例。如圖s所示,如果發現地下的煤礦瓦斯監測系統需要添加新功能,那么此時可以利用IAP進行升級。又比如圖6的集散型控制系統,管理人員只需坐在辦公室即可控制和升級設備的程序,無需現場操作。
4.小結
本文主要介紹了一個IAP升級M3程序的解決方案。敬請關注周立功公司的網站www.zlgmcu.com以獲得更多的信息。我們有著一個接近30人的FPGA團隊提供強有力的售后服務和,技術支持,解決用戶在產品使用和研發過程中遇到的困難。若有更多的需求可以與我們聯系,我們將會竭誠為您服務,并請關注下期的FPGA專題技術講座。



