推荐阅读最新更新时间:2024-03-16 15:06
ST-Link不能下载程序的几种解决办法
一直在用J-LINK,最近改用ST-Link,出现了不少无法下载程序的情况,这里列出几种解决的办法(针对STM32F103系列): 1#是不是你没有选择Flash算法? 什么都没有加的话,会提示“找不到Flash算法”的哦 2#是不是你JTAG下载了? 赶紧调回SW下载。 3#ISP下载 用户有的时候会不小心把PA13 or PA14的SW功能给关了,这时候ST-Link会显示“no SW-DP found”。这时只能用ISP下载,具体方法是BOOT0 = 1,BOOT1 = 0,一般来说就能下了,下完之后记得切换为BOOT0 = BOOT1 = 0,让系统正常运行。 当然有蜜汁bug的时候也
[单片机]
使用SAM-BA和RomBoot烧写at91sam7s64
1.下载SAM-BA-Install.exe软件安装 2.连接at91sam7s64板子上的DBGU串口到PC 3.打开SAM-BA.exe,点击 DBGU connection 1 将at91sam7s64的ERASE 接至高电平(必须保持大于50ms的时间),擦除flash中所有内容的同时会解锁内部所有flash防写锁, 允许对flash编程 2 将at91sam7s64的TST 接至高电平20秒或以上(在此期间at91sam7s64内部TST逻辑控制单元会检测内部flash是否被锁定, 如果检测到未被锁定,那么TST逻辑控制单元会将RomBoot引导程序烧写到内部0x100000处的flash中,这样复
[单片机]
单片机最小系统不能烧写程序的解决思路
现象:单片机晶振不起振,不能烧写程序 调查步骤: 1、怀疑晶振谐振电容等贴片有误 ,重新换上后,还是不能下载,排除; 2、怀疑单片机电源纹波过大,示波器测量发现纹波正常,排除; 3、怀疑单片机复位脚,用示波器测量发现复位脚为低,终于找到问题点; 4、复位脚为低,原因是硬件复位狗打开了,而刚开始下载的程序没有使能复位狗,故失效; 5、将复位狗用IO disable 后,单片机烧写正常。 620)this.width=620;" border=1> 复位狗电路 晶振完美波形~~~ 620)this.width=620;" border=1> 晶振波形 620)this.width=620;" border=1>
[单片机]
Jlink调试2440进不了中断的看这里
很多人学习2440都是从裸机开始的。刚开始的小菜LED,然后定时器、按键这些常用内部外设,最后则是LCD、Nand等复杂外设。 用Jlink裸机调试2440小程序时,中断的调试是一个重要内容。像定时器、按键等外设调试都需要用到中断。 今天在调试以前写的定时器测试工程时活见鬼的总是不成功。因为是以前调试ok的工程,所以可以肯定代码没有错的,应该是调试方面的错误。于是乎: (1)换了下MDK的版本,从4.1.2降到之前的3.5,一样不行。 (2)调试时单步执行,在Memory栏内输入SRCPND和INTPND寄存器的地址,单步时通过观察这两个寄存器的值,确定中断是否真的发生。结果中断确实发生,证明程序真的是无误的,那一定就是中
[单片机]
Jlink调试ARM裸机程序
安装ASD1.2 调试裸奔程序。 我的台式机没有并口,所以只好买个JLink了。(注意,现在配的新电脑很少有串口和并口了。买板子的时候最好顺带买了JLink最好。这样省邮费。不要买什么USB转接并口的,没有用。我买了一个,都用不了。另外注意开发板的JTAG是10脚的还是20脚的。买的JLink最好能直接使用,不然要买转接插座很麻烦) 调试的时候AXD要配置的。配置方法主要是配置 1. Option- Configure Interface- Session File 这里指定初始化SDARM的地址列表,文件内容为 setmem 0x53000000,0x00000000,32 setmem 0x4a000008,0
[单片机]
51单片机(二)—— 如何烧写51单片机程序
学习单片机很重要的一步就是为单片机烧写程序,烧写程序是初学者体验单片机并快速入门的第一步,51单片机由于比较简单,并且为了节省学习成本,一般很少使用调试器,而是直接用单片机的串口烧写程序。下图是我使用的开发板,这个开发板上已经集成了USB转串口芯片。 要为单片机烧写程序首先要安装USB转串口芯片的驱动,不同的芯片的驱动程序也不一样,我这里的USB转串口芯片为PL2303,安装了驱动程序之后,用USB线将板子与计算机连接起来,则在计算机上的设备管理器中可以找到模拟出的串口,如下图所示。 串口对应的串口号为COM3。 安装好串口驱动之后,接下需要用到的是烧写软件,可以从相应的网站下载到。软件名称为STC_ISP,如下图所示
[单片机]
玩转STM32(9)下载程序到Flash
前面介绍了怎么样设置JLink调试器,这样就架起了一座开发电脑与开发板之间的桥梁,有了这个桥梁,就可以把程序下载到STM32的CPU里了。那么样在软件上怎么样操作呢?在说软件怎么样操作之前,先强调一下,硬件要按前面的文章那样连接好,也就是JLink的JTAG接口与开发板的JTAG接口相连接,开发板的电源接好,然后JLink的USB接口接到电脑上,这样就把硬件配置好了。当你插入JLink的USB接口之后,如果安装驱动正常,就可以在电脑设备管理器里查看到如下图那样: 在上图里发现JLink driver这个选项,说明就已经正常了。 接着下来,就是要在Keil开发环境里把程序写到开发板的CPU里,在开发环境里,可以看到下面的图标
[单片机]
STM32 KEIL软件设置程序烧写起始地址选择
STM32系列的mcu,这儿以cortex-M4为例,我们在线调试时,一般会设置程序烧写起始地址和大小。这个大小一般是0x08000000,也就是内部flash的映射地址。不过有些产品是从0x08020000开始的,这是为什么呢?是因为在0x08000000-0x08020000这段空间放的是引导程序,也就是引导程序是从0x08000000开始存放,一般而言,引导程序最终也是要跳转到主app执行的,对于我们这儿而言,就是引导程序会跳转到0x08020000继续执行,而主工程代码是从0x08020000开始存放的,所以就这样串联起来了。 这儿可以看到我们设置的程序烧写的地址和大小,这个的设置是要和use memory layou
[单片机]