<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          STR912--IAP問題

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

          本文引用地址:http://www.ex-cimer.com/article/201611/317741.htm

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

          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問

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();