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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > IAR5.4中創(chuàng)建STM32工程

          IAR5.4中創(chuàng)建STM32工程

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          1. 在www.st.com上下載stm32的外設(shè)驅(qū)動庫文件stm32f10x_stdperiph_lib,現(xiàn)在最新的是STM32F10x_StdPeriph_Lib_V3.3.0。

          2. 打開stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.3.0ProjectSTM32F10x_StdPeriph_Template文件夾,將EWARMv5文件夾復(fù)制到自己的工程文件夾中(這個是IAR下的工程模板,里面的RVMDK是uVision下的模板)。

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

          3. 以ADC例程為例。

          打開stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.3.0ProjectSTM32F10x_StdPeriph_Examples文件夾,這里是例程。打開ADC文件夾中的ADC1_DMA,將其中的文件復(fù)制到自己建立的IAR工程文件夾中。

          4.把stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.3.0中的Libraries文件夾復(fù)制到工程文件中。里面的兩個文件夾分別為CORTEX-M3的內(nèi)核文件和外設(shè)的驅(qū)動文件。

          5. 打開EWARMv5中的工程文件。先編譯,發(fā)現(xiàn)有很多錯誤,應(yīng)該是14個吧。

          6. 在workspace處右鍵工程文件選擇options。在general opitons/Target中選中Device, 選擇芯片型號;在c/c++compiler/preprocessor,additional include directories:這里是一些主要文件的路徑,一定要與工程文件路徑對應(yīng)。其中主要的是inc路徑和CM3路徑(如下),其他沒用到的可以刪去。

          $PROJ_DIR$..
          $PROJ_DIR$..LibrariesCMSISCM3CoreSupport
          $PROJ_DIR$..LibrariesCMSISCM3DeviceSupportSTSTM32F10x
          $PROJ_DIR$..LibrariesSTM32F10x_StdPeriph_Driverinc

          其中$PROJ_DIR$表示IAR工程文件目錄,..表示上一級目錄 。

          7. 在linker/config下選中override default ,load一個stm32f10x_flash.icf文件(用來指出stm32 rom、ram的執(zhí)行地址,一般在例程中都有這個文件)。這里已經(jīng)配置好了:$PROJ_DIR$stm32f10x_flash.icf。

          8. 重新編譯工程文件,發(fā)現(xiàn)出現(xiàn)“找不到外設(shè)文件”和“內(nèi)核文件”等的錯誤,把找不到的外設(shè)文件等刪去,然后在工程文件中從新添加進來,在編譯就OK了。

          總體來說寫的有點亂,我知道給自己提醒的,怕以后又忘了。



          關(guān)鍵詞: IAR54STM32工

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();