STM32CubeMX
在 ST 網站 ( http://www.st.com )搜尋並下載 STM32CubeMX建立 STM32F031F6Px 做示範,選好 Device Type 後設定需要的功能。
點選 選單列的 Project/Settings
在 Project Name 設定好名稱,在 Toolchain 務必選定 TrueSTUDIO ,今年的STM32CUBE版本可以改選 SW4STM32 ,然後 點 OK 離開。
還有進階的 Clock Configuration 及 Configuration 等標籤設定功能,這待後續有機會再分享,現在可以產生原始碼。
點選 Project/Generate Code 開始產生程式碼,完成後 會彈出
請點選 Open Folder 會自動開啟檔案總管 ,就會看到 STM32CubeMX 產生的程式碼。
這段程式碼有在 Github 分享,有興趣的朋友可以到 這個網址 (https://github.com/cold63/STM32F031x6Project) 下載。
Eclipse IDE
請到 https://www.eclipse.org/downloads/eclipse-packages/ 下載 Eclipse 軟體,目前版本是 OXYGEN。 在下載的項目中選擇 C/C++ Package 版本 ,依據您的系統選擇 32 bit 或是 64bit
,並安裝它。
點選 Add 後,
欄位 Name 填入
GNU MCU Eclipse Plug-ins
欄位 Location 填入
http://gnu-mcu-eclipse.netlify.com/v4-neon-updates
點 OK 儲存離開。
回到 Available Software , 在 Work with 下拉選單 選擇剛剛新增的 GNU MCU Eclipse Plug-ins 就會自動下載檔案清單。
初學可以全選打勾, 點選 Next 繼續安裝流程。
安裝完成後,繼續剛剛的 STM32F031F6Px 專案。
首先,先複製 剛剛從 STM32CubeMX 產生的程式碼 連同資料夾 複製到 Eclipse 的 Workspace。
在 資料夾 startup 有個 startup_stm32f031x6.s 文件 ,將它副檔名更名為 asm
startup_stm32f031x6.asm
回到 Eclipse 。
點 File / New / Project... 選擇 C Project
在 Project Name填入剛剛複製的資料夾名稱, 會出現 Directory with specified name already exists. 可以不理會它,點 Next 繼續下一步。
我的習慣將 Debug 取消 , 當然也可以保留。 Next 下一步
會自動帶入 Toolchain 路徑。 Finish 完成
有警告訊息
OK 繼續。
在 Eclipse 的 Project Explorer 出現 STM32F031F6PBoard 的 Project 資料夾
將游標移到 STM32F031F6PBoard 上面按滑鼠 右鍵 , 選擇 Properties
選擇 C/C++ General / Paths and Symbols / Symbols 標籤
按照 ST 的規範 分別建立兩個 Symbols
USE_HAL_DRIVER
STM32F031x6
Add 加入。將
Add to all configurations
Add to all languages
前面的 checkbox 打勾,建立完成後
選擇 C/C++ General / Paths and Symbols / Includes 標籤
加入 4 個 Include 路徑, 分別是
Drivers/CMSIS/Device/ST/STM32F0xx/Include
Drivers/CMSIS/Include
Drivers/STM32F0xx_HAL_Driver/Inc
Inc
點 Add ,選擇 Workspace... 分別選擇 加入。
一樣將
Add to all configurations
Add to all languages
前面的 checkbox 打勾
Is a workspace path 不要打勾
Root 名稱要從原本的 STM32F031F6PBoard 改為 ${PathDirPath} 變數,這是 Eclipse 的常規變數。完成後點 Apply
在 Target Processor 項目 的 ARM family 選擇 cortex-m0
移到 GUN ARM Cross C Linker 項目 的 General 加入 STM32F031F6_FLASH.ld 文件
現在已完成基本設定,可以測試 Build 。
在 專案名稱上 點 滑鼠右鍵 找到 Build Project 及 Clean Project
兩個要搭配使用。
執行 Build Project 後 , 在 底下的 Console 視窗開始有 編譯的訊息出現,直到 出現
Finished building: STM32F031F6PBoard.hex
Invoking: GNU ARM Cross Print Size
arm-none-eabi-size --format=berkeley "STM32F031F6PBoard.elf"
text data bss dec hex filename
6172 1088 1856 9116 239c STM32F031F6PBoard.elf
Finished building: STM32F031F6PBoard.siz
已經大功告成。現在可以開始繼續您的程式,這只是初步可以編譯
後續再分享其他使用經驗。
0 comments:
發佈留言