DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
作者
风陵:
github:https://github.com/ForlingTec
CSDN:https://blog.csdn.net/weixin_42518229
化作尘:
https://blog.csdn.net/mbs520
一、产品介绍
该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB HUB、CPLD芯片,集成了DAPLink V2 & STLink V2 & JLink V9.7 & CDC虚拟串口/USB转串口四合一功能,硬件匹配选择的调试器并自动切换输出信号,无需重复更换固件和调试器,真正做到一机多用。
二、产品说明
- 采用沁恒CH334P USB HUB全速率USB2.0集线器,使得同时支持DAPLINK、STLINK、JLINK、USB to USART(默认不焊接)连接
- 独立3.3V 500mA的LDO稳压电源输出,为目标板提供稳定电源
- 三大调试器共用一个外部接口,通过CPLD(AG1280Q48)智能检测并切换信号输出
- 默认自带CDC虚拟串口,也可外接USB转串口芯片(CH340E),默认NC
- USB、外部输出接口均连接了静电管,避免静电损坏硬件
- PCB采用4层双面布局,紧凑整洁,外壳体积小巧,仅40 × 40 × 13mm,外观简洁
- 使用9P MX2.54带锁扣连接线,并附带清晰的信号标识,不用担心连接不牢固、信号连接错误
- 每个调试器都有单独的状态指示灯,让用户对产品所处的状态一目了然
三、硬件框图

四、产品使用

安装完JLINK、STLINK等驱动,一般常用的KEIL/IAR等常用IDE会集成这些驱动程序,插入TYPE-C线,设备管理器显示以下新增设备

其中在KEIL中,将调试器与板子正常连接,选择调试器类型,会正常识别目标芯片(图中连接的芯片为STM32G0系列),如下图

五、产品外观




六、软硬件设计
STLINK、JLINK均基于立创开源广场已有项目整理而来,DAPLINK基于合宙DAPLINK项目https://wiki.luatos.com/chips/air32f103/daplink.html整理得到。
硬件原理图与PCB工程按照模块划分,分POWER、USB HUB、STLINK、DAPLINK、JLINK、CPLD、PORT共7大模块组成。
软件设计主要是AG1280Q48这颗CPLD对信号的识别与处理,负责检测并切换当前有效的调试器,起到信号路由的作用。
CPLD软件工程用的是Quartus II + Supra混合开发,详情请查看AGM遨格芯官网:http://www.hizyuan.com/ProductDetail/2467472.html
七、固件烧录
需要连接TYPE-C线对硬件进行供电,推荐使用STLINK+STM32CubeProgrammer进行下载
STM32CubeProgrammer加载bin文件,文件路径不能含有中文
固件下载接口如下:详情请查看原理图与PCB

STLINK

DAPLINK

JLINK

CPLD
-
用Supra打开软件工程,点击左上角的“file - project - open project - AG1280.proj”,然后点击倒数第二个图标“program into device”打开烧录界面

-
将USB-blaster按照原理图上的信号连接好,按照以下步骤烧录CPLD固件

八、固件升级、License
步骤七烧录完固件后,重新插拔USB,这时候windows设备管理器就可以正常识别出设备了,可以查看**<<四、产品说明>>**的图片
STLINK
因为步骤七烧录的STLINK的固件很旧,需要用STM32CubeProgrammer更新固件。
1、重新打开STM32CubeProgrammer软件,进入固件升级界面

2、点击“Open in update mode”进入升级模式,识别到版本信息后点击“upgrade”升级按钮,等待升级完毕

JLINK
注意事项:JLINK驱动不能用V7.58以上版本,因为修复了盗版的BUG,容易掉固件,推荐用V7.2a及以下驱动版本
烧录的JLINK固件仅仅是bootloader引导程序,需要用JLINK commander命令行先更新App固件,然后再添加license许可证,步骤如下:
-
运行"jlink_license_creator.exe"程序
-
如果没有“JLink_V6.32b.exe”、“JLinkARM.dll”这两个文件,直接点击“打开JLINK”按钮生成
-
选择硬件版本,推荐用JLINK V9.7
-
点击“生成”按钮,生成License SN号

-
运行“JLink_V6.32b.exe”程序,这时候会更新JLINK App固件,更新App完毕后将生成的S/N号和命令分别一条一条添加进去

-
重新插拔USB,并重新打开“JLink_V6.32b.exe”程序,识别到以下信息

九、链接
bilibi哔哩哔哩:
GitHub:https://github.com/ForlingTec/STLINK_JLINK_DAPLINK_Debugger.git
CSDN:https://blog.csdn.net/weixin_42518229?spm=1000.2115.3001.5343
淘宝:https://item.taobao.com/item.htm?id=742546183124

