聚豐項目 > USB硬件加速器
通過usb接口連接主機,通過endpoint實現(xiàn)數(shù)據(jù)訪問,并在外部設(shè)備上實現(xiàn)硬件加速和加密解密的安全任務(wù)。
北方·
分享北方·
團隊成員
姚鋒 工程師
使用基于RISC-V的沁恒CH32V103開發(fā)套件、核心芯片是CH32V103R8T6最高80MHz系統(tǒng)主頻 ,片上集成 RAM 20K, Flash 64K,UART、IIC 、SPI、ADC、PWM、USB等資源。
基于MounRiver Studio(MRS) 可使用RT-Thread nano進行開發(fā)。
計劃中需要按照rt-thread移植,經(jīng)過多次嘗試,按照文檔的要求,均沒有正確完成。
主要是“../rtthread/libcpu/risc-v/common/context_gcc.S:211: Error: illegal operands `addi sp,sp,32*REGBYTES'”,這個需要在后面繼續(xù)嘗試。
核心代碼如下:
主要是通過中斷訪問中斷響應(yīng)函數(shù),實現(xiàn)USB協(xié)議的訪問
void USBHD_IRQHandler (void)
{
USB_DevTransProcess();
}
主函數(shù)如下,
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n",SystemCoreClock);
printf("USBHD Device Coder\r\n");
pEP0_RAM_Addr = EP0_Databuf;
pEP1_RAM_Addr = EP1_Databuf;
USBHD_ClockCmd(RCC_USBCLKSource_PLLCLK_1Div5,ENABLE);
USB_DeviceInit();
NVIC_EnableIRQ(USBHD_IRQn);
while(1)
{
}
}
其中加密解密算法在自定義的endpoint1和endpoint2中實現(xiàn)。
連接設(shè)備USB設(shè)備顯示設(shè)備連接成功
啟動主機Endpoint連接工具,打開設(shè)備,顯示連接成功,并且可以正確下發(fā)上傳數(shù)據(jù)
(0.47 MB)下載