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…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
