加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
登录/注册
立即注册,领取新人专属福利!
  • 正文
  • 附件下载
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

DAPLink:移植DAP USB部分——五

2024/05/20
6127
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

咱们就简化流程,快快结束这个项目。

DAPLink主页:https://www.keil.com/pack/doc/CMSIS/DAP/html/index.html

看一下DAP的更新记录

可以发现在2.0.0以后采用高速的批量传输(bulk)端点完成数据交互,一般我们指DAPLinkV1与V2也主要指代这俩大版本。

v1调试器使用的是HID驱动,使用中断端点,在win8.1/win10下可以做到免安装驱动程序,但是HID虽然免驱,但速度太低。

v2调试器使用了winusb驱动,设备端在USB描述符中报告自身支持winusb特性,需要一个inf驱动文件,Win10可以免驱,走批量传输端点,速度要快很多,我们本次目标也是针对V2版本进行移植。

闲扯到此为止,感兴趣的小伙伴可以自行查阅相关资料。

首先是添加RL-USB驱动,按下图配置,可以看到RT1020还没有适配驱动接口,一会需要外部进行添加。

需要添加新的文件,主要由SDK目录跟DAP源码中得来

这是需要引入的新头文件

对USB部分进行配置,CMSIS-DAP是必须要的,帮助keil识别DAPLink

同样进行配置,我这里没有厂家码,就直接使用MCU-Link里面的数据了

编写main代码

#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "cmsis_os2.h"
#include "rl_usb.h"
#include "osObjects.h"
#include "DAP_config.h"
#include "DAP.h"

__NO_RETURN void app_main (void *argument)
{
DAP_Setup();
USBD_Initialize(0U);
USBD_Connect(0U);
while (!USBD_Configured(0U));
DAP_ThreadId = osThreadNew(DAP_Thread, NULL, &DAP_ThreadAttr);
osDelay(osWaitForever);
for (;;) {}
}

int main(void)
{
BOARD_ConfigMPU();
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitDebugConsole();

/* Just enable the trace clock, leave coresight initialization to IDE debugger */
SystemCoreClockUpdate();
CLOCK_EnableClock(kCLOCK_Trace);
osKernelInitialize();
osThreadNew(app_main, NULL, NULL);
if (osKernelGetState() == osKernelReady)
{
osKernelStart();
}
for(;;){}
}

处理一下各类报错,主要集中在DAP IO接口上,把之前的代码统统注释掉,这次不对这部分进行修改。

下载进去看看效果。

Keil里面显示也正常,因为没移植IO部分,所以没有识别到芯片

收工

代码工程

5.az158_dapLink.zip (520.37 KB, 点击下方附件下载)

当前环境

  • 5.az158_dapLink.zip
    下载

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TCAN4550RGYRQ1 1 Texas Instruments Automotive system basis chip (SBC) with integrated CAN FD controller & transceiver 20-VQFN -40 to 125

ECAD模型

下载ECAD模型
暂无数据 查看
XLH536100.000000I 1 Integrated Device Technology Inc CLCC-6, VARR
$2.1 查看
CSTCR4M00G53Z-R0 1 Murata Manufacturing Co Ltd Ceramic Resonator, 4MHz Nom, SMD, 3 PIN

ECAD模型

下载ECAD模型
$0.38 查看
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录