今天在玩开发板时不小心下载了个有问题的程序,然后就悲剧了。无法往芯片中烧写程序了。每次想下载程序都会弹出如下的两个错误对话框。
然后消息窗口显示如下的错误信息。
JLink info:
------------
DLL: V4.15n, compiled Jun 18 2010 19:55:09
Firmware: J-Link ARM V8 compiled May 20 2010 17:07:46
Hardware: V8.00
S/N : 24446459
Feature(s) : RDI,FlashDL,FlashBP,JFlash
* JLink Info: Could not measure total IR len. TDO is constant high.
**JLink Warning: No matching core found.
* JLink Info: Could not measure total IR len. TDO is constant high.
* JLink Info: Could not measure total IR len. TDO is constant high.
* JLink Info: Resetting target using RESET pin
* JLink Info: Halting CPU core
**JLink Warning: Received 0 as core Id.
***JLink Error: Could not find supported CPU core on JTAG chain
Bad JTAG communication: Write to IR: Expected 0x1, got 0x7 (TAP Command : 2) @ Off 0x5.
百度了一下,没找到什么有用的信息。还是要自己想办法解决。首先,我的JLink和STM32 芯片都不大可能就这么坏掉了。多半是烧写进去的软件有些问题,占用了相应的IO 管腿,导致无法利用JLink与之通讯。那就想办法不让这个错误的程序运行了。
STM32 中是自带了BootLoader的,切换进BootLoader 中就可以了。具体的方法就是通过BOOT1、BOOT0两个跳线来选择启动模式。
断电,改跳线,重新上电,进入BootLoader 模式。用JLink 下载新的程序,下载成功。再断电,把跳线改回来,重新上电,一切正常。问题解决!
关键字:STM32F10x JLink 下载程序
引用地址:
STM32F10x 学习笔记之解决JLink 无法下载程序的问题
推荐阅读最新更新时间:2024-11-09 18:30
使用jlink+gdbserver+insight调试ARM程序--配置insight
1. 下载insight-6.8a.tar.bz2 编译: ./configure --target=arm-linux --prefix=/opt/insight_arm --disable-werror (1) 其中--target=arm-linux会影响安装生成的可执行文件的名字,例如安装之后可执行文件的名字为: caodan@caodan-Ubuntu:/opt/insight_arm/bin$ ls arm-linux-gdb arm-linux-insight arm-linux-run tclsh8.4 wish8.4 (2) --prefix=/opt/insight_arm 的作用, 指定安装路径 (3) --
[单片机]
STM32F10x_ RTC日历
Ⅰ、概述 接着上一篇文章来讲述关于RTC的计数功能,我们以实例RTC日历(读写年、月、日、星期、时、分、秒)来讲述该章节。 STM32F1系列芯片的RTC功能和其他系列(F0、F2、F4等)相比来说,功能要弱一点,原因在于F1系列的RTC日历功能需要我们通过软件进行处理(换算RTC计数值)才能真正实现RTC日历的功能,而其他系列芯片不用这么麻烦,可直接读取日历值。 该文和上一篇文章的区别:1、RTC时钟源选择LSE(外部低速时钟); 2、分频值是32768; 3、读写了RTC_CNT(计数值),用于RTC日历。 本文章提供的实例工程“STM32F10x_RTC日历(LSE)”,其实验效果是: 主函数间隔0.5秒LE
[单片机]
Jlink调试2440进不了中断的看这里
很多人学习2440都是从裸机开始的。刚开始的小菜LED,然后定时器、按键这些常用内部外设,最后则是LCD、Nand等复杂外设。 用Jlink裸机调试2440小程序时,中断的调试是一个重要内容。像定时器、按键等外设调试都需要用到中断。 今天在调试以前写的定时器测试工程时活见鬼的总是不成功。因为是以前调试ok的工程,所以可以肯定代码没有错的,应该是调试方面的错误。于是乎: (1)换了下MDK的版本,从4.1.2降到之前的3.5,一样不行。 (2)调试时单步执行,在Memory栏内输入SRCPND和INTPND寄存器的地址,单步时通过观察这两个寄存器的值,确定中断是否真的发生。结果中断确实发生,证明程序真的是无误的,那一定就是中
[单片机]
STM32F10x芯片RTC实时时钟
1、介绍 系统复位后,对后备寄存器和RTC的访问被禁止,这是为了防止对后备区域(BKP)的意外写操作。执行以下操作将使能对后备寄存器和RTC的访问: 设置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能电源和后备接口时钟(调用:RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP | RCC_APB1Periph_PWR,ENABLE)); 设置寄存器PWR_CR的DBP位,使能对后备寄存器和RTC的访问(调用:PWR_BackupAccessCmd(ENABLE))。 2、RTC注意事项 RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器仅能通过备份
[单片机]
Windows下stm32串口下载程序(DOS版本)
每次更新程序都需要用到stlink调试工具,感觉非常不方便,笔记本搬来搬去,帮客户更新程序也不方便使用别人的下载工具。 那么只能自己写一个下载工具了。 刚开始我是想研究一下stm32 BootLoader的官方协议,然后通过协议来写这个程序。 后面找到官方质料AN3155_USART protocol used in the STM32 bootloader_en.pdf(自行百度)。 全是英文,看了一天挺累的,进展也慢。 后面又了解到原来st公司自己写了一个BootLoader的库。根据网上找到的很多质料模仿大神们写了一个。 因为时间原因先完成一个DOS版本的,后面将继续完成MFC版本,方便使用。源码都会
[单片机]
STM32单片机使用SWD(Serial wire debug)模式 下载程序出错问题解决
最近在使用STM32F105单片机做产品,使用SWD接口下载程序,遇到一些问题,得益于网上的一些文章最后得以解决,所以也想把问题解决的过程整理出来,以供出现同类问题的技术人员进行参考,本人没有系统地学习SWD接口下载程序的过程(每天的时间都在赶开发进度,很难静下心来系统地学习一项技术了,惭愧),只是提供一点经验。 问题:使用SWD模式下载程序,遇到 Cannot access Memory (@ 0xe00ffff0, Read, Acc Size: 4 Byte) RDDI-DAP Error 等问题提示 问题发生以及解决的过程: 开始使用SWD模式下载程序都还比较顺利, 随着开发的程序增加,有一天突然不能正常下载
[单片机]
详解STM32开发板JLINK调试步骤
STM32调试步骤 调试前,首先跳线J9的2-3脚短接,跳线J4的右边两个脚短接,跳线J5短接,J8短接,J2的1-2短接,3-4短接。 将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来, 这时LED灯LED5,LED6都应该点亮,如果不亮,说明板子有问题。 打开串口助手,按照如下设置: 1、从桌面打开J-Flash ARM V4.02如图所示。 也可以按照如下顺序打开J-Flash ARM 。 “开始à程序àSEGGERàJ-Link ARM V4.02àJ-Flash ARM”,如下图所示。 2、打开J-Flash ARM后,先进行芯片选项设置,打开Options
[单片机]
Ubuntu下Jlink的配置
安装环境:Win7 + VirsualBox + Ubuntu 12.04(32bit)+ ok6410 一,下载Jlink for linux 1,网址:http://www.segger.com/jlink-software.html,下载对应的版本,我这里下载的是JLink_Linux_V480_i386.tgz 二,安装Jlink 1,解压JLink_Linux_V480_i386.tgz tar zxvf JLink_Linux_V480_i386.tgz 2,进入JLink_Linux_V480_i386目录,查看README.txt,这里最新版本的配置和老版本可能不同,直接按照README上介绍的来。
[单片机]