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

          新聞中心

          STM8 RAM

          作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
          我關于實現(xiàn)IAP的理解,如果有誤,希望可以得到大家的斧正

          1.IAP部分程序和應用程序分開兩個項目編寫。
          2.應用程序部分編譯前要修改ICF文件,使其代碼安排到IAP程序區(qū)外,如0x9000
          3.IAP項目編譯前也要修改ICF文件
          a.修改代碼編譯后所在ROM中的位置,如:0x8000-0x8FFF
          b.按網(wǎng)友dianzidog 給出的方法,實現(xiàn)ram運行代碼
          ////////////////////////摘自網(wǎng)友dianzidog的帖子 ///////////////////////////////////
          icf文件里面
          initialize by copy { ro section MyCodeInRAM };//這句是將代碼在程序初始化的時候copy到

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

          RAM的。
          place in NearData { ro section MyCodeInRAM };//定義段的位置

          c文件里面
          void abc(void)@"MyCodeInRAM"http://直接將函數(shù)限定在段中
          {
          ......
          ......
          ......
          }

          就完成iar中ram運行代碼的步驟了

          //////////////////////////////////////////////////////////////////////////////////////////

          ////
          4.IAP程序經(jīng)過IAR編譯后的HEX文件,使用ST-LINK將代碼燒入CPU內(nèi)
          5.應用程序則通過IAP的上位機應用程序通過串口(假設使用UART1協(xié)議)下載到已經(jīng)有IAP程序的CPU

          中去。

          6.IAP程序項目所需修改后的ICF文件(暫時以STM8S103K為修改對象,摘取與原文件不同部分):

          define region NearFuncCode = [from 0x8000 to 0x87FF];//假設BOOTLOADER部分使用了2K的代碼空


          define region FarFuncCode = [from 0x8000 to 0x87FF];
          define region HugeFuncCode = [from 0x8000 to 0x87FF];

          initialize by copy { ro section MyCodeInRAM };//這句是將代碼在程序初始化的時候copy到RAM的

          。
          place in NearData { ro section MyCodeInRAM };//定義段的位置

          7.應用程序項目所需修改后的ICF文件(暫時以STM8S103K為修改對象,摘取與原文件不同部分):

          define region NearFuncCode = [from 0x8800 to 0x9FFF];
          define region FarFuncCode = [from 0x8800 to 0x9FFF];
          define region HugeFuncCode = [from 0x8800 to 0x9FFF];



          關鍵詞: STM8RA

          評論


          技術專區(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); })();