ARM调试问题总结

发布者:omega34最新更新时间:2021-05-06 来源: eefocus关键字:ARM  调试  问题总结 手机看文章 扫描二维码
随时随地手机看文章

基于ADS的ARM调试有关问题总结

1.

在添加文件的过程中你可能已经发现了CodeWarrior IDE 为用户建立了三个

Target,分别是“DebugRel”、“Realse”、“Debug”,这三个Target 分别表示三种

调试方式。

DebugRel 表示在生成目标的时候会为每一个源文件生成调试信息;Debug 表示为每一个源文件生成最完全的调试信息;Release 表示不生成任何调试信息。一般默认选择“DebugRel”。同时从图6 可以发现每次添加文件的时候都会询问添加到哪个“Target”,一般默认三个都添加,点击确定。


2.

我在编译程序的时候出现了这样的错误,请问是什么问题啊

Error : (Fatal)

L6002U: Could not open file D:...tmmgrsp周力功ARM嵌入式系统实验教程FlashDown.mcp

re:

别用中文名路径,换成英文的;

点击Project下的Remove Object Code..,然后在重新编译下就OK了。


3.

刚买了一块2131开发板,不管怎样擦除都不能在AXD下仿真

错误显示:Error, FLASH is protected by user configation!

re:

1:请使用EasyJTAG V1.06的版本;

2:在JTAG配置中选中“当需要的时候擦除”。


4.

在AXD中提示error 0x40001e00! FLASH Sector 0 write failed!

re:

1. 使用EasyJTAG写外部FLASH要注意,需使用16位总线方式,需要使用SST39VF106芯片.

2. 如果是自己做的板子,需要先在内部RAM调试通过,保证EasyJTAG与板子已经连通.

3. 如果有外部RAM,要先通过(测试)外部RAM来测试总线.


5.

在AXD中提示RDI Warning 00254:Unimplemented RDI message.

re:

是JTAG的问题.可以先使用ISP操作试试就知道了,如果能 ISP,说明 LPC2104 没有损坏,还能正常运行程序

JTAG的nRST、TDI、TMS、RTCK等引脚注意要接上下拉电阻,以确保JTAG在上电时有一个稳定的初始状态,具体参看ARM公司给出的JTAG参考电路。

对于有的PC 机,EasyJTAG 不能正确连接开发板,总是弹出错误对话框,这时可以检查并口连接是否可靠,检查并口上是否接有软件狗,或者重新给开发板上下电。另外,在PC 机的CMOS 设置里将并口模式设为SPP 模式,设置并口的资源为378H~37FH。


6.

错误显示:No disassembly could be read at the requested address.

re:

1.有可能被加密了,请使用ISP软件(FlashMagic),看看能否对Flash进行擦除。

2.也可能芯片被烧坏。


7.

错误显示:RDI Severe Error 00602: Can't halt target and make it enter DEBUG state.

re:

当在非GPIO模式下操作IOnDIR时,会出现JTAG调试中无法暂停的情况,并且AXD会弹出以下信息的窗口并被迫关闭:"RDI Severe Error 00602:Can't halt target and make it enter DEBUG state."简单翻译一下就是:“RDI严重错误00602: 无法暂停目标并使它进入调试状态。”当出现这种情况后,就要复位2131(或者重新上电),然后重新打开H-JTAG软件和AXD等。


8.

SDT JTAG和Wiggler JTAG有什么区别?

re:

SDT JTAG和WIGGLER JTAG的区别只是在与并口的接法不一样。功能是一样的。你在OPENOCD里,应该能找到JTAG信号与并口的连接的定义,做相应的修改应该就可以了。


9.

错误显示:RDI Severe Error 00616: Failed to access instruction register.

re:

1.可能是并口驱动能力不够强, 影响JTAG信号质量, 造成不稳定.

2.可能是你flash中的程序有问题,先往flash中烧一个能正常跑的程序,再试试看。


10.

关于JTAG接口:

P1.20/TRACESYNC应该加上拉电阻以禁止TRACE功能。PINSEL2一定要在程序开始时初始化一下。

