ProjectRoot/
├── OUTPUT/ # 編譯輸出
└── SOURCE/ # 所有源碼
├── APP/ # 用戶代碼
├── CMSIS/ # 核心支持層
└── STM32F10x_StdPeriph_Driver/ # 標準外設庫
├── inc/
└── src/
所有文件夾命名用英文,避免中文路徑導致編譯錯誤。
Keil\ARM\Startup\ST\STM32F10x.s 到 SOURCE,加入工程 startup 組。main.c,加入 User 組。Driver 組,將 StdPeriph_Driver/src 下需要的 .c 加入。Options for Target → C/C++ → Include Paths 添加:
.\SOURCE\CMSIS\Include.\SOURCE\STM32F10x_StdPeriph_Driver\inc.\SOURCE\APP| 錯誤 | 原因 | 解決 |
|---|---|---|
| cannot open stm32f10x_conf.h | 缺少配置頭文件 | 從官方模板複製 stm32f10x_conf.h 到 inc 目錄 |
| #error "Please select target device" | 未定義芯片型號宏 | 在 stm32f10x.h 中取消註釋對應行,如 #define STM32F10X_CL |
| 外設未定義 | stm32f10x_conf.h 中未啟用外設頭文件 | 取消註釋需要的 #include "stm32f10x_gpio.h" 等 |
main.c 中 #include "stm32f10x.h",編譯通過即成功建立基礎工程。