
daplink
文章平均质量分 95
送南阳马生序
余之业有不精、德有不成,非天质之卑,则心不若他之专耳,岂他人之过哉!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DAPLINK 源码学习(1)BL 之 main() 函数
移植点描述sdk_init()厂商 sdk 初始化。主要用来进行时钟 RCC 的初始化led、button 初始化。USB 状态指示灯、复位按钮初始化缺省。板子信息定义。包括 daplink 名称、mcu flash/ram 信息等。原创 2024-10-22 12:00:00 · 2038 阅读 · 1 评论 -
USB 模拟 U 盘
结合 daplink 来看,根据鸭子定律,当我们通过 USB 总线协议告诉 USB 主机:插入的设备识别为 64MB U 盘,用起来像 64MB U 盘,那么它就是容量为 64MB 的 U 盘。实际上,运行 daplink 的 MCU 怎么可能有那么大的 FLASH。而且别说是 64MB,就是 64GB 也可以(需要文件系统支持),因为 daplink 只需要一次性数据,并不需要把复制到 U 盘的数据再读取出来,那么这个 DAPLINK U 盘完全就是你强任你强,清风绕山岗了。原创 2024-10-21 12:00:00 · 2272 阅读 · 0 评论 -
DAPLINK 之 RTT 输出日志
1)RTT(Real Time Transfer,实时传输):SEGGER 的 Real Time Transfer (RTT) 是一种经过验证的技术,用于嵌入式应用中的系统监控和交互式用户 I/O。它结合了 SWO(Single Wire Output)和半主机模式(semihosting)的优点,同时提供了非常高的性能。大致原理是 RTT 在 MCU 的 RAM 中使用 SEGGER RTT 控制块结构管理数据读写。原创 2024-10-15 12:00:00 · 2188 阅读 · 0 评论 -
DAPLINK 之基于 AIR32F103 制作
备注2:在烧录 bl 时,最好通过 keil 或 OpenOCD 将 mcu 的 flash 整片擦除掉,否则会因为 bl 无法校验通过而运行失败(原因呢这里先按下不表,算了,还是表了吧,就是因为 bl 运行时会校验 flash 中 app 起始地址的内容,如果不为初始值就不运行 bl)。注意:不要直接烧录,而是将 stm32f103xb_stm32f103rb_if.hex “拖拽” 到 “MAINTENANCE” 的 U 盘中,如果 hex 正常的话,该 U 盘名称将变为 “DAPLINK”。原创 2024-10-14 12:00:00 · 2194 阅读 · 0 评论 -
DAPLINK 之仿真调试器介绍
本文算是 DAPLINK 学习的一个引子,主要介绍一下各类调试器及其使用。接下来我会首先使用合宙 AIR32F103 进行复刻,然后是分析 DAPLINK 源码,最后根据学习情况来自制 DAPLINK。烧录方式:1)ISP(In-System Preogramming,在系统编程):通过 MCU 片内 BootROM 完成在板 Flash 烧写操作(1)要求芯片出厂时带有 ISP 固件程序(2)一般通过串行方式烧写,速度较慢,不适合烧写容量大的代码。原创 2024-10-11 12:00:00 · 2315 阅读 · 0 评论 -
USB 概述及协议基础
中断传输是一种保证查询频率的传输。应用场景:数据量大、对数据的实时性要求不高的场合,如大容量存储设备(Mass Storage Device,MSD)、USB 打印机、扫描仪等。应用场景:适合数据量小,但时间要求严格的设备,如从机接口设备(Human Interface Device,HID)中的鼠标、键盘等设备。不同的是,SETUP 包后只使用 DATA0 数据包,且只能发送到设备控制端点,并且设备必须接收,而 OUT 包没有这些限制。通常把工作在什么模式下的端点,就叫做什么端点,如控制端点、批量端点。原创 2024-10-10 12:00:00 · 900 阅读 · 0 评论 -
USB 鼠标的实现
说明:本文章节顺序按照 《圈圈教你学USB》 一书的学习顺序来组织,其中跳过了硬件代码相关的章节。参考:1)《圈圈教你学USB》2009 年第 1 版。原创 2024-10-10 12:30:00 · 788 阅读 · 0 评论