1. WIN8系統安裝STM32 ST-LINK Utility v3.9.0,KEIL無法編譯構建,燒錄軟體也不能連接HEX文件
1、插上STlink,檢查下你的設備管理器裡面有沒有驅動。
2、沒顯示驅動確認下線什麼是不是有問題,拔插下試試。驅動安裝了但是不是stlink驅動就安裝下對應的驅動。一半utility會安裝的
3、stlink utility 和 keil 是不能同時連接stlink 的,一個連上後,另一個連會報錯
4、有問題再說
2. 怎麼在ubuntu下開發stm32
環境:
ubuntu 13.10
stm32f103zet6
一、STM 32 GCC 安裝
stm32 屬於arm cortex-m系列thumb指令集,所以給arm用的arm-none-eabi就可以了,首先是下載
下載地址:
https://launchpad.net/gcc-arm-embedded/+download
下載其中的gcc-arm-none-eabi-version-linux.tar.bz2
把該編譯器添加到用戶的環境中:
3. 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位元組
4. stm32cubeide設置文件編譯順序
對一個加法函數的庫項目的建立和編譯整個過程如下:
1、這里就要選擇ARMMCU的GCC編譯器了。
2、選擇和MCU型號的綁定關系了,畢竟編譯的庫是給MCU項目所用,這里選擇STM32F401CCU6的晶元。
2、添加源文件編寫加法函數,編寫加法函數進行編譯。
3、編譯成功,在工程目錄里就可以找到編譯好的庫文件了,庫文件的調用,配置一個對應MCU的基本工程,建立一個STM32F401CCU6的工程,並配置USART2作為串口輸出。
4、保存後產生基本工程代碼,重載printf函數方便列印輸出,參考STM32UART串口printf函數應用及浮點列印代碼空間節省。
5、在工程的core/inc/目錄新建一個和庫文件同名的頭文件,將庫文件libLib_C_Demo.a放置到工程的源文件目錄core/src/,則在工程目錄樹立可以看到。
6、因為編譯器默認只是識別C語言源代碼(.c文件),還需要進行庫文件的指定,這樣編譯器才會對二進制庫文件(.a)進行識別。
7、先打開屬性菜單,進行庫文件所在目錄和庫文件名的添加指定,注意庫文件名前需要加冒號,ApplyandClose後,就可以在工程文件里對庫文件進行調用,首先要引入庫文件的頭文件。
8、在while循環里進行列印輸出,列印數據為庫函數調用的加法和,編譯下載到STM32F401CCU6晶元後運行,通過串口工具觀察列印結果,輸出列印結果正確,庫函數正常調用成功。