Keil MDK-ARM 使用教程(一):主界面、菜單欄、工具欄與視圖管理全解析
Keil MDK (Microcontroller Development Kit) 是 ARM Cortex-M 開發的主流 IDE。本文基於 MDK-ARM v5.20+,詳細拆解主界面五大區域、七大菜單欄核心功能、工具欄圖標、視圖顯示控制,幫助初學者快速上手,資深開發者查漏補缺。
一、主界面五大區域
- 標題欄:顯示當前工程名稱(*.uvprojx)。
- 菜單欄:File/Edit/View/Flash/Tools/Debug/Window/Help 七大類。
- 工具欄:常用操作圖標(新建/打開/保存/編譯/下載/調試/書籤/查找...)。
- 工程窗口 (Project Window):左側,樹狀展示 Target Groups → Source Groups → 源文件,支持右鍵添加/刪除/分組。
- 編輯窗口 (Editor Window):中間,多標籤頁編輯源碼,支持語法高亮、摺疊、書籤。
- 信息窗口 (Output/Build/Find/Watch/Call Stack...):底部,多標籤切換,顯示編譯輸出、錯誤列表、串口輸出、變量監視、調用棧等。
- 狀態欄:最底部,顯示當前行列、編輯模式(INS/OVR)、編碼、構建配置等。
提示: 工程/信息窗口可「隱藏」(Auto-hide 邊緣標籤) 或「關閉」(右鍵 Close),菜單 View 可隨時恢復。
二、菜單欄核心功能速查
1. File (文件) — 操作單個文件,非工程
- New / Open / Close / Save / Save As / Save All
- Device Database:查看器件屬性(FLASH/RAM大小、外設)。
- License Management:授權管理。
- Print / Print Preview / Print Setup。
2. Edit (編輯) — 高頻編碼操作
- Undo / Redo / Cut / Copy / Paste
- Navigate Backwards / Forwards:跳轉歷史光標位置(超實用)。
- Bookmark:Insert/Remove、Next/Previous、Clear All。
- Find / Replace / Find in Files(全工程搜索)。
- Outlining:摺疊/展開函數體,僅顯示簽名。
- Advanced:格式化、註釋/取消註釋、大小寫轉換、列塊模式。
- Configuration:編輯器設置(字體、顏色、縮進、Tab/空格)。
3. View (視圖) — 窗口顯示開關
- Toolbars:工具欄子集開關。
- Project Window / Output Window / Watch Window / Memory Window / Register Window / Call Stack / Terminal 等勾選顯示/隱藏。
- Full Screen:全屏編輯模式。
4. Flash (燒錄) — 目標板下載
- Download:編譯並下載到 FLASH。
- Flash Download Settings:配置下載算法、編程選項、擦除模式。
- Program / Verify / Erase / Blank Check:單步燒錄操作。
5. Tools (工具) — 外部工具鏈與配置
- Options for Target '...' (Alt+F7) —— 核心配置入口:Device/Target/Output/Listing/Debug/Asm/C/C++/Link 八大頁籤。
- Configure Custom Tools:添加外部工具(如代碼生成器、腳本)。
6. Debug (調試) — 模擬器/實機調試控制
- Start/Stop Debug Session (Ctrl+F5 / Ctrl+Shift+F5)。
- Run / Stop / Step Into (F11) / Step Over (F10) / Step Out / Run to Cursor。
- Breakpoints:設置/清除斷點、條件斷點、數據斷點。
- Watch / Memory / Register / Call Stack / Logic Analyzer / System Viewer (RTOS任務/中斷/堆棧視圖)。
7. Window / Help
- Window:多文檔排列(平鋪/層疊)、切換標籤、關閉所有。
- Help:幫助文檔、ARM C/C++ 編譯器參考、Keil 官網、關於版本。
三、工具欄常用圖標識讀
| 圖標 | 功能 | 快捷鍵 |
| 新建文檔 | New File | Ctrl+N |
| 打開文件 | Open File | Ctrl+O |
| 保存 | Save | Ctrl+S |
| 保存所有 | Save All | Ctrl+Shift+S |
| 剪切/復制/粘貼 | 標準編輯 | Ctrl+X/C/V |
| 撤銷/重做 | Undo/Redo | Ctrl+Z/Y |
| 編譯當前文件 | Compile | F7 |
| 構建目標 (Build/Rebuild) | Build/Rebuild All Targets | F7 / Ctrl+F7 |
| 下載並調試 | Start Debug Session | Ctrl+F5 |
| 停止調試 | Stop Debug Session | Ctrl+Shift+F5 |
| 運行/暫停 | Run/Stop | F5 / Ctrl+F5 |
| 單步進入/跳過/跳出 | Step Into/Over/Out | F11 / F10 / Shift+F11 |
四、Options for Target 核心配置頁籤 (Alt+F7)
- Device:選擇具體 MCU (如 STM32F103C8T6),自動設置 FLASH/RAM 範圍。
- Target:晶振頻率 (Xtal MHz)、啟動文件、堆/棧大小、預定義宏。
- Output:輸出文件名、生成 HEX/BIN、調試信息、文件夾。
- Listing:生成 .lst/.map/.cod 文件、交叉引用。
- Debug:選擇調試器 (ST-Link / J-Link / ULINK / Simulator)、設置 SWO/JTAG/SWD 速度、初始化腳本。
- C/C++:優化等級 (-O0/-O1/-O2/-O3/-Os)、C標準 (C99/C11)、包含路徑、預定義宏、對齊、浮點硬件 (FPU)。
- Asm:匯編器選項、包含路徑。
- Link:鏈接器散佈文件 (.sct)、庫路徑、優化、入口點。
五、調試階段核心視窗
- Watch:輸入變量表達式 (如
ptr->next->data) 實時監視。
- Memory:按地址查看/修改內存 (HEX/ASCII/Float),支持斷點掛載。
- Registers:核心寄存器 (R0-R15, PSR, SP, LR, PC) 及外設寄存器 (GPIO, UART, Timer...)。
- Call Stack:函數調用棧回溯,定位崩潰源頭。
- Logic Analyzer:GPIO 邏輯分析儀,波形顯示時序。
- System Viewer (需 RTOS 感知):任務列表、堆棧用量、信號量/郵箱/消息隊列狀態。
六、實用技巧與避坑指南
- 分散加載文件:大項目用 .sct 散佈文件控制代碼/數據段放置位置 (如外部 RAM、備份區)。
- 條件編譯宏:Target → Define 區分 Debug/Release,或板級配置。
- 語法檢查不報錯但編譯報錯:語法檢查僅解析當前文件,跨文件符號需 Build 才能解析。
- 調試無法斷點:優化等級 -O2 以上會內聯/刪除代碼,調試請用 -O0 或 -Og。
- ST-Link 連不上:Debug → Settings → SWD 模式、降低頻率 (400kHz)、檢查 NRST 引腳、目標板供電。
總結
Keil MDK 界面經典高效,「工程窗口管理文件、編輯窗口寫代碼、信息窗口看輸出、菜單/工具欄操控構建調試流程」。熟練掌握 Options for Target (Alt+F7) 八大頁籤、調試快捷鍵 (F11/F10/F5)、視圖開關 (View菜單)、散佈文件與優化等級,即可覆蓋 90% 日常開發場景。建議配合 Keil Assistant / ARM Compiler 6 / CMSIS-Pack 現代工具鏈提升體驗。
- 上一篇文章: Windows下Eclipse CDT搭建C語言開發環境:從安裝到Hello World圖文全記錄
- 下一篇文章: Linux/C語言獲取程序返回值、退出碼與錯誤碼完全指南
Copyright ©
程式碼之家 All Rights Reserved