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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 再論IAR 4_42A工程配置

          再論IAR 4_42A工程配置

          作者: 時間:2016-11-11 來源:網絡 收藏
          新建一個IAR工程,并將ST32固件庫移植到了該工程中,此時如果直接Compile,會出現找不到頭文件的情況。這在情理之中,因為,我們沒設置源文件的頭文件的尋找路徑。此外,我們也沒指定芯片的類型。這些工作就是配置IAR的工程,這與IAR的版本密切相關(不同版本的配置界面都不一樣,最經典的是IAR4_42A)。

          預備知識:將代碼下到單片機中有兩種方法:

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

          1.先生成.sim文件,然后再將該文件下載到單片機中(要更換IAR配置Linker->Output),每次更改代碼都要重復上面兩個步驟,才能將新代碼下到單片機中。

          2.用調試模式,將代碼下到單片機的Flash或RAM中,經過配置IAR工程(一次就行),可以達到代碼更改后,只需重新進入調試,即:點擊IAR中的Debug按鈕

          推薦使用第二種,下面就以IAR4_42A為例,介紹一下配置工程的必須步驟:

          1板子控制芯片使用的是STM32F103VBT6,所以芯片型號選擇STM32F10x系列,多一嘴,最新的M0芯片,要用IAR 6_4版本。

          2調試時最好將編譯器選擇不優(yōu)化,否則有些運算(如位運算)會被優(yōu)化掉,單步調試時可能會指示篡行。

          3單步調試時,若不勾選,跟蹤不是C代碼,而是匯編代碼

          4源文件中包含頭文件編譯器的尋找路徑

          為了便于拷貝:

          $PROJ_DIR$..

          $PROJ_DIR$....libraryinc

          解釋:PROJ_DIR代表工程文件(后綴blink.ewp文件)

          $PROJ_DIR$.. 表示blink.ewp文件所在目錄的上層目錄,即:尋找stm32f10x_conf.h和stm32f10x_it.h這兩個文件。

          $PROJ_DIR$....libraryinc 表示blink.ewp文件所在目錄的上層目錄的上層目錄下的library目錄下的inc目錄下,即:尋找固件庫的頭文件,如stm32f10x_gpio.h、stm32f10x_nvic.h、stm32f10x_rcc.h等。

          5采用調試模式,還是生成.sim文件

          6調試模式不要勾選,生成.sim文件模式勾選。


          7將代碼下到Flash中

          為了便于拷貝:

          $PROJ_DIR$lnkarm_flash.xcl

          8IAR修改程序后不用J-FlashARM重新下載直接按Debug按鈕就可自行下載,包含如下四個配置界面

          為了便于拷貝:

          -Oraw-binary=.bin

          -Osimple-code=.sim

          -Ointel-extended=.hex

          如果沒有default,按Edit

          如果有default,按Edit看一下;如果沒有default,按New,新建一個

          一定要選擇All

          9選擇調試用具J-Link

          至此,點擊Compile和Make都沒問題了。




          關鍵詞: IAR工程配

          評論


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