LPC2210 JTAG

1,2/VDD3.3V

P1.31/nTRST, input 3/nTRST, output EasyJTAG中有上拉电阻。

P1.28/TDI, input 5/TDI, output EasyJTAG中有上拉电阻。

P1.30/TMS, input 7/TMS,output EasyJTAG中有上拉电阻。

P1.29/TCK, input/output 9/TCK, input/output EasyJTAG中有上拉电阻。

P1.26/RTCK, input 11/RTCK, output P1.26外接下拉电阻。

P1.26有内部上拉电阻,故测量时该引脚会呈现高电平。但是在复位时,它的上拉电阻不起作用,只有外部的下拉电阻起作用,P1.26 = 0V, 所以上电后PINSEL2的D3~D0会是0x04(B0100),JTAG有效。

若将P1.26接到3.3V再复位,此时PINSEL2的D3~D0将会是0x00,JTAG无效。

P1.27/TDO, output 13/TDO, input EasyJTAG中有上拉电阻。

nRESET, input 15/nRST, output EasyJTAG中有上拉电阻。

4,6,8,10,12,14,16,18,20/GND

17,19/NC


11.

错误显示:DBE Warning 00041: An unspecified Debug Toolbox call faied.

re:

1. 先使用ISP软件对板上的LPC2000系列芯片进行全片擦除。因为如果芯片加密了,则无法进行JTAG调试。

2. 检查并口线、JTAG仿真头的连接是否可靠。

3. 检查并口模式设置,并口上不要接其它硬件(如软件狗)。


12.

错误显示:RDI Warning 00148: Can't set point.

re:

原因是仿真器在ROM中设置的断点数是有限的,且单步运行时内部还要占用断点。

解决方案:1.清除所有断点。

2.使用“Option->Config Processor”打开“Processor Properties-ARM7TDMI”窗口,点击Clear ALL即可。


13.

错误显示:DBE Warning 00056: The statement into which was stepped is singular (i.e. it has no exit).

re:

表明CPU在死循环,检查你的RAM,总线配置等。


14.

出现取数据中止

re:

进入取数据中止和取指中止的根本原因在于,对非法地址进行访问(未分配给您使用的地址空间您不能访问,保留作它用的地址空间您不能访问)。常见的触发取数中止和取指中止的原因之一是利用指针操作缓存时越界了。

如果用了周的模板,请修改配置文件里的参数,周的模板默认都是该种芯片最小型号的,主要是修改RAM起始地址和RAM最高端的地址。

请查数据手册!

mem_a.scf __RelInFlash

mem_b.scf __DebugInRam

mem_c.scf __DebugInFlash


15.

出现Warring : L6329W: .srcmem_b.scf Pattern *(RW) only matches removed unused sections.

re

连接警告的原因是你定义的全局变量并同时进行了初始化,但是这个全局变量在你的程序中并没有被使用!

并不是没有RW属性的段,一般程序都有堆“heap”,全局变量都在heap中,heap有一个明显的属性都是可读可写的。


16.

出现Error : C2933E : type disagreement for 'rcvmcu'.

re

将A函数的实现,剪切到B函数实现的前面,就可以了.


17.

SPI时序的设定主要由外接从机决定,应用时您可以按照从机要求的输入时序图,再对照书上的四种模式下的输出时序图来选择当前模式即可。如果从机是上升沿输入,下降沿输出,此时选CPHA = 1, CPOL = 1,如果从机是上升沿输出,下降沿输入的话则选CPHA = 0, CPOL = 1.

当然SPI主机时序的选择还与从机是否在片选时,是否有数据输出有关。以上两个例子,均假设片选时没有数据输出。

1、SPI是全双工的通讯方式,即发送数据的同时会接收到一帧数据;

2、至于返回的数据的作用:当需要从机给主机发送数据时,该返回值就是从机需要发送的数据;

3、SPI读取从机数据时,主机发送数据是因为SPI通讯时时钟由主机来提供,主机数据给从机提供时钟信号。

SPI通信本来就要由主机来产生时钟,所以读取数据的时候也要由1138来产生时钟,要产生时钟就要发送数据,所以一般读取数据的时候1138就发送0xFF,处理器会自动把Rx线上的数据存到FIFO,而存储器知道是读取数据,不会理会1138发送的数据。 不过之前1138发送命令的时候虽然存储器没有往Rx发送数据,但是1138还是会认为上面是有效数据,会把Rx上的高电平当成0xFF放到接收FIFO,所以在接收数据前最好先把FIFO清空。


18.

出现Error : (Fatal)L6002U : Could not open file E:TEST for ARMrecorder_armrecorder_arm_DataDebuInRAMObjectCodeStartup.o.

re:

点击Project下的Remove Object Code..,然后在重新编译下就OK了


关键字:ARM  调试  问题总结 引用地址:ARM调试问题总结

上一篇:看嵌入式操作系统浅析
下一篇:基于ARM Cortex-A8的城轨能馈式供电系统综合监控

推荐阅读最新更新时间:2024-11-16 20:00

TI Stellaris MCU支持ARM微控制器软件接口标准
近日,德州仪器 (TI) 宣布其基于 Stellaris® Cortex™-M4F 内核的微控制器 (MCU) 现在可以支持 ARM® 的最新 Cortex 微控制器软件接口标准 (CMSIS)。除了 TI 的 StellarisWare® 软件套件之外,通过简化浮点、单指令多数据 (SIMD) 和数字信号处理 (DSP) 运算的可实现方案,ARM 的 CMSIS 库也将帮助开发人员实现 Stellaris LM4F 微控制器业界领先的优势。 Stellaris MCU 是业界领先的 32 位微控制器系列,基于 ARM Cortex-M 内核。Stellaris LM4F (Cortex-M4F) 系列微控制器可提供领先的模拟
[单片机]
软件定义汽车 硬件经久耐用力提升
随着行驶里程数的累积, 软件定义汽车 将带给车主更好的使用经验。但以软件为中心的设计方法代表开发典范的改变,以及经久可用的硬件能力。 图一 : 软件定义汽车 能够提供车主更细致、回馈更好的车主体验。(source: Arm ) 软件定义汽车 ,让车界长期认定的「新车交车那刻就是车况的巅峰」不再适用。今日汽车市场的新参与者正在颠覆这个产业铁律,并向新车买家承诺其用车体验会越来越好。 软件定义汽车的吸引力相当明显。藉由智能型装置的使用,消费者已经体验到智能型装置可以轻松升级,应用程序及错误也可以透过无线方式进行更新与排除。随着消费者对于更高阶的自动驾驶的兴趣与日俱增,整个产业也有志一同的朝着电动化动力系统、以及可在车上达成如
[汽车电子]
软件定义汽车 硬件经久耐用力提升
基于ARM的GPS地面目标跟踪及报警系统的设计
1 引言 随着现代化科技的发展,人们对移动目标监控的要求越来越高。例如,地面目标跟踪及报警系统可协助家长实现对孩子的监控,孩子若遭遇走失或劫持事件,监控中心通过分析手持终端发送的GPS数据确定孩子所在位置,以采取相关安全措施。此外,地面目标跟踪及报警系统在城市出租车调度、物流运输监控等领域都有着广泛的应用前景。 地面目标跟踪及报警系统是伴随着GPS技术和GSM网络的成熟而发展起来的。20世纪90年代初,GPS技术逐渐兴起,基于GPS的移动跟踪、监控系统开始走向市场。近年来,GSM网络发展迅速,其数据传输能力明显加强,并且,GPS技术更加成熟。2000年5月1日,美国政府宣布取消GPS普通定位的选择干扰(SA)政策,这样,一般G
[应用]
ARM TrustZone的理解
TrustZone是ARM对ARM6的扩展,其实只是增加了一条指令,一个配置状态位,以及一个新的有别于核心态和用户态的安全态。ARM并没有把TrustZone设计成能够解决所有的安全问题,它的目标是希望TrustZone能把一些安全性要求高的代码放在安全区域里执行,这也就是TrustZone名字的由来。 ARM把TrustZone固化在硬件里的道理是: 系统的安全性不能全靠软件来保证,而且改写现有的不安全的软件,使之更安全也不大可行。 较为可行的方案就是引入一块安全的硬件逻辑,并且只让一小块软 件控制此安全逻辑。 这样既保护了既有投资,也把系统的安全风险降到最小。 因为操作系统和普通应用都可以运行在安全态,所以安全态不同于
[单片机]
全新Arm IP保护物联网设备免疫日益普遍的物理威胁
新闻摘要: 全新Arm Cortex-M35P处理器是首款同时搭载防篡改技术和强大软件隔离功能的Cortex-M系列处理器,为诸如智能表计、门锁、汽车等新兴应用带来智能卡级别的安全保障 增强版安全IP通过提供更高级别的攻击保护来防御包括功耗和电磁分析在内的近距离侧信道攻击,从而保护芯片免遭日益普遍的物理威胁 全新IP套件帮助Arm合作伙伴达到灵活而强大的物理安全级别,从而实现新兴物联网 应用 北京– 2018年5月10日–Arm在去年的Arm TechCon大会上发布了 《物联网安全宣言 》 (Arm Security Manifesto)。对于Arm而言,若要在2035年实现1万亿台互连互通设备的愿景,那么
[物联网]
全新<font color='red'>Arm</font> IP保护物联网设备免疫日益普遍的物理威胁
ARM核心板之—电平转换电路
  电子工程师在电路设计过程中,经常会碰到处理器MCU的I/O电平与模块的I/O电平不相同的问题,为了保证两者的正常通信,需要进行电平转换。以下,我们将针对电平转换电路做出详细的分析。   对于多数MCU,其引脚基本上是CMOS结构,因此输入电压范围是:高电平不低于0.7VCC,低电平不高于0.3VCC。   但在介绍电平转换电路之前,我们需要先来了解以下几点:   ⒈ 解决电平转换问题,最根本的就是要解决电平的兼容问题,而电平兼容原则有两条:①VOH VIH②VOL VIL   图1 阈值电压   ⒉ 对于多电源系统,某些器件不允许输入电平超过电源电压,针对有类似要求的器件,电路上应适当做些保护。   ⒊ 电平转