相关文章:
DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
作者 风陵: github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘: https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB H…...
使用PyTorch处理多维特征输入的完美指南
💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…...
萝卜刀玩具上架亚马逊CPC认证测试标准
含铅或含铅涂料儿童产品的要求 分阶段限制儿童产品所有部件的铅含量,要求在3年内将产品任何可接触部件的铅含量限制从不超过重量的600ppm(0.06%)降至不超过重量的100ppm(0.01%)。 铅含量限值(总铅含量占重…...
阶段六-Day03-MyBatis
一、框架介绍 1. 框架的作用 将许多项目封装起来,形成了框架 2. 框架的优缺点 1. 优点 1.1 更好用 框架都是对Java原生内容进行的封装,对于企业级项目开发来说,使用框架比使用原生Java更好用,写起来更简单。 1.2 更强大 框架封装过程…...
探索RPA流程自动化在不同行业的应用案例
随着数字化的推进,企业建设了大量的业务系统,跨系统的业务流程越发复杂,业务孤岛、 流程孤岛、数据孤岛也随之出现,产生了大量需要人工执行的重复性系统操作流程。而使用RPA能将员工从大量的、重复的、高耗时的工作中解放出来&…...
解决gpedit.msc命令无法打开的问题
【win11家庭版】解决gpedit.msc命令无法打开的问题 本地组策略编辑器 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\…...
一大突破!清华大学研制出首颗忆阻器存算一体芯片
这几天清华大学又火出圈了。但这次并不是因为招生抢人和饭堂,而是清华大学的芯片研发团队研制出全球首颗全系统集成的存算一体芯片。这是我国、乃至全世界对半导体行业的又一重大突破。 这个芯片由清华大学集成电路学院教授吴华强副教授高滨团队基于存算一体计算范…...
JUC的线程池架构
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
PostgreSQL limit 语法
PostgreSQL limit 语法 LIMIT 是 PostgreSQL 中用于限制查询结果数量的关键字。其语法如下: SELECT column1, column2, ... FROM table_name LIMIT number_of_rows;其中,SELECT 语句用于指定要查询的列和数据表,LIMIT 用于指定查询结果的行…...
CUDA C编程权威指南:2.1-CUDA编程模型
本文主要通过例子介绍了CUDA异构编程模型,需要说明的是Grid、Block和Thread都是逻辑结构,不是物理结构。实现例子代码参考文献[2],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.Grid、Block和Thread间的…...
两条记录合并成一条记录
两条记录合并成一条记录 两条记录 val4,type_idlevel 和 val6,type_idtypeId 合并成一条记录 level4,typeId6 可以使用 条件聚合语句 CASE WHEN … 和 MAX 函数来实现。假设有以下 my_table 表: --------------------- | id | val | type_id | --------------…...
vue3 + typescript + vite + naive ui + tailwindcss + jsx 仿苹果桌面系统
基于 vue3.x typescript vite naive ui tailwindcss jsx vue-router pinia,项目使用 tsx 作为模版输出,全程没有使用vue提供的SFC, 仿macos桌面前端项目,开源免费模版,希望减少工作量和学习新技术,希…...
揭秘,用软件一秒识别纸质表格数字,找到你想要的一串数字
要将纸质表格的数字快速用软件识别并找出特定的一串数字,以下是三种常用的方案: 方案一:使用OCR软件识别和搜索功能 1. 扫描纸质表格并保存为图像或PDF格式。 2. 使用OCR(光学字符识别)软件,如金鸣表格文字…...
解析图片文件格式
图片文件幻数 关于JPEG格式 二进制形式打开文件,文件开始字节为FF D8,文件结束两字节为FF D9 JPEG 文件有两种不同的元数据格式:JFIF 和 EXIF。 JFIF 以 ff d8 ff e0 开头,EXIF 以 ff d8 ff e1 开头。 代码示例 private static…...
新的“HTTP/2 快速重置”零日攻击打破了 DDoS 记录
自 8 月份以来,一种名为“HTTP/2 快速重置”的新 DDoS(分布式拒绝服务)技术已被作为零日漏洞积极利用,其规模打破了之前的所有记录。 Amazon Web Services、Cloudflare 和 Google 今天联合发布了有关零日技术的消息,他…...
现代化战机之路:美国空军U-2侦察机基于Jenkins和k8s的CI/CD架构演进
▲ 点击上方"DevOps和k8s全栈技术"关注公众 华为北京研究所Q27大楼 随着技术的不断进步,军事领域也在积极采纳现代化工具来提高战备水平和效率。美国空军的U-2侦察机项目是一个鲜明的例子,它成功地借助Jenkins和Kubernetes(k8s&…...
Linux中常用的软件:Squid
在Linux系统中,有许多不同的代理软件可供选择。本文将比较两个常用的代理软件: Squid。我们将介绍它们的特点、使用场景和优缺点,帮助您选择适合自己需求的代理软件。 - 支持多种加密协议,包括AES、ChaCha20和RC4等,可…...
Ali MaxCompute SDK
ALI MC 文件读写 public abstract BufferedInputStream readResourceFileAsStream(String var1) throws IOException;LocalExecutionContext.java Overridepublic BufferedInputStream readResourceFileAsStream(String resourceName) throws IOException {try {return wareHou…...
解决element中table在页面切换时候表格底部出现空白
activated(){ this.$refs.table.doLayout() } activated()是Vue中一个很重要的生命周期函数,它是在组件大概率会被复用时调用的。当组件被复用时,原来的组件的数据和状态必须得到保留。activated()函数能够保持组件在别处被活化时的状态数据。 activat…...
Vue中对路由的进阶学习
路由进阶 文章目录 路由进阶1、路由的封装抽离2、声明式导航2.1、导航链接2.2、高亮类名2.3、跳转传参2.4、动态路由参数可选符 3、Vue路由--重定向4、Vue路由--4045、Vue路由–模式设置6、编程式导航6.1、基本跳转6.2、跳转传参 路由基础入门 1、路由的封装抽离 问题&#x…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
