完整教程下載地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980php
本章教程爲你們介紹如何經過MDK5下載程序到芯片裏面以及MDK5的調試和配置方法。函數
5.1 初學者重要提示測試
5.2 使用MDK調試和下載程序設置(JLINK)spa
5.3 使用MDK調試和下載程序設置(STLINK)3d
5.4 MDK調試容易崩潰的解決辦法調試
5.5 MDK程序調試htm
5.6 總結blog
調試下載STM32H7,務必使用JLINK V9或V10,以前的版本已經不支持,JLINK的驅動安裝等相關文件已經在本教程第2章的2.5章節有說明。教程
在上個章節裏面,咱們已經將Options對話框裏面大部分設置選項都作了說明,本章節主要是調試下載的設置。開發
開發板接上JLINK的效果圖以下,JLINK端須要插入開發板贈送的JTAG轉SWD轉接板:
注意轉接板不要插反了:
Debug選項主要用於調試設置。
打開Settings設置選項,設置完畢後別忘了點擊肯定。
Utilities選項主要用於程序下載設置。
前兩步設置好以後,JLINK插到電腦端並跟開發板鏈接好,將板子上電,就能夠下載了。點擊這裏就能夠下載了:
下載成功後能夠看到開發板上的LED開始閃爍,MDK的也有信息展現:
調試下載STM32H7,請將STLINK固件升級到最新版,關於固件升級和驅動安裝等相關文件已經在本教程第2章的2.6章節有說明。
在上個章節裏面,咱們已經將Options對話框裏面大部分設置選項都作了說明,本章節主要是調試下載的設置。
開發板接上STLINK的效果圖以下:
若是是下面這種STLINK,須要接上轉接板:
Debug選項主要用於調試設置:
打開Settings設置選項,設置完畢後別忘了點擊肯定。
Utilities選項主要用於程序下載設置。
前兩步設置好以後,JLINK插到電腦端並跟開發板鏈接好,將板子上電就能夠下載了。點擊這裏便可:
下載成功後能夠看到開發板上的LED開始閃爍,MDK的也有信息展現:
進入到MDK5.2X後,MDK調試的時候很容易崩潰,出現下面這個錯誤
出現這個錯誤的話,要注意下面兩個問題:
針對這個問題,KEIL官方也有說明:http://www.keil.com/support/docs/4036.htm 。
JLINK或者STLINK設置完畢後,調試是同樣的。
點擊以下按鈕能夠進入調試狀態:
進入調試狀態後的效果以下:
首先要認識下這7個圖標的含義:
而後點擊此圖標便可,能夠看到前面多了一個黃色的小箭頭,說明已經運行到此行
前面幾個圖標的功能,你們多測試幾回就熟練了。
要查看的外設寄存器內容在這個菜單裏面:
若是要查看內核外設寄存器,在這裏:
針對全局變量,MDK專門提供了Watch1和Watch2兩個窗口,每一個窗口能夠添加不少變量。調試過程當中,這些窗口裏面添加的變量是會更新的。
也能夠從菜單View ->Watch Windows進行添加。好比下面添加一個簡單的全局計數變量。
針對局部變量,MDK專門提供了一個棧窗口,用於查看函數中各類局部變量,這個不須要用戶添加,MDK會自動添加。
也能夠從菜單View ->Call Stack Window進行添加。局部變量須要進入到那個函數裏面才能夠查看,這點要特別注意,由於局部變量是來自棧空間的,進入函數申請佔空間,退出函數後,棧空間就會被釋放掉。好比main函數裏面一個num局部變量:
若是要查看Flash區或者RAM區的內容,MDK提供了4個Memory窗口。
也能夠從菜單View ->Memory Windows進行添加。好比要查看0x0800 0000地址開始的內容,直接輸入便可,這個地址是STM32H7的Flash首地址:
斷點調試比較重要,進入調整狀態後,若是你們想讓程序在指定的位置中止運行,能夠添加斷點,經過這個小紅點來添加。
好比想在84行添加斷點。
用戶僅需在那行使用鼠標左鍵點擊一下,能夠看到前面有個箭頭:
而後點擊那個小紅點,能夠看到已經添加上:
而後點擊全速運行,若是程序有執行到這個地方,就會停在這裏。能夠看到黃色小箭頭也顯示在左側了,說明程序執行這個地方了:
正常狀況下,斷點能夠加到任何程序代碼能夠執行到的地方。另外注意,退出調試前,點擊這個按鈕取消全部斷點,防止MDK調試期間崩潰:
MDK有個週期性更新選項,若是你們要週期性的觀察一些寄存器、全局變量的更新、須要把菜單View -> Periodic Window Update選上。
這個週期不能設置,大概0.5s左右更新一次。
對於初學者來講,務必要實際動手操做一遍。特別是調試方法,要熟練掌握,由於之後工程代碼調試時,用到的最多。