亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        單片機IAP在應用軟件升級的方法探究

        2016-12-31 16:08:35周振齊瑞薩電子管理有限公司
        數(shù)碼世界 2016年5期
        關鍵詞:單片機程序

        周振齊瑞薩電子管理有限公司

        ?

        單片機IAP在應用軟件升級的方法探究

        周振齊
        瑞薩電子管理有限公司

        摘要:文章基于Renesas公司SH系列單片機,比較了幾種在線編程實現(xiàn)模式,討論單片機Flash的讀取、擦除、編程機制,對單片機軟件IAP在應用升級方法進行了初步的研究,并在硬件平臺上開發(fā)了通過CAN總線接口,對單片機的軟件實現(xiàn)在應用升級的方案。

        關鍵字:在應用編程CAN 軟件升級

        隨著單片機在嵌入式系統(tǒng)的應用越來越廣泛,單片機軟件的功能越來越復雜,開發(fā)中可能存在的Bug越來越難以避免;單片機軟件更新速度也越來越快,有些應用還需要在測試和標定中,確定和修改一些軟件的運行參數(shù)并記錄下來。這就對單片機軟件更新的方法提出了更高的要求,希望更新升級軟件更加便利和可靠。SH系列單片機是瑞薩公司具有高性價比、小型化和高性能功耗比特性的嵌入式RISC單片機,廣泛應用于汽車導航系統(tǒng)、汽車引擎和動力轉(zhuǎn)向系統(tǒng)、空調(diào)、電冰箱和洗衣機、工業(yè)設備和機床等。本文以SH72Aw(SH一2A系列)單片機為主,以HEw為開發(fā)工具,比較幾種在線編程的方法,探討IAP的原理、Flash的擦除和編程、單片機系統(tǒng)在正常工作中在線升級的實現(xiàn)方案。

        1 幾種在線編程模式比較

        在線編程有ICP、IsP、IAP幾種技術(shù)實現(xiàn)途徑。ICP(In—Circuit Programming)技術(shù)一般通過在線仿真器對單片機進行編程,而ISP(In.SystemProgramming)技術(shù)則是通過單片機內(nèi)置的BootLoader程序引導的編程技術(shù)。無論是ICP技術(shù)還是ISP技術(shù),都需要有機械性的操作,如連接下載線、設置系統(tǒng)模式管腳等。若產(chǎn)品的PCB板已經(jīng)密封在外殼中,要對其進行程序更新就很麻煩。但若引入了IAP(In—ApplicationProgramming)技術(shù),則完全可以避免上述的尷尬情況,如果使用遠距離或無線的數(shù)據(jù)傳輸方案,則還可以實現(xiàn)遠程編程和無線編程。這是ICP或ISP技術(shù)所無法做到的。IAP技術(shù),即“在應用編程”,它是一種通過單片機的對外接口(如UAI盯、IIC、CAN等),對正在運行程序的單片機進行內(nèi)部程序更新的技術(shù),它和ICP或者ISP的主要區(qū)別在于:單片機在正常工作的同時更新全部或部分程序。IAP技術(shù)為系統(tǒng)在線升級和遠程升級提供了良好的解決方案,也為數(shù)據(jù)存儲和現(xiàn)場固件的升級都帶來了極大的靈活性。

        SH72AW芯片具有3種在線編程模式,分別是Serial一Boot Program Mode、User Program Mode幣口user-Boot Program Mode。其中serial.Boot Program Mode是通過固化在單片機內(nèi)部的Boot程序和指定的串口進行下載程序;User_ BootProgramMode是通過用戶自己開發(fā)的Boot程序,使用用戶指定的通訊方式下載程序;這兩種編程模式均需改變特定的硬件管腳,復位后才能進入。而User Program Mode和正常單片機脫機工作的UserMode區(qū)別,僅在于軟件中設定單片機的寄存器F1ash編程使能位即可進入,這就為L奸在應用中升級和更改參數(shù)提供了可能。

        2 L心編程原理

        實現(xiàn)IAP技術(shù)的核心,是將一段預先開發(fā)的程序,作為BootLoader燒寫到單片機的F1ash里面,在單片機上電復位后,可以通過指定的通訊接口接收上位機的命令和數(shù)據(jù),對整個Flash或部分區(qū)域進行擦除或編程。在完成程序燒寫后,再跳轉(zhuǎn)執(zhí)行新寫入的程序,最終就達到了程序更新的目的。這一預先開發(fā)的程序的主要功能包括通訊和Flash操作控制兩部分。

        2.1 通訊部分

        通訊功能,是指和外部的上位機軟件通過串口UART、SPI、CAN等進行通信,接收上位機的命令(擦除、讀、寫等)、上位機的數(shù)據(jù)(程序起始地址、程序數(shù)據(jù)或參數(shù)等)和返回F1ash狀態(tài)。因此,上位機和單片機之間必須建立一定的通信協(xié)議,用戶可以根據(jù)自己的需求設定自己的通信協(xié)議,在汽車行業(yè)一般參照CCP(CANCalibration Protoc01)標準協(xié)議,它是一種基于CAN總線的ECU(ElectronicContr01 unit)標定協(xié)議,已經(jīng)在許多歐美汽車廠商得到應用。

        2.2 F1ash操作控制

        Flash操作控制程序負責對Flash的擦除、編程和狀態(tài)查詢等。在對F1ash進行操作時,需要注意查詢F1ash的狀態(tài)標志位。SH系列單片機內(nèi)部有FCU模塊,負責對F1ash的具體操作,有自己的控制和狀態(tài)寄存器,存放在特定的Flash區(qū)域,F(xiàn)CU還有自己專用的FCU RAM。在使用FCU對Flash進行操作時,需要通過控制寄存器將FCU固件轉(zhuǎn)移到指定RAM。SH72AW單片機在User Program Mode下,對F1ash擦除以Block為單位,編程以256Bvtes為單位。SH72AW的User Flash區(qū)域劃分。注意:如果對現(xiàn)有Boot Loader也需要進行更新時,需要將整個Boot Loader程序拷貝到RAM里面運行,確保新Boot Loader編程成功。

        3 IAP編程實現(xiàn)

        本文通過CAN總線接口,實現(xiàn)對單片機Flash程序的更新,上位機采用某CAN總線協(xié)議分析儀,按照既定的通信協(xié)議規(guī)范發(fā)送命令和數(shù)據(jù)。軟件總體思路是:單片機系統(tǒng)上電復位后,首先查詢是否收到上位機通過CAN發(fā)送的啟動命令;單片機收到命令后,將控制程序拷貝到洲中,PC跳轉(zhuǎn)到RAM中運行,將FCU固件拷貝到FCURAM,F(xiàn)CU復位,使能Flash編程和擦除位,擦除指定Flash的B10ck,完成后向上位機發(fā)送數(shù)據(jù)請求;上位機向單片機發(fā)送需要編程數(shù)據(jù)區(qū)的地址和數(shù)據(jù)(256字節(jié)為單位),單片機完成數(shù)據(jù)編程后,向上位機繼續(xù)請求數(shù)據(jù)。完成所有編程后,PC回到程序其實地址執(zhí)行。

        軟件中主要步驟描述如下:

        3.1 Boot Loader控制程序從F1ash轉(zhuǎn)移到RAM程序在Flash中執(zhí)行,單片機收到上位機通過CAN總線啟動命令后,將Boot Loader控制程序轉(zhuǎn)到RAM中執(zhí)行??刂瞥绦蛟诰幾g階段必須設置對應Flash段和RAM段之間的映射,否則Flash中編譯的程序直接拷貝到RAM中運行會有問題。

        3.2 FCU固件轉(zhuǎn)移

        程序在RAM中執(zhí)行,域轉(zhuǎn)移到FCURAM。將FCU固件從RAM指定區(qū)。

        3.3 F1ash擦除

        程序在RAM中執(zhí)行,控制FCU擦除Flash指定的Block區(qū)域(擦除以Block為單位)。

        3.4 數(shù)據(jù)下載

        程序在RAM中執(zhí)行,單片機完成Block擦除后,向上位機發(fā)送數(shù)據(jù)請求命令,上位機發(fā)送數(shù)據(jù)起始地址和數(shù)據(jù),單片機將接收的數(shù)據(jù)存放在RAM中。

        3.5編程

        程序在RAM中執(zhí)行,單片機控制FCU將RAM中接收到的數(shù)據(jù)編程到Flash的指定區(qū)域。單片機完成編程后,向上位機繼續(xù)請求數(shù)據(jù)。

        注意事項:FCU的每次操作都必須檢查Flash寄存器的相應狀態(tài)標識位。確保Flash操作的可靠性。本文雖然是基于SH72AW對IAP在應用軟件升級方法的探究,但其升級方法和對Flash的具體操作同樣適用于SH系列其他單片機,其IAP基本實現(xiàn)框架也適用于其他的芯片,具有一定的參考意義。

        參考文獻

        [1]SH72AWGroup.SH72AY Group User’s Manual:Hardware,Rev.1.10[R].2014,4.

        [2]Super H RISC engine C/C++ Compiler,Assembler,Optimizing Linkage Editor V9.04User’s Manual.1.01[R].2011,7.

        [3]鄔寬明.CAN總線原理和應用系統(tǒng)設計[M]。北京:北京航空航天大學出版社,1996.

        猜你喜歡
        單片機程序
        基于單片機的SPWM控制逆變器的設計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        小議PLC與單片機之間的串行通信及應用
        電子制作(2018年12期)2018-08-01 00:48:04
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        基于單片機的平衡控制系統(tǒng)設計
        電子制作(2017年19期)2017-02-02 07:08:27
        創(chuàng)衛(wèi)暗訪程序有待改進
        日本真人边吃奶边做爽电影| 精品国产成人一区二区不卡在线| 久久色悠悠综合网亚洲| 麻豆亚洲一区| 在线观看免费人成视频| 免费一区啪啪视频| 男女啪啪免费视频网址| av天堂精品久久综合网| 中文字幕精品一区二区2021年| 亚洲AV无码精品色欲av| 国产亚洲精品一区二区在线播放| 久久精品国产熟女亚洲| 欧美精品一区二区蜜臀亚洲| 国产午夜精品一区二区三区不| 美女被搞在线观看一区二区三区| 天堂av在线美女免费| 在线观看免费人成视频色9| 五月天综合社区| 亚洲av综合av国一区二区三区| а√天堂8资源中文在线| 无码国产激情在线观看| 色婷婷一区二区三区四区| 亚洲国产精品久久婷婷| 熟女无套内射线观56| 亚洲色成人网一二三区| 中文字幕亚洲乱码熟女1区2区| 护士的小嫩嫩好紧好爽| 国产精品 高清 尿 小便 嘘嘘| 国产精品亚洲婷婷99久久精品| 国产精品亚洲二区在线看| 99久久久无码国产精品6| 中文字幕在线久热精品| 中文字幕手机在线精品| 亚洲欧美国产精品久久| 国产精品久久久久久久久KTV| 国产三级在线观看性色av | 五码人妻少妇久久五码| 国产精品午夜夜伦鲁鲁| 无码午夜成人1000部免费视频| 一区二区免费电影| 精品私密av一区二区三区|