文章转载自:http://xfjane.spaces.eepw.com.cn/articles/article/item/77908

基于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: .\src\mem_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 ARM\recorder_arm\recorder_arm_Data\DebuInRAM\ObjectCode\Startup.o.
re:
点击Project下的Remove   Object   Code..,然后在重新编译下就OK了

转载于:https://www.cnblogs.com/yeshenmeng/p/10861125.html

STM32 ARM调试问题总结相关推荐

  1. vscode-armgcc-openocd搭建STM32开发调试环境

    环境配置 一. vscode插件安装 1. 打开vscode, 进入扩展搜索页面 2. 搜索安装: Embedded IDE, Cortex-Debug 二. arm-gcc, openocd安装 a ...

  2. ARM调试(2):在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互

    在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 文章目录 在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 1. ...

  3. STM32的调试方式、更新程序、仿真以及补救措施

    STM32的调试方式.更新程序.仿真以及补救措施 1. STM32的调试方式选择 STM32支持JTAG和SWD两种调试方式,且默认状态下这两种调试功能都是开启的. 由此我们可以知道: 如果要使用JT ...

  4. STM32 软硬件调试

    调试IO口占用 JTMS/SWDIO–PA13 JTCK/SWCLK–PA14 JTDI–PA15 JTDO–PB3 JNTRST–PB4 STM32 软硬件调试 硬件调试 硬件调试通常是通过JTAT ...

  5. 最低成本的ARM调试解决方案——有关于Wiggler、H-Jtag、OpenOCD、GDB

    origin: http://blog.sina.com.cn/s/blog_70bb32080100lx1u.html 又是一个多月没有动这个Blog嘿嘿,我发现一个有趣的现象,我的Blog在每年的 ...

  6. STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E

    (STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o).) 关于Symbol XXX multiply defined (by ...

  7. 基于STM32 ARM+FPGA的电能质量分析仪方案(二)软件设计

    本部分主要介绍 FPGA+ARM 控制部分的软件设计. FPGA+ARM 控制部分包括 Verilog HDL 硬件描述语言和 C 语言的开发. FPGA 部分主要控制 AD7606 模数转换.数字三 ...

  8. stm32运行java虚拟机_windows下的基于Eclipse的STM32开发调试环境搭建

    这段时间在玩STM32,但官方库的代码也确实是有点多,记忆力有点不太好了.突然就想起了以前用Eclipse的那个代码提示功能,谷歌了一段时间, (一)安装编译环境 1.下载和安装JAVA虚拟机 因为E ...

  9. 意法半导体STM32 ARM Cortex 32位微控制器

    STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度.它包括一系列产品,集高性能.实时功能.数字信号处理.低功耗/低电压操作.连接性等特性于一身,同时 ...

最新文章

  1. vmware迁移问题
  2. 小细节大功能!通过缺省页你可以告诉用户这些事
  3. 机器学习基础 2:矩阵乘法以及求导
  4. CSS 文本超过部分显示省略号,解决数字或英文不换行问题
  5. 纳人才,谋发展 | 人大金仓喜获“最佳雇主校招案例奖”
  6. CCS中调试DM6467高清视频采集(TVP7002输入)
  7. 任务驱动在中职计算机课中的应用,论任务驱动教学法在中职计算机基础课上的应用...
  8. 【万物物联】Siri+快捷指令+onenet控制掌控板
  9. Work Tasks
  10. ps4 虚拟服务器 设置,谁说PS VR只能适配PS4主机? 大神来教你完美认证PC
  11. 微博爬取(Python)--中大微博前100条微博内容以及评论转发点赞数目爬取
  12. 南农853计算机专业基础综合包括哪些,2017南京农业大学 南农大 853 计划机专业基础综合硕士招生考试大纲及参考书目.pdf...
  13. [渝粤教育] 深圳信息职业技术学院 《新理念英语》English For You 参考 资料
  14. 阿里巴巴面试java研发工程师实录
  15. python 排序(升序或降序)
  16. 音频质量的评价方法:简单梳理
  17. IBM Power6、7配件FC号描述翻译(unix360.part06)
  18. 网络问题:能ping通所有网站,但是就是打不开网站
  19. 高德地图四月新增数千条重要道路 数据能力持续领先
  20. PLS-DA分析R实现

热门文章

  1. java.servlet js,调用servlet方法
  2. 线性回归和逻辑回归的区别_Spark实现线性回归与逻辑回归算法
  3. JavaScript文档对象模型获取body元素对象和获取Html元素对象(3)
  4. mz04那智不二越机器人编程_买买买!这些炫酷的机器人已加入进博会“购物车”!...
  5. box-sizing的类型
  6. 越权操作(文件读取漏洞)
  7. 迁移学习1——基于深度学习和迁移学习的识花实践
  8. docker部署kafka,k8s(helm)部署kafka
  9. xilinx sdk查看结构体定义open declaration
  10. quartus仿真17:T触发器的时序逻辑电路