在开发ARM项目中,很多工程师都不太喜欢使用MDK的调试模式,总是喜欢向51开发一样的下载验证方式。殊不知MDK的调试方法往往会给我们事半功倍的效果。
那么在下载调试的工程中,总是容易遇到如下所示的错误提示:
这个错误一般出现在调试时,代码能够正确下载到处理器中,但是在加载AXF(调试)文件时,总是失败,导致MDK无法进入调试模式。出现这个问题一直都是比较让人头疼的事,本人就遇到了很多次,但是在网络上确找不到解决方法。
出现此问题,在不同的MDK下的解决方法一般可能不同,但是你一定不要怀疑软件问题,一般都是自己的设置问题导致的。下面就说明在MDK4.21中怎样设置去除此错误。
在MDK的Debug设置中去除下图中的复选勾即可解决问题:
关键字:MDK 调试时 AXF文件 无法导入
引用地址:
MDK下调试时提示AXF文件无法导入的解决方法
推荐阅读最新更新时间:2024-03-16 15:00
Keil(MDK-ARM)系列教程(二)_工具栏详细说明
Ⅰ、写在前面 Toolbars工具栏其实就是在菜单下面一行一行的快捷图标按钮,这些快捷按钮之所以归为工具栏里面,在于它们使用的频率较高。比如编译按钮,这个按钮在我们编程的时候使用的频率是相当高,其他快捷按钮同样也经常使用。 本文说的Toolbars工具栏和大部分上位机软件(如:Keil、IAR、VS、STM32CubeMX等)一样,只是工具栏的多少不同,工具栏中快捷按钮的多少不同而已。 本文虽然以Keil MDK-ARM V5为例来讲述,其实Keil MDK-ARM 其它版本,以及Keil C51的各个版本也有同样工具栏,功能也一样。因此,本文也适合它们。 本文内容已经整理成PDF文件,提供给大家下载: http:
[单片机]
MDK-ARM代码格式化插件AStyle
今天分享两点内容: 1.一个代码格式化插件【AStyle】 --- 来自关注我的朋友推荐! 2.STM32时钟及注意事项; 1AStyle插件 前两天,一位关注我的朋友(*inbun Yi*)给我推荐了这款AStyle插件,我当时看了下感觉还可以。于是,下来就下载并添加到MDK-ARM中试用了一下,挺好用的。所以,这里也给大家推荐一下。 代码格式化插件,顾名思义就是格式化代码,简单理解就是对代码进行排版的插件。比如:代码缩进。 插件下载地址: http://astyle.sourceforge.net/ 具体下载安装过程我就不说了,可以参考: https://zhuanlan.zhihu.com/p/23012
[单片机]
基于keil C mdk开发环境的stm32的USB接口单片机程序设计
首先,我们来看看usb的工作过程。 当usb设备接入到主机时,主机开始枚举usb设备,并向usb设备发出指令要求获取usb设备的相关描述信息,其中包括设备描述(dev IC e descriptor)、配置描述(configuration descriptor)、接口描述(interface descriptor)、端点描述(endpoint descriptor)等。这些信息是通过端点0(endpoint 0)传送到主机的。获取各种描述信息后,操作系统会为其配置相应的资源。这样主机就可以与设备之间进行通信了。 usb通讯有四种通讯方式控制(control)、中断(interrupt)、批量(bulk)和同步( s
[单片机]
关于2440的MDK平台下移植ucOS2,遇到的问题,及解决办法
这几天,移植想把ucos2移植到自己的2440开发板上,可是苦于没资料啊,于是网上到处找资料,今晚终于调试通过了,把自己的问题及解决办法跟大家分享分享: 首先,建议大家到网上下载一个简单的ADS的例程,网上的在ADS上移植ucOS的例程很多,我也是随便下的一个,然后像移植单片机程序那样直接移植UCOS2就行了,编译的时候可能会报以下错误: .out_putled.axf: Error: L6238E: 2440init.o(Init) contains invalid call from '~PRES8 (The user did not require code to preserve 8-byte aligme
[单片机]
Keil MDK下如何设置非零初始化变量
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零。如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的。 在给出方法之前,先来了解一下代码和数据的存放规则、属性,以及复位后为何默认非初始化变量所在RAM都被初始化为零了呢。 什么是初始化数据变量,什么又是非初始化数据变量?(因为我的文字描述不一定准确,所以喜欢举一些例子来辅助理解文字。) 定义一个变量:int nTimerCount=20;变量nTimerCount就是初始化变量,也就是已经有初值;
[单片机]
stm32 keil mdk用jlink在线仿真调试键盘按键——图文详解
原来按键用JLINK是能在线调试的!我原来还以为按键这种东西只能用串口发送键值来调试呢!这太好啦,不知道怎么做的新手们赶紧看下去吧! 注意:在调试需要某个按键被按下才能执行的语句时,只需在相应语句前设置断点,然后全速运行,这时再按下相应按键,则程序便会执行到断点语句前(若不按下按键,程序是不会执行到断点前的)。若需要多次观察断点处变量的情况,则重复上述动作即可(全速运行,按键;全速运行,按键;······)。
[单片机]
关于STM32 MDK中USE_STDPERIPH_DRIVER问题
初学STM32,在RealView MDK 环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题。出现如下警告或错误提示: warning: #223-D: function assert_param declared implicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); 这时候我们需要在 Target Options 中的 C/C++ 选项卡中添加USE_STDPERIPH_DRIVER、STM32F10X_HD。这样才能使编顺利通过。 知其然了,我们还得知其所以然。下面就一一道来。我们知道,程序的执行是从 main.c 文件开始的,其中必须包含有
[单片机]
在Keil MDK环境下使用STM32固件库
简介 写这篇教程主要是和大家分享使用STM32的基本方法,也是给自己学习过程的总结、记录和备忘,避免重复学习之前明白但又忘记的知识和操作。我现在也是刚开始接触学习STM32,我是在STM32的固件库V3基础上进行学习。在这里我和大家分享一下使用V3.x库的方法,希望大家喜欢,如有错误请指出。 这篇教程分以下几个方面,一:建立工程,设置工程属性。二:建立条理清晰的GROUP;三:使用JLINK仿真调试。下面就分别逐个说明。 一、新建MDK工程 1、首先,打开MDK软件,再点击Project- New uVision Project ,如下图所示: 弹出如下对话框: 新建一个文件夹MDK工
[单片机]