码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Jlink烧录自动化】一台电脑连接 多个Jlink 用 J-flash批处理程序烧写多个单片机(生产批量烧录)


    项目描述

    最近一些设备需要进行预生产(小批量生产),虽然是小批量但是数量也是很多,单靠人力烧录设备比较耗费时间
    因此需要做一个烧录治具批量烧录。

    软件与物料准备

    软件

    由于设备的MCU是arm cortex M4内核,使用的是Jlink烧录因此要安装

    Segger Jlink

    在这里插入图片描述
    安装之后开J-flash
    在这里插入图片描述

    物料准备

    由于要一次烧录多个设备因此要准备

    1、多个 Jlink

    可以在某宝买
    在这里插入图片描述

    注意

    收到的Jlink要检查以下序列号是否是不同的,这一步涉及到批量烧录的宏程序

    查看序列号:
    打开J-Link Commander 在这里插入图片描述

    如果收到的Jlink序列号都有一样,要修改序列号,序列号SN修改教程
    并且将序列号标注在Jlink上,方便后续使用

    也可以自己做:

    保姆级STM32F103C8T6做USB-TypeC版J-link OB(官方数据手册,硬件设计,固件烧录,序列号SN修改)
    2、USB-HUB

    考虑到多个 Jlink连接电脑USB口可能不够用,买个拓展USB口

    3、USB自定义按键

    用于自定义快捷键,一键烧录
    在这里插入图片描述

    4、烧录治具(根据设备不同自己定制)

    烧录

    1、创建Jflash工程

    打开Jflash 设置好烧录工程并将烧录的文件也添加进去
    在这里插入图片描述
    在这里插入图片描述
    顺便验证以下是否可以正常烧录

    2、批处理程序

    提供一些参考帖子:JLink.exe JFlash.exe batch文件一键下载

    批处理代码看不懂?
    在Segger安装目录下有个Doc文件夹—Manuals-----UM08003_JFlash.pdf
    在这里插入图片描述

    打开找到这些:

    在这里插入图片描述
    在这里插入图片描述

    我用的批处理命令为:

    @ECHO OFF
    
    cd 【Jlink安装目录】(像我的安装目录是这个:C:\Program Files (x86)\SEGGER\JLink\Jflash.exe)
     -openprj【需要烧录的固件全部目录】.bin,0xC000 -usb11110002 -auto -exit
    
    IF ERRORLEVEL 1 goto ERROR
    goto END
    :ERROR
    ECHO JFlash ARM:Error
    pause
    :END
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    解释一下:
    cd 后面跟的是Jflash的安装地址
    ,0xC000 //这个是烧录起始目录
    -usb11110002 //SN为11110002的Jlink
    地下就是烧录的信息,烧录成功退出,烧录失败显示error

    注意:如果出现烧录之后设备没有重启,打开J flash工程,找到
    在这里插入图片描述
    在这里插入图片描述
    勾选以上 烧录完成之后就会 < Reset and Run >
    之后将Bat文件改一下
    在这里插入图片描述
    保存之后将后缀名改为.Bat
    双击运行。

    自定义按键

    可以将按键自定义按键的触发 改为 下载命令,或者鼠标的左键

    使用时将光标放在批处理程序上 双击两次按键 USB自定义按键解析成 鼠标双击–运行批处理程序

  • 相关阅读:
    java-net-php-python-jsp生活用品购物系统计算机毕业设计程序
    浅谈小程序开源业务架构建设之路
    java 三元运算符
    51单片机KeyWard
    信息检索与数据挖掘 | (五)文档评分、词项权重计算及向量空间模型
    MySQL第二弹
    如何将CAD的内置对话框作为当前对话框的子对话框调出
    Java - 发送 HTTP 请求的及其简单的方法模块 - hutool
    电脑重装系统 win11 怎么关闭系统软件通知
    数据类型的定义
  • 原文地址:https://blog.csdn.net/changsic/article/details/127135960
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号