STM32F103學習2:使用J-LINK在MDK中燒錄程序


在上一篇博文中,使用了USB轉串口的方式通過串口燒錄了程序。但是在實際調試程序過程中,從調試效率的角度考慮,往往會用到JTAG接口在線燒錄和調試程序。

一、首先,我們安裝一下J-LINK v8的驅動,並設置好MDK中使用J-LINK的選項

1.下載並安裝j-link 4.34版本的驅動程序,4.5以上版本在淘寶上買到的“兼容版”j-link上無法使用。

2.下面這篇文章詳細描述了,在MDK中使用J-LINK燒錄程序和debug設置哪些必要的選項。在這里不復述了

http://blog.csdn.net/zhzht19861011/article/details/5924218

3.連接J-LINK與開發板后,上電,在MDK中單擊LOAD按鈕燒錄程序

4.出現了下載失敗的問題,提示是:"No Cortex-M Device found in JTAG chain"或“Emulator has been changed or re-enumerated!”

根據關鍵詞找到這篇文章:

http://no001.blog.51cto.com/1142339/857117

發現有可能是程序中關閉了JTAG管腳,賣家在說明文檔中也提到了這個問題

 

在程序中屏蔽了這句后,先使用串口將程序燒進芯片。再用JTAG燒錄程序就成功了。

 

 

為什么會這樣呢?我們一起看一下改動過的這句:

 

   // AFIO->MAPR = (0x00FFFFFF & AFIO->MAPR)|0x04000000;          //關閉JTAG     

 

 在stm32f103的器件手冊中第83頁查到AFIO->MAPR為復用重映射和調試I/O配置寄存器,

賦值0x040000000后即為100 關閉二者

而屏蔽這句之后,系統復位后默認可以開啟JTAG模式

 

下一篇博文將會嘗試控制的I/O管腳和stm32庫文件等,繼續熟悉器件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM