Keil MDK3.20的stm32调试方法

2020-02-15来源: elecfans关键字:Keil  MDK3  20  stm32  调试方法

1. 程序在RAM中运行

要点:

(1)程序的下载地址改到RAM空间中

(2)程序的debug之前要设定SP,PC指针到Ram空间


新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。

Keil MDK3.20的stm32调试方法

设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。

Keil MDK3.20的stm32调试方法

空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。


Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方法)。不选Load ApplICaTIon at Start,在IniTIalizaTIon中加入启动脚本RAM.ini。

Keil MDK3.20的stm32调试方法

RAM.ini中具体内容如下:

FUNC void Setup (void) {

SP = _RDWORD(0x20000000); // Setup Stack Pointer

PC = _RDWORD(0x20000004); // Setup Program Counter

_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register

}

LOAD XXX.axf INCREMENTAL // Download,红色代表工程文件名.axf

Setup(); // Setup for Running

g, main

UTIlities下Update Target before Debugging不选

这样添加后就可以在RAM中调试了。

>>>>>>我们需要在代码中设置正确的中断向量表位置。中断向量表通常被放置在用户程序的开始,所以flash中运行时,向量表位于0x08000000处,而当代码被放置在SRAM中运行时,他的位置就成了0x20000000。在初始化NVIC时,我们可以放置如下代码,定义向量表的位置

NVIC_SetVectorTable(0x20000000 , 0x0);

NVIC_SetVectorTable(0x08000000 , 0x0);

Keil MDK3.20的stm32调试方法

>>>>>工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash,这样就可以在RAM中调试程序了!


2. Flash中调试

新建工程后系统默认设定好IROM1为FLASH的地址和空间大小。只需要两步:

1) 设定调试工具为ULINK1 CORTEX DEBUGGER,如下图所示,不需要设定起始脚本。

Keil MDK3.20的stm32调试方法

2) 在Utility中设定选择ULINK1 cortex debugger,并设定编程算法。如下图所示。

Keil MDK3.20的stm32调试方法

Keil MDK3.20的stm32调试方法

之后就可以FLASH调试了。

硬件:万利的 EK-STM32F开发板,硬件去掉RS3,RS4 排阻,断开开发板本身的仿真器。

软件:KEILMDK3.20+ULINK驱动替换文件。

关键字:Keil  MDK3  20  stm32  调试方法 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic488316.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于STM32单片机的DLP1700显示电路、光路系统改进设计
下一篇:基于STM32的数字PDA系统软件系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Keil ARM软件Debug温习
程序用的就是前面编译成功的汇编代码。然后debug脚本的话用的下面的脚本/*** <<<  Use Configuration !disalbe! Wizard in Context Menu >>>  ***/ /*Name: DebugINRam.ini*/  FUNC void Setup (void) {     // <o&g
发表于 2020-02-02
MDK(KEIL5)如何生成.bin文件
(一个空格) .gpioshurigpioshuri.bin(一个空格) .gpioshurigpioshuri.axf  其中的fromelf(一个空格) --bin(一个空格) --output(一个空格) .为固定格式不需要做修改,同时需要注意路径共有四个空格。第一个gpioshuri为文件夹的名字,这个根据个人工程自己选择,第二个为.bin文件的文件名;第一个gpioshuri为.axf文件所在的文件夹,.axf是已经生成了的,可以在MDK文件夹中找到。以上为理论,现在感官实践。开始时候gpioshuri文件夹是没有.bin文件的。在keil中点击左上角select按钮打开.axf文件,设置好.bin路径编译
发表于 2020-01-19
MDK(KEIL5)如何生成.bin文件
单片机成长之路(51基础篇) - 018 keil51的STARTUP.A51
STARTUP.A51原始文件:  1 $NOMOD51;Ax51宏汇编器控制命令,禁止预定义的8051。使编译器不使能预定义的;8051符号,避免产生重复定义的错误。  2 ;------------------------------------------------------------------------------  3 ;  This file is part of the C51 Compiler package  4 ;  Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software
发表于 2020-01-15
STM32 keil4 extern问题
最近一个项目,在stm32 keil中移植了别人的一些库文件,编译时出现如下错误提示 .OBJW5100_SPI.axf: Error: L6218E: Undefined symbol FLAG_comerr (referred from master.o). .OBJW5100_SPI.axf: Error: L6218E: Undefined symbol adcval (referred from master.o). .OBJW5100_SPI.axf: Error: L6218E: Undefined symbol nzval (referred from master.o). 
发表于 2020-01-15
如何使用Keil5开发MSP430及Tiva系列开发板
如何使用keil5开发msp430,Tiva系列Launchpad系列是Ti德州仪器推出的一系列低成本开发评估套件,即使放到现在,这系列的MCU仍旧不失为一款优异的微控制器芯片。Ti Launchpad平台的另一个系列板卡——Tiva C系列的TM4C123G Launchpad评估套件EK-TM4C123GXL,基于高性能的ARM Cortex-M4处理器。由于TI官方提供的CCS用起来很麻烦,安装也很麻烦。故我们想办法在MDK平台上开发对吧。同样大家也可以用IAR for msp430首先需要安装MDK5即Keil5.未安装的同学请转此https://baijiahao.baidu.com/s?id
发表于 2020-01-15
如何使用Keil5开发MSP430及Tiva系列开发板
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境
RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。MDK(Keil)的安装和配置(破解)就略过了。能进行开发移植系统的程序员如果还不会最基础的开发环境搭建,那……去闭关修炼吧。芯片选择:ST(意法半导体)-STM32F103ZE 原因:开发必备。大多单片机爱好者,学习过程基本是:菜鸟52->逐步深入stm32->深度中毒ARM。ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。ST开发容易。固件库和资料都很全,网上大把教程和学习板(大学
发表于 2020-01-13
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved