您尚未登录。

楼主 # 2024-07-30 17:35:28

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

请教,如何学习daplink源码?

daplink源码中,main文件在main_interface.c文件中,整个工程貌似只创建了main_task一个任务。
而main_task任务里,while循环里,主要是等待7个任务通知/消息。

 53 while (1) {
  1     flags = osThreadFlagsWait(FLAGS_MAIN_RESET // Put target in reset state
  2        | FLAGS_MAIN_90MS            // 90mS tick
  3        | FLAGS_MAIN_30MS            // 30mS tick
  4        | FLAGS_MAIN_POWERDOWN       // Power down interface
  5        | FLAGS_MAIN_DISABLEDEBUG    // Disable target debug
  6        | FLAGS_MAIN_PROC_USB        // process usb events
  7        | FLAGS_MAIN_CDC_EVENT       // cdc event
  8        , osFlagsWaitAny
  9        , osWaitForever);

reset好像是让目标板复位的;
90MS是处理usb是否连接的;
30ms是处理led灯闪烁的;
power_down好像是板子断电相关的;
disabledebug好像是设置目标退出debug状态;
proc_usb是被usb中断函数调用的;
cdc_event好像是usb转串口相关。

那么daplink的主要功能,烧录程序及硬件仿真,是在哪里完成的呢?

最近编辑记录 Gentlepig (2024-07-31 08:45:56)

离线

#1 2024-07-30 21:12:42

health
会员
注册时间: 2021-02-23
已发帖子: 28
积分: 52.5

Re: 请教,如何学习daplink源码?

daplink只是起一个接口协议转换的作用,将USB发来的命令数据通过SWD或JTAG发送出去,返回的数据再通过USB发给PC。
下载和调试功能是PC上的软件实现的。
不光是daplink,其它所有link都是这个功能。

只有如脱机下载器这类设备,会把下载算法等集成进去,可独立运行。

离线

楼主 #2 2024-07-31 08:45:08

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,如何学习daplink源码?

明白些了,谢谢。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn