『壹』 linux下怎樣搭建stm32開發環境
網上零碎的東西太多,不利於入門者。建議買個靠譜點的開發板(閑魚淘一個劃算點),配套的資料有教你怎麼從0開始開發,還有常式,跟著這些常式從頭到尾走一遍就差不多了。需要資料發私信給我也可以發點給你。順便說下STM32的IDE一般用Keil或者IAR,但是經常查Dao版,公司可以用基於eclipse開源開發環境,熟悉VC的也可用Visual Studio+GDB插件來開發。
『貳』 基於keil MDK給stm32編程的問題。。。嵌入式系統開發環境的搭建
您好,一、【安裝STM32庫】 將下載後的stm32f10x_stdperiph_lib.zip解壓後得到三個文件夾分別是:"Libraries"、"Project"、"Utilities"將這3個目錄復制到"Keil uVision4"的安裝目錄,和目錄中的文件覆蓋合並。二、【新建工程】 1、打開"Keil uVision4",在Project菜單中選擇新建工程,選擇工程要保存的位置,在彈出的「Select Device for target」的對話框中選擇使用的STM32單片機的型號如「STM32F103C8」,點確定,然後在彈出的「Copy startup code」的對話框中點選"NO".
2、在Project「Target 1」上點選右鍵菜單「Option for target target1中設置相關參數」在[Output]選項卡中點選「Create HEX file」,點"Select folder for objects"設置臨時生成的obj文件的存放目錄,當然也可以不選擇;
3、在[C/C++]選項卡的"Preprocessor Sysmbols"的Define框中做如下定義:USE_STDPERIPH_DRIVER,STM32F10X_MD
其中USE_STDPERIPH_DRIVER表明要使用ST提供的庫,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定義:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]選項中添加的USE_STDPERIPH_DRIVER宏就是這個作用,用來包含"stm32f10x_conf.h"這個文件被稱為"Library Configuration file"用來配置你需要使用到庫的那些文件的,例如需要使用到GPIO就應在在這個文件中加上#include "stm32f10x_gpio.h"這個文件可以在STM32庫的給出的常式中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外還需要在常式中復制"stm32f10x_it.c"和"stm32f10x_it.h"這2個文件,這2個文件時用來完成STM32中重中斷服務程序的將一下三個文件復制到自己工程的user目錄下供以後使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而該CPU的Flash代碼密度是中等(Medium-density devices)這個和使用的CPU相關的查閱CPU的手冊就可以得到。
然後在該選項卡的下方的"Include Paths"中設置include使用的路徑等,如下圖所示:其中.\user路徑是用來保存自己定義的頭文件的路徑4、[Debug]選項卡選擇使用"Cortex-M/R J-Link/J-Trace",然後點"Settings"按鈕在新打開的對話框中選擇[Flash Download]選項卡點"Add"按鈕添加編程使用的Flash,在本例中選用的CPU是STM32F103C8,其Flah為Medium-density使用片上的Flash型號為"STM32F10X Med-density Flash On-chip-Flash 128K",最終點OK保存設置。5、[Utilities]選項卡中的"Use Target Device for Flash Programing"要選擇和[Debug]選項卡中一樣的調試器"Cortex-M/R J-Link/J-Trace";6、然後再次在左側的"Target 1"上點選右鍵,在菜單中選擇"Manger Components"然後在"Project components"選項卡的"Group"中新建3個組名稱分別為"user"、"libs"、"cmsis"1、 分別用來保存用戶自己的C文件、stm32f10x_stdperiph_lib的庫、和cortex-m3的啟動文件等。
users:
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c該文件定義各種中斷的中斷服務函數)
libs:
Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*
cmsis:
Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(該文件和CPU的Flash的代碼密度相關,本例中的STM32F103C8是Medium-density故選用xxx_md.s)
『叄』 STM32的軟體開發環境有哪幾種各有啥特點
Keil最傳統的stm32開發軟體。可以使用標准庫也可以使用HAL庫,特點也沒什麼。
IAR作為軟體認證時最經常使用的開發環境。並且比其它環境好的地方在於這個軟體可以直接使用自帶的Terminal IO進行調試信息交互。
CubeMX使用HAL庫,外設以圖表形式配置,移植性好,入門簡單,但是封裝很多,有可能會讓你暈頭轉向。
『肆』 stm32開發環境中的iar6是什麼東西
IAR6是STM32的開發軟體,一般STM32用兩種軟體,Keil
RealView
MDK和IAR
For
ARM系列,因為大家多數都做過51單片機,所以對Keil軟體比較熟悉,多採用前者進行開發,而用後者的比較少,但是建議你,最好嘗試用後者,如果只是單純的開發STM32的裸奔程序,兩者差不許多,但是如果跑uCOS-II,IAR更有優勢.
『伍』 請問在keil環境下,STM32(M3系列)如何調用dll這樣的動態庫
不能啊,dll是window系統的庫功能調用,stm32壓根就沒有window系統支持,別想了。
『陸』 常用開發stm32單片機的集成開發環境,主要包括
主要包括編輯器 編譯器 模擬器 下載軟體。
『柒』 學習stm32,keil的編程環境,看了很多板子的例子,可是很模糊,打開一個GPIO的例子都要一大堆H文件
我當初第一次接觸單片機的時候, 是為了參加學校的比賽, 當時只懂C語言. 就搞了塊51回來,自己焊線,下程序(當時燒錄器也沒有, 也不知道怎麼燒, 反正是一窮二白). 後來在網上找到一篇非常入門的說明書, 就從上面學會了怎麼通過keil建立工程, 怎麼控制一個IO口. 然後就開始搗鼓自己比賽作品了. 搗鼓的東西是一個溫度計, 就是從18B20那讀取溫度, 再把溫度顯示在1206液晶屏上. 當時的程序都是從網上下過來自己看看改改再拼起來的. 搞了1個多月順利交差了. 後來才明白, 我只用了51上面的IO口, 其他什麼外設資源都沒用到. 但是搗鼓過程中,總算是在感性上有不少的收獲.
現在搞DSP去了. 經常也是一大堆.h .c. 其實這些都不用怕的, 只要看看DEMO工程, 分析一下這些文件的作用, 你就能知道要片子跑起來(比如點亮一個LED)至少需要哪些文件. 等這些熟悉後, 你就會發現其實什麼單片機都是一個樣的. 然後就是學習使用片上的各種資源. 當然, 跑OS的另外說.
我不是什麼高人, 希望我的這些感受對你有所啟發罷了.
『捌』 STM32 開發環境用哪個
現在ARM的編譯器主流為ARMCC和GUNC。 ARMCC比較常用的有MDK,IAR。這類IDE有圖形界面,開發簡單。但是相比GUNC更不靈活。 GUNC有arm-linux-gcc、arm-none-eabi-gcc。需要自己設計鏈接腳本,BSP。初學者不建議使用