新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STR912--IAP問題

        STR912--IAP問題

        作者: 時間:2016-11-09 來源:網絡 收藏
        默認情況下,bank0是映射到地址0x00.考慮到,IAP程序需存儲在bank1,而用戶程序需存儲在bank0.因此須使用CAPS工具,將bank1映射到地址0x00.另外,在IAP程序運行期間,必須在執行用戶程序跳轉之前,通過程序將bank0重映射到地址0x00(注:IAP程序已經實現了bank0重映射到地址0x00,用戶不需要自己來編寫代碼).

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

        ARM處理器產生的地址叫虛擬地址,把這個地址按照某種規則轉換到另一個物理地址去的方法稱為地址映射。

        banko,bank1就是物理地址,而ARM處理器(例如KEIL下就是虛擬地址), 通過CAP可以將bank1物理地址映射到虛擬地址0x00, 然后通過軟件設置將bank0物理地址映射到虛擬地址0x00,bank1映射到虛擬地址0x80000

        //RAM_exevoid Execute_STR9Application(void)
        void Execute_STR9Application(void)
        {
        pFunction Jump_To_Application;

        /* -------------------------------------------------------------------------- */
        /* Configure bank 0 as 512KB and bank 1 as 32KB */
        /* Remap bank 0 at address 0x0 and bank 1 at address 0x80000 */
        /* -------------------------------------------------------------------------- */
        FMI->BBSR = 0x0;//之前相同
        FMI->NBBSR = 0x6;//之前相同
        FMI->BBADR = 0x80000 >> 2;//FMI->BBADR=0(之前)
        FMI->NBBADR = 0x0 ; //FMI->NBBADR = 0x8000>>2 (之前)
        /* Jump to the user application and execute it */
        Jump_To_Application = (pFunction) 0x00;
        Jump_To_Application();

        }

        引導塊(跳轉之前)----地址:0x00000 大小32K

        非引導塊(跳轉之前)--地址:0x80000 大小512K

        引導塊(跳轉之后)----地址:0x80000 大小32K

        非引導塊(跳轉之后)--地址:0x00000 大小512K



        關鍵詞: STR912IAP問

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 三明市| 松滋市| 永顺县| 阳谷县| 西华县| 和硕县| 资中县| 黄浦区| 涞水县| 哈尔滨市| 封丘县| 梅州市| 金乡县| 田东县| 秭归县| 沾益县| 菏泽市| 寻乌县| 阳高县| 历史| 微博| 金沙县| 克山县| 怀安县| 电白县| 松江区| 兴义市| 商河县| 伊宁县| 莱州市| 洛浦县| 盘锦市| 常德市| 中西区| 闻喜县| 桐乡市| 宾阳县| 普宁市| 会东县| 定西市| 搜索|