jlink烧录教程_自制flash烧录器

jlink烧录教程_自制flash烧录器本文主要向大家介绍了Flash基础入门之J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。一、始于安装新版的MDK5.11a后,J-Link不能使用,提示安装新固件云云用新版本的STM32集成开发环境MDK5.11a(之前用的4.13a)链接J-Link下载程序,如果J-Link固件版本过低则点击J-Link设…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文主要向大家介绍了Flash基础入门之J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

一、始于安装新版的MDK5.11a后,J-Link不能使用,提示安装新固件云云

用新版本的STM32集成开发环境MDK5.11a(之前用的4.13a)链接J-Link下载程序,如果J-Link固件版本过低则点击J-Link设置按钮时,会有提醒J-Link驱动有新版可安装(不可忽视,强制安装更新)。不过安装之后,会有弹窗提示连接器是山寨云云,接着MDK就挂掉了,也就是其固件程序已丢失。针对这个问题,

(1)重新刷J-Link V8固件程序(以下操作的先后顺序不要搞错了)

1.使用USB线连接J-Link与PC机,以提供J-Link工作电源;

2. 短接ERASE(E) 的两个过孔约5秒。断开ERASE(A)位置的两个过孔的短接。然后拔掉J-Link与PC间的USB线;

3.短TST(T)的两个过孔;

4.使用USB线连接J-Link与PC机,至少超过10秒后,拔掉USB线,停止给J-Link供电(此过程中,TST(B)一直处于可靠的短接状态);

5.断开图中TST(B)处的短接

重烧固件的关键是在完成上述5各步骤后,再次连接J-Link,要确保设备管理器中驱动的状态是“未识别的设备”云云,如果已经自动安装了一个似乎是“SAM…(名字记不全了)”之类的相关驱动,统统卸掉(卸载完毕最好重启一下)。凡是不能使用SAM-PROG这个软件自动烧录固件的电脑(比如笔者的win7 64位笔记本),推荐使用sam-ba_2.14(亲测多次可用)手动烧录。由于这款软件是Atmel公司的,正如前面所述,打开这款软件连接J-Link,应确保J-Link的驱动在设备管理器中显示的是“Atmel…”(名字记不太清了,这个驱动安装前提示J-Link驱动未识别->右键更新驱动->手动浏览电脑本地更新->C:\Program Files (x86)\Atmel\sam-ba_2.14\drv(sam-ba_2.14安装目录下)->更新)。

只有正确安装了Atmel公司的相关驱动方可与sam-ba_2.14连接(打开软件,选择正确的串口,目标板一般选at91sam7s64-ek,然后点击连接)。进入软件,添加固件程序所在文件目录,点击发送即可完成固件的烧录(期间会有两次提示加密解锁之类的,总之,下载前解锁加密,下载后加密即可)。

(2)解决与STM32的MDK连接时的J-Link更新问题

方法一:简单粗暴,将J-Link驱动SEGGER安装目录中的JLinkARM.dll替换掉MDK安装目录ARM/Seggeer中的JLinkARM.dll即可(亲测可用);

方法二:J-Link重新烧录的固件需用UE或者WinHex这个软件做些修改(主要是修改S/N号,可参考https://blog.csdn.net/a86458977/article/details/46747065)。固件不修改的后果是,进入MDK设置J-Link是同样是要提醒更新J-Link驱动(没试过)。

二、使用J-Flash烧录ARM9固件程序U-Boot

首先参考韦东山使用J-Link烧录固件程序的pdf文档,确保操作步骤及配置正确(s3c2440.jflash作为J-Flash项目)。

打开J-Flash,使用J-Link连接ARM9板子,点击Target标签中的connect,然后可能会出现固件需要更新的提示。此时,若不更新则总是会出现连接超时而失败;若更新仍可能出现失败。为何会更新失败?

首先想到的可能是上文提到的需要修改固件S/N码的问题,尝试修改后,依然无果。后来想到,下载固件的过程中会弹出两个提示框,询问是否对J-Link固件加锁?那么下载的过程是需要解锁的,否则无法下载;而下在完成后,通常就加上锁避免其他程序以外修改从而破坏该固件。但是,这样也就可能导致后来更新固件的时候,无法写入新的固件的问题。想到这里,再次重刷了一遍固件程序并以解锁状态结束。之后,再次点击Target标签中的connect,同意刷新固件,便更新成功了(我猜想还有一种方法是通过修改固件的日期?因为是否提示更新,主要是依据原固件是否为最新编译日期。不过这种方法并未得到验证)。

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194040.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序:商城系列专辑(开发指南+精品Demo)

    微信小程序:商城系列专辑(开发指南+精品Demo)2019独角兽企业重金招聘Python工程师标准>>>…

    2022年6月21日
    32
  • ssdp协议介绍_wsd协议

    ssdp协议介绍_wsd协议SSDP是一个“简单服务发现协议”,即英文“SimpleServiceDiscoveryProtocol的缩写”,该协议定义了如何在网络上发现网络服务的方法。SSDP也规定了存放在XML文件中的信息格式。SSDP信息的传送是依靠HTTPU和HTTPMU进行的。不论是控制点,或是UPnP设备,工作中都必然用到SSDP,设备接入网络之后,要利用它向网络广播自己的存在(广播的信息中还有设备位

    2022年10月11日
    2
  • java有什么作用_Java有什么用「建议收藏」

    java有什么作用_Java有什么用「建议收藏」1.可以62616964757a686964616fe58685e5aeb931333431353261做WEB系统,如网站,不过做网站就有点杀鸡用牛刀了。用的最多的就是用JAVA做管理系统,很容易维护。2。可以做C/S非WEB管理系统,当然其他语言也能做到。3。可以做移动设备软件,如手机软件,MP4软件等等。4。当然你WINDOWS下做好了一个东西,拿到其他地方也能用,如LINUX,NUIX等等…

    2022年7月8日
    18
  • mysql数据库cap理论_CAP理论总结

    mysql数据库cap理论_CAP理论总结C代表Consistency,一致性,是指所有节点在同一时刻的数据是相同的,即更新操作执行结束并响应用户完成后,所有节点存储的数据会保持相同。A代表Availability,可用性,是指系统提供的服务一直处于可用状态,对于用户的请求可即时响应。P代表PartitionTolerance,分区容错性,是指在分布式系统遇到网络分区的情况下,仍然可以响应用户的请求。网络分区是指因为网…

    2022年6月15日
    88
  • Vue高阶组件_高阶组件的承上启下

    Vue高阶组件_高阶组件的承上启下目录一、高阶组件概念二、目标三、思路四、准备五、实现六、难点Reference一、高阶组件概念何谓高阶组件?类比高阶函数的定义:将函数作为参数的函数就是高阶函数,那么,将组件作为参数的组件就是高阶组件。二、目标假如我们有一个组件,我们希望通过某个函数,去扩展它,得到一个新的组件,新的组件有完全的参数组件的行为,如果这点可以满足,那么其他扩展就可以针对性的…

    2025年7月27日
    4
  • Android定时器「建议收藏」

    Android定时器「建议收藏」定时器Timertimer=newTimer();TimerTasktimerTask=newTimerTask(){@Overridepublicvoidrun(){Log.v("jiangwangli","开始运行");}…

    2022年7月25日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号