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

          新聞中心

          STM32的MDK工程建立

          作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
          折騰了兩天,終于了解了整個(gè)固件庫(kù)工程里的結(jié)構(gòu),把整個(gè)流程記錄下來(lái)以備以后查看

          1、在MDK中建立一個(gè)新工程,指派芯片

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

          2、添加啟動(dòng)文件,位于..STM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm中。


          注:這里使用的是MDK,如果使用其他編譯工具GNU或IAR可在對(duì)應(yīng)文件夾下找到


          3、添加STM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xsystem_stm32f10x.c及STM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3CoreSupportcore_cm3.c到工程中,可建立一個(gè)group(CMSIS)。這兩個(gè)文件是編譯鏈接startup文件必須的函數(shù)。


          4、添加main.c、stm32f10x_it.c到group Usr下,這部分是用戶(hù)自己編程的地方


          5、配置stm32f10x_conf.h文件,添加必須的外設(shè)文件,同時(shí)把對(duì)應(yīng)的ppp.c文件加入工程


          6、在工程屬性中C/C++屬性頁(yè)的include paths中加入固件庫(kù)對(duì)應(yīng)的*.h文件所在的文件夾(用于編譯時(shí)鏈接,否則會(huì)鏈接到MDK自帶的庫(kù),通常情況下會(huì)出現(xiàn)版本不匹配的現(xiàn)象,導(dǎo)致編譯不成功)。添加完后會(huì)在下方的compiler control string 欄里看到一個(gè)編譯選項(xiàng) -I....project -I "D:MysoftwarekeilARMINCSTSTM32F10x" 。其中 -I....project為自己添加的目錄,-I "D:MysoftwarekeilARMINCSTSTM32F10x"為MDK默認(rèn)的位置(最好不要用)


          7、在工程屬性中C/C++屬性頁(yè)的define欄加入要配置的宏定義,比如USE_STDPERIPH_DRIVER(使用ST的固件庫(kù)), STM32F10X_MD_VL(芯片類(lèi)型,具體分類(lèi)看固件庫(kù)手冊(cè))


          8、在Target屬性頁(yè)選中Use MicroLIB(這個(gè)的作用為什么我也不知道:p)


          有了上述的設(shè)定就可以編譯成功了


          要下載程序,需要設(shè)置utilities頁(yè)的仿真器選項(xiàng)


          同樣,調(diào)試程序需要設(shè)置debug頁(yè)的仿真器選項(xiàng)



          關(guān)鍵詞: STM32MDK工程建

          評(píng)論


          技術(shù)專(zhuān)區(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); })();