新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > LPC1100處理器通過SD卡實現(xiàn)IAP功能

        LPC1100處理器通過SD卡實現(xiàn)IAP功能

        作者: 時間:2016-11-27 來源:網絡 收藏
        隨著處理器的發(fā)展,IAP升級方式越來越受到歡迎。而IAP升級的方式也由很多,如:通過串口升級、GPRS遠程升級、SD卡升級等等。這里詳細介紹怎樣使用SD卡升級應用程序的方法.

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

        下面先介紹LPC1100處理器IAP的基礎知識:

        1. LPC1100處理器(LPC1114)Flash分配:LPC1114一共有32K Flash,共分為8個扇區(qū),每個扇區(qū)的大小為4K,具體如下:

        2.NXP的IAP命令都一樣,一共有9條:

        3.IAP命令是通過寄存器R0和R1進行參數(shù)傳遞的,R0傳遞參數(shù),R1傳遞返回值:

        IAP功能應用:

        1.定義IAP程序的入口地址

        代碼:

        #defineIAP_ENTER_ADR 0x1FFF1FF1

        2.定義參數(shù)

        代碼:

        uint32ParamIn[8];
        uint32ParamOut[8];

        3.定義函數(shù)類型指針

        代碼:

        void (*IAP_Entry)(uint32 *param_tab, uint32 *result_tab) =

        (void(*)())IAP_ENTER_ADR; // 定義函數(shù)指針

        4.注意事項:

        ①按照上面函數(shù)類型調用IAP函數(shù)即可,不過要注意函數(shù)的參數(shù)。

        ②由于在擦寫操作期間,片上Flash存儲器不可訪問。IAP代碼不能使用或禁止中斷。

        ③Flash編程命令使用片上RAM頂端32字節(jié),用戶程序不能使用此空間。

        IAP命令應用(代碼來自周工):

        IAP有多個命令,這里我們只把編程常用的幾個命令函數(shù)貼出來,如果網友需要其他代碼可以在網絡上自行搜索。

        1.準備寫操作扇區(qū)

        代碼:


        uint32 SectorPrepare(uint8 sec1, uint8 sec2)
        {
        ParamIn[0] = IAP_Prepare;
        ParamIn[1] = sec1;
        ParamIn[2] = sec2;
        (*IAP_Entry)(ParamIn, ParamOut);

        return (ParamOut[0]);
        }

        2.將RAM 內容復制到Flash

        代碼:


        uint32 RamToFlash(uint32 dst, uint32 src, uint32 no)
        {
        ParamIn[0] = IAP_RAMTOFLASH;
        ParamIn[1] = dst;
        ParamIn[2] = src;
        ParamIn[3] = no;
        ParamIn[4] = IAP_FCCLK;
        (*IAP_Entry)(ParamIn, ParamOut);

        return (ParamOut[0]);
        }

        3.擦除扇區(qū)

        代碼:


        uint32 SectorErase(uint8 sec1, uint8 sec2)
        {
        ParamIn[0] = IAP_ERASESECTOR;
        ParamIn[1] = sec1;
        ParamIn[2] = sec2;
        ParamIn[3] = IAP_FCCLK;
        (*IAP_Entry)(ParamIn, ParamOut);

        return (ParamOut[0]);
        }

        4.扇區(qū)查空


        上一頁 1 2 下一頁

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 塔河县| 丰县| 什邡市| 嘉兴市| 锡林郭勒盟| 东宁县| 水城县| 黄骅市| 大竹县| 青浦区| 大余县| 望城县| 惠安县| 鄂州市| 浦北县| 黑水县| 那坡县| 盐亭县| 玉林市| 龙泉市| 辽宁省| 文登市| 庄河市| 张北县| 灵石县| 潞西市| 石狮市| 喀什市| 漳州市| 河东区| 桂阳县| 新竹市| 嘉禾县| 中宁县| 太仓市| 上饶市| 新蔡县| 洪雅县| 武威市| 米脂县| 社会|