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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32 啟動(dòng)文件的選擇

          stm32 啟動(dòng)文件的選擇

          作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          最近在網(wǎng)上看到一些關(guān)于STM32啟動(dòng)文件的問題帖,都是類似這樣的問題:
          隨便選兩個(gè)
          “startup_stm32f10x_ld、hd、md這3個(gè)啟動(dòng)文件有什么不同???”
          “官網(wǎng)固件庫中的啟動(dòng)文件有啥區(qū)別,怎么選擇?”
          搜索了論壇,也看了一下,有一些回答,但是都不太全或者不甚明了。其實(shí)我以前也不清楚,當(dāng)然我是新手,只不過是個(gè)愛折騰的新手,因?yàn)槲矣X得,這個(gè)有必要弄清楚。一是啟動(dòng)文件在一個(gè)工程中有著不可取代的作用,二是對(duì)于STM32這個(gè)讓人蛋疼而又強(qiáng)大的東東,經(jīng)常是新手亂添加啟動(dòng)文件或者去找一下工程例子“依葫蘆畫瓢”的添加,試問你的MCU和人家工程例子的就是一樣,換一款型號(hào),要命[夸張的修辭手法,呵呵]?所有說,基于這些,我就說一說我的認(rèn)識(shí):
          注意此處只針對(duì)MDK-ARM的IDE,其他的一樣,只不過想說明的是對(duì)不同的IDE,同一芯片型號(hào)的啟動(dòng)文件的“內(nèi)容”是不一樣的,這是因?yàn)榫幾g器造成的,意思就是說,啟動(dòng)文件的功能一樣,但是指令有所區(qū)別。這個(gè)每個(gè)啟動(dòng)文件也注釋了,如:

          (原文件名:.s for MDK IAR.JPG)
          啰嗦了……
          啟動(dòng)文件的作用:
          無論性能高下,結(jié)構(gòu)簡繁,價(jià)格貴賤,每一種微控制器(處理器)都必須有啟動(dòng)文件,啟動(dòng)文件的作用便是負(fù)責(zé)執(zhí)行微控制器從“復(fù)位”到“開始執(zhí)行main函數(shù)”中間這段時(shí)間(稱為啟動(dòng)過程)所必須進(jìn)行的工作。最為常見的51,AVR或MSP430等微控制器當(dāng)然也有對(duì)應(yīng)啟動(dòng)文件,但開發(fā)環(huán)境往往自動(dòng)完整地提供了這個(gè)啟動(dòng)文件,不需要開發(fā)人員再行干預(yù)啟動(dòng)過程,只需要從main函數(shù)開始進(jìn)行應(yīng)用程序的設(shè)計(jì)即可。[來自網(wǎng)上]
          我的理解,說白了,大家常說,程序執(zhí)行都從main函數(shù)開始,是的,沒錯(cuò),但是在這之前是誰來完成了這一個(gè)繁瑣而又復(fù)雜的啟動(dòng)過程呢?就是它。(看來.s盡干臟活苦活,就像“活雷鋒一樣,做了好事有不留名”)
          具體的啟動(dòng)過程論壇里有,想了解的可以去細(xì)看。
          好了,上圖:

          (原文件名:MDK-s.JPG)
          看到是不好多,都暈了,慢慢來看:
          重要的來看這些縮寫:
          這幾個(gè)是代表Flash容量的
          ld Low-density 小容量 16-32K
          md Medium-density 中容量 64-128K
          hd High-density 大容量 256-512K
          xl 超大容量 512-1024K
          這些都是基本型的,包括STM32F101xx, STM32F102xx 和 STM32F103xx
          然后
          vlvalue line devices 超值型系列 大家記?。哼@個(gè)只有STM32F100xx,也就是說只要是vl那一定是STM32F100的啟動(dòng)文件,其他的不予考慮
          下面還有個(gè)特殊的:
          clConnectivity line devices 互聯(lián)型 有STM32F105xx和STM32F107xx
          區(qū)別完了,我想你大概也知道什么樣的片子對(duì)應(yīng)什么啟動(dòng)文件了吧,如果還有點(diǎn)迷糊,不要緊,下面來舉個(gè)例子:
          如:STM32F103VC
          首先你要知道它的容量,這兒IDE下面器件選型

          (原文件名:MDK opt.JPG)
          還有這兒,數(shù)據(jù)手冊(cè)

          (原文件名:database 103vc.JPG)
          都可以知道它的容量,看你習(xí)慣,我人懶,經(jīng)常用第一種方式
          知道容量了之后,因?yàn)樗粚儆诔敌蚐TM32F100xx系列,也不屬于互聯(lián)型的STM32F105xx和STM32F107xx,所有我想你知道該怎么辦了吧:

          (原文件名:s.JPG)
          工程下面如是添加
          最后你可以打開這個(gè).s看一下,這兒注釋得也很明確


          關(guān)鍵詞: STM32啟動(dòng)文

          評(píng)論


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