新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 一種新型DSP軟件在線升級方法的研究與實現

        一種新型DSP軟件在線升級方法的研究與實現

        作者: 時間:2010-05-14 來源:網絡 收藏
        在擦除(A)區的過程中如果出現異常(如系統掉電),將導致(A)區中的應用程序破壞。然而,此時(B)區中的更新是有效的,當系統重新上電運行時,BOOT程序會將(B)區中的更新拷入(A)區中,然后從(A)區開始運行,從而可以有效地解決常用版本更新方法存在的意外風險問題。Boots程序關鍵函數如下:
        void EraseFlashPages(void) //用于擦除Flash中所指定區域;
        void ProgramRow(unsigned char*ptrData,uReg32 SourceAddr)
        //用于向指定的地址寫入ptrData所指向的數據;
        void ReadRow(unsigned char*ptrData,uReg32 SourceAddr)
        //用于從指定的地址讀取數據到ptrData所指向的位置;
        void SetFlag(unsigned long FlagAddr) //用于向指定的
        地址寫入有效標志;
        void ClearFlag(unsigned long FlagAddr) //用于擦除指定地址的有效標志。
        3 軟件更新方式與更新方法
        3.1 軟件更新方式

        為了進一步提高系統更新軟件的可靠性、靈活性,本文提供了3種更新方式:(1)在下載更新程序結束后,立即執行更新操作;(2)在下載更新程序結束后,PC機通過通信發送更新命令再執行更新操作;(3)在下載更新程序結束后,在系統下一次上電復位后,再執行更新操作。基于VC編寫的軟件更新方式選擇界面,如圖3所示。

        本文引用地址:http://www.104case.com/article/188157.htm

        其中,更新方式(1)適用于對可靠性要求不是很嚴格,而且馬上需要更新的場合,該方法與現有的、常用的方式相似,但克服了其存在的不足;更新方式(2)可以讓客戶根據實際系統的運行需要來選擇更新軟件的時機,因此可以在合適的時間內進行軟件更新,將更新的風險進一步降低;更新方式(3)適合于對可靠性要求非常嚴格的場合,在系統斷電后,重新上電復位后進行更新。更新方式選擇關鍵函數如下:
        void UpgradeAppCode(void); //用于執行更新程序操作;
        void FW_Download(unsigned char DataBuffer, unsigned char RWflag); //通過通信接口,將下載的新程序保存到應用程序更新版本區域。
        3.2 更新版本程序下載流程
        如果軟件需要更新時,首先將更新版本軟件下載到應用程序更新版本(圖1(B))中,在更新版本軟件的下載過程中,對更新版本進行校驗,如果更新版本下載成功,則在指定的地址中設置更新程序是新的、有效的標志位;反之,則設置無效的標志位。BOOT程序中更新版本程序下載流程如圖4所示。


        本文提出了一種高可靠的軟件版本方法和3種更新方式,該軟件具有實現簡單、更新方式靈活、程序可靠性高等優點,可應用于數字控制芯片領域。

        電子鎮流器相關文章:電子鎮流器工作原理


        電子鎮流器相關文章:



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武汉市| 嘉义市| 荣昌县| 贵阳市| 和田县| 汶川县| 湘潭县| 民勤县| 台安县| 习水县| 万山特区| 鄢陵县| 曲阜市| 石渠县| 正安县| 云梦县| 渝北区| 邹平县| 遂川县| 浦城县| 古交市| 两当县| 普安县| 武义县| 丹东市| 九寨沟县| 铅山县| 囊谦县| 株洲县| 盘锦市| 丹寨县| 鸡东县| 丁青县| 滨海县| 嘉义县| 阿拉善盟| 仁怀市| 盈江县| 固阳县| 包头市| 石楼县|