[单片机]
<font color='red'>ARM</font>核心板之—电平转换电路
Arm开放指令集,对今后的IoT发展意味着什么?
翻译自——staceyoniot及新闻稿件 半导体知识产权(IP)提供商Arm,在业界已无人不知,无人不晓。它开发了世界上几乎所有手机处理器都使用的底层架构,现在,Arm进一步开放了该架构以供订制化的需求。Arm表示,将允许合作伙伴定制Arm指令集架构(ISA),以帮助改善合作伙伴终端设备性能和效率。 据悉,Arm首席执行官Simon Segars在Arm® TechCon 2019大会中宣布推出Arm Custom Instructions,这是针对Armv8-M架构新增的功能。2020年上半年开始,Arm Custom Instructions初期将在Arm Cortex®-M33 CPU上实施,并且不会对新的或既有授权厂
[物联网]
<font color='red'>Arm</font>开放指令集,对今后的IoT发展意味着什么?
变频器的参数调试方法有哪些
变频器是一种将工频电源转换为频率和电压可调的电能控制装置,广泛应用于工业自动化、电力系统、交通等领域。变频器参数的调试是确保其正常运行和满足特定应用需求的关键环节。本文将详细介绍变频器参数调试的方法,包括基本参数设置、频率设定、加减速时间调整、转矩提升、制动功能设置、通讯设置等方面的内容。 一、基本参数设置 电压等级选择:根据变频器输入电源的电压等级,选择合适的电压等级参数。例如,输入电源为380V时,选择380V电压等级。 电机参数设置:根据所连接的电机参数,设置变频器的额定电压、额定电流、额定功率、额定转速等参数。 控制方式选择:根据应用需求,选择变频器的控制方式,如V/F控制、矢量控制、直接转矩控制等。 起动方式设置
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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