聚丰项目 > USB硬件加速器
通过usb接口连接主机,通过endpoint实现数据访问,并在外部设备上实现硬件加速和加密解密的安全任务。
北方·
分享北方·
团队成员
姚锋 工程师
使用基于RISC-V的沁恒CH32V103开发套件、核心芯片是CH32V103R8T6最高80MHz系统主频 ,片上集成 RAM 20K, Flash 64K,UART、IIC 、SPI、ADC、PWM、USB等资源。
基于MounRiver Studio(MRS) 可使用RT-Thread nano进行开发。
计划中需要按照rt-thread移植,经过多次尝试,按照文档的要求,均没有正确完成。
主要是“../rtthread/libcpu/risc-v/common/context_gcc.S:211: Error: illegal operands `addi sp,sp,32*REGBYTES'”,这个需要在后面继续尝试。
核心代码如下:
主要是通过中断访问中断响应函数,实现USB协议的访问
void USBHD_IRQHandler (void)
{
USB_DevTransProcess();
}
主函数如下,
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中实现。
连接设备USB设备显示设备连接成功
启动主机Endpoint连接工具,打开设备,显示连接成功,并且可以正确下发上传数据
(0.47 MB)下载