Ⅰ STM32能用GCc嗎
gcc只是編譯敬雹者器,stm32隻是晶元
可以用gcc編譯你的肆衡程序,亮薯產生的二進制文件燒入stm32
Ⅱ stm32 用什麼編譯器好
應該IAR好很多。
同樣的ucosII本家的移植代碼Micrium-ST-uCOS-II-LCD-STM32,
用裡面自帶的keil工程和IAR工程編譯,
都設置為最大尺寸優化,
keil的編譯結果:
Program Size: Code=27562 RO-data=4870 RW-data=196 ZI-data=9240
FLASF佔用:Code+RO-data+RW-data = 27562 +4870 +196 = 32628位元組
RAM佔用:RW-data+ZI-data = 196 + 9240 = 9436位元組
IAR的編譯結果:
13 730 bytes of readonly code memory
5 618 bytes of readonly data memory
8 636 bytes of readwrite data memory
FLASF佔用:13 730 + 5 618 = 19348位元組
RAM佔用:8 636位元組
KEIL比IAR佔用FLASH多:32628- 19348 = 13280位元組
Ⅲ kiel tutinstm32文件能編譯嗎
可以。
STM32是ARM7核,而KEIL是ARM旗下的,KEIL只是一個開發環境,支持什_還需要下載相應的編譯器,你原來如果是學51的,肯定有C51編譯器,但是你需要去官網下載KEIL MDK就是所說的RVMDK,就是ARM的編譯器,包含STM32,然後安裝,然後看著教程打開KEIL選擇相應的晶元來建立工程就行了,不過需要破解。
一般在STM32工程使用Keil編譯之後,keil的build output窗口中會出現如圖所示的輸出信息,其中會顯示code_笮。_O-data、RW-data、ZI-data大小。ARM程序的組成(ARM系統中正在執行的程序,而非保存在ROM中的BIN映像文件,請注意區別):一個ARM程序包含3個部分:RO,RW和ZI,RO是程序中的指令和常量;RW是程序中已經初始化的變數;ZI是程序中未經初始化的變數;以上3點可以理解為:RO就是readonly,RW就是read/write,ZI就是zeroARM映像文件的組成:所謂的ARM映像文件就是燒錄到ROM中的BIN文件,也稱為Image文件,以下用Image文件來替代。Image文件包含了RO和RW數據,之所以Image文件不包含ZI數據,那是因為ZI數據都是0,沒必要包含,運行之前將ZI數據數據所在的區域清零即可,包含進去反而浪費存儲空間補充一個問題:Q:為什麼Image必須O,RW?A:因為RO中的指令和常量以及RW中初始化過的變數是不能像ZI那樣無中生有的。
Ⅳ 想學stm32,但是有沒有什麼好的編譯器可以機子補全代碼
解決辦法1,就是打開庫文件說明,直接拷貝
解決辦法2,多藉助固件庫開發提供的example代碼
Ⅳ 鍩轟簬Keil銆丼TM32,鐢–++緙栧啓嫻佹按鐏紼嬪簭
閫氬父鏉ヨ達紝鍦ㄥ崟鐗囨満涓婄紪紼嬶紝瑕佷箞奼囩紪錛岃佷箞C璇璦錛岃岀敤C++榪涜屽紑鍙戠殑寰堝皯錛岄偅涔堢┒絝熻兘涓嶈兘鐢–++寮鍙戝崟鐗囨満鍛錛熺瓟妗堟槸鑲瀹氬彲浠ョ殑錛屼笅闈㈣茶插熀浜嶬eil銆丼TM32錛岀敤C++緙栧啓嫻佹按鐏紼嬪簭鐨勪竴浜涘唴瀹廣
1銆佷負浠涔堝緢灝戠敤C++寮鍙戝崟鐗囨満
涓嶇煡閬撳ぇ瀹跺歸潰鍚戣繃紼嬪拰闈㈠悜瀵硅薄鐨勭悊瑙f湁澶氬皯錛
C璇璦闈㈠悜榪囩▼鐨勮璦錛孋++鏄闈㈠悜瀵硅薄鐨勭紪紼嬭璦銆傜粨鍚堟湰鏂囨潵璇達紝闈㈠悜榪囩▼鐩告瘮闈㈠悜瀵硅薄鐨勭紪紼嬶紝浠g爜閲忔洿灝忥紝榪愯屾晥鐜囨洿楂樸
鎵浠ワ紝C璇璦鐩告瘮C++鍏鋒湁鏇村皬浠g爜閲忋佹洿蹇鐨勮繍琛岄熷害銆
褰撶劧錛岃繖閲屾槸C鐩稿笴++鑰岃█銆傚叾瀹烇紝奼囩紪鐩稿笴鑰岃█錛屽叿鏈夋洿灝忎唬鐮侀噺鍜屾洿蹇鐨勮繍琛岄熷害銆傚彲浠ュ弬鐪嬫枃絝狅細鐢ㄦ眹緙栧拰C璇璦鍐欐祦姘寸伅紼嬪簭鏈変粈涔堜笉涓鏍鳳紵
鍥犱負鍗曠墖鏈虹殑RAM鍜孎lash璧勬簮鐩告瘮杈冨皬錛岃繍琛岄熷害涔熺浉瀵硅緝浣庯紝鎵浠ワ紝浣犱細鍙戠幇錛氬緢灝戞湁浜哄湪鍗曠墖鏈轟笂闈㈢敤C++寮鍙戦」鐩銆
鍏跺疄錛岄殢鐫鍗曠墖鏈虹殑瀛樺偍璧勬簮浠ュ強榪愯岄熷害鐨勫炲姞錛岀洰鍓嶆湁浜涘伐紼嬪笀寮濮嬬敤C++寮鍙戝崟鐗囨満欏圭洰浜嗐
2銆佸噯澶囧伐浣
鐢–璇璦寮鍙慡TM32姣旇緝甯歌佷簡錛屼粈涔堝紑鍙戠幆澧冨畨瑁呫佸壋寤哄伐紼嬬瓑榪欎簺姝ラわ紝鏈鏂囦笉璁茶堪銆
3銆佷嬌鐢ㄨ存槑
鍦↘eil MDK鐜澧冧笅錛屼嬌鐢ㄧ殑鏄疉RM緙栬瘧鍣錛圓rm Compiler錛夛紝寰堝氱綉涓婃暀紼嬩嬌鐢╒6緙栬瘧錛屽叾瀹濾5鍜孷6鐗堟湰閮芥槸鏀鎸丆++緙栫▼璇璦鐨勩
鐒跺悗錛屽傛灉鏈夊紑鍙戞澘錛岀洿鎺ヤ笅杞藉嵆鍙榪愯孡ED闂鐑佺殑鐜拌薄銆