[STM32] 在 Windows 下使用 VSCode 架設 STM32 開發環境

1. 所需安裝的軟體 GNU Arm Embedded Toolchain : 下載壓縮檔,解壓到你想擺放的目錄。例如:c:\stm32\gcc-arm\ GNU MCU Eclipse Windows Build Tools : 這是 make 和相關的軟體,也可以使用 cygwin 或 mingw 內的工具,但我發現這包最簡潔。下載壓縮檔後將其解開,把裡面 bin 目錄下的執行檔複製到你想擺放的目錄。例如:c:\stm32\build tools\ OpenOCD : 這是燒 code 和 debug 的工具。下載壓縮檔,解壓到你想擺放的目錄。例如:c:\stm32\openocd\ VSCode : 這次的主角,編輯器和整合的操作介面。下載安裝程式執行,依指示安裝。安裝過程中有選項可將開啟檔案和開啟目錄加入滑鼠右鍵選單,建議打勾,以後開啟專案比較方便。 ST-Link Utility : STM32 原廠開發版的驅動程式和燒錄工具 STM32CubeMX (非必備): ST 提供的程式碼生成工具,利用它產生 makfile 的專案比較快 2. VSCode 的設定 由於 VSCode 的 Build 和 Debug 設定是存放在專案目錄下 .vscode/ 裡的 tasks.json 和 launch.json ,以下的操作必需是以 Folder 的方式開啟專案目錄才能用。你可以在檔案總管中,在專案的目錄上按右鍵,選"Open with Code"(安裝時必需有打開滑鼠右鍵選單功能)。或是在 VSCode 內用 "Open Folder" 打專案的目錄。 2.1 安裝 Extensions 第一次使用 VSCode 先從左側打開 Extensions 的側欄,安裝下列 Extensions。 C/C++ (Microsoft) Cortex-Debug 打開 settings,設定 cortex-debug 需要的路徑 "cortex-debug.openocdPath": "c:/stm32/openocd/bin/openocd.exe", "cortex-debug.armToolchainPat

[STM32] 1. 在 Windows 下架設 gcc 開發環境

我的開發環境是在 Windows 下建立,以 DOS command line 為主,再搭配 eclipse 作為編輯器和整合開發工具。

1.1 編譯工具

  • GCC ARM Toolchain ( download page ): 下載最新 win32 版本的 zip 檔,解壓後放在自己習慣的目錄即可。我是建了一個 D:\ARM-SDK 目錄放 ARM 的開發工具,將 Toolchain 解壓縮到 D:\ARM-SDK\gcc-arm 中。
  • Cygwin : 需要裡面的 make, bash 和 shell 命令。將 view 切到 Category ,預設會裝 Base ,只要再增加 Devel 下的 make 就足夠了。
  • eclipse ( download page ): 下載 Eclipse IDE for C/C++ Developers 32bit 。雖然現在大家的 Windows 都是 64bit 的,但是 eclipse 是用 Java runtime environment (JRE) 上執行的,而大多數安裝的 JRE 都是 32bit 版本。為了必免不必要的麻煩,還是選擇 32bit 的就好。下載後解壓放在 D:\ARM-SDK\eclipse\ 中。

1.2 Debug 工具

  • OpenOCD ( download page ) : OpenOCD 是一款 On-Chip Debug 工具,能經由 JTAG 或 SWD 介面連上 ARM 進行 debug 工作,也具備燒錄程式的能力。支援不少 Adapter,包含 STM32 使用的 ST-LINK V2。重點是它是 Open source 的免費軟體,適合個人開發使用。下載後解壓到 D:\ARM-SDK 中。
  • Putty ( downlaod ) : Telnet 和 COM Port 的連線工具,用來連上 OpenOCD 和看 UART 的訊息。下蛓放在 D:\ARM-SDK 中。

1.3 STM32 開發板及相關工具

使用 NUCLEO-F446RE ( MCU : STM32F446RE ) 做為開發板,選擇 NUCLEO 系列有幾個原因:
  1. 自帶一個 SWD 和 Virtual Com Port ,不需再另外準備 ST-LINK 和 USB 轉 serial port 的板子。
  2. Arduino compatible connector ,可使用 arduino shield 和 X-NUCLEO 擴充板,未來擴充較方便。
  3. 考慮到以後可能會想玩 mbed OS
  4. 選 F446RE 是因為 NUCLEO 系列價錢差不多,就選個 MCU 效能最好的
NUCLEO-F446RE 在台灣不容易買到,可以考慮在網路上購買,如 digikey貿澤 。或選擇其他較容易買到的 NUCLEO 開發板,如 NUCLEO-F103RBNUCLEO-F401RE

STM32 的開發資料很容易取得,只要在開發板和 MCU 的產品頁面點選 Design Resources 就能找到完整的資料。

1.4 建立 DOS 開發環境

  1. 在 D:\ARM-SDK\ 建立一個 gccenv.bat 來設定環境變數,將使用到的工具程式加到 PATH 中。
    @echo off
    set ARM_SDK_PATH=D:\ARM-SDK
    set PATH=%windir%\system32
    set PATH=%ARM_SDK_PATH%\gcc-arm\bin\;%PATH%
    set PATH=%ARM_SDK_PATH%\gcc-arm\arm-none-eabi\bin\;%PATH%
    set PATH=%ARM_SDK_PATH%\cygwin\;%PATH%
    set PATH=%ARM_SDK_PATH%\openocd-0.9.0\bin\;%PATH%
    set PATH=c:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\;%PATH%
    title ARM-SDK
    
  2. 將開始功能表中,"附屬應用程式"裡"命令提示字元"的捷徑複製一份到 D:\ARM-SDK\
  3. 修改 "Command Prompt.lnk" 的內容,開啟時自動執行 gccenv.bat 並將開始位置設到專案的工作目錄( ex: D:\STM32 )。以後直接雙擊 Command Prompt.lnk 就能快速打開 DOS 開發環境。
  4. 雙擊 Command Prompt.lnk 打開 DOS 開發環境,執行 make -v 確認是否設定正確。

1.5 其他工具

以下列出一些軟體開發會用到的工具和相關資源。

1.6 參考資料

留言

這個網誌中的熱門文章

[STM32] 3. USART 的發送與接收

[STM32] 在 Windows 下使用 VSCode 架設 STM32 開發環境

[STM32] 4. 移植 FreeRTOS