加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

DAPLink:移植DAP USB部分——五

05/20 17:26
4987
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

咱們就簡化流程,快快結束這個項目。

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

看一下DAP的更新記錄

可以發(fā)現(xiàn)在2.0.0以后采用高速的批量傳輸(bulk)端點完成數(shù)據交互,一般我們指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里面的數(shù)據了

編寫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接口上,把之前的代碼統(tǒng)統(tǒng)注釋掉,這次不對這部分進行修改。

下載進去看看效果。

Keil里面顯示也正常,因為沒移植IO部分,所以沒有識別到芯片

收工

代碼工程

5.az158_dapLink.zip (520.37 KB, 點擊下方附件下載)

當前環(huán)境

  • 5.az158_dapLink.zip

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據手冊 ECAD模型 風險等級 參考價格 更多信息
ASEMPLV-100.000MHZ-LR-T 1 Abracon Corporation MEMS OSC XO 100.0000MHZ LVDS SMD
$4.89 查看

相關推薦

電子產業(yè)圖譜