论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710
本章节介绍一下RL-USB协议栈,让大家对RL-USB有一个整体的了解。
3.1 初学者重要提示
3.2 RL-USB系统特色
3.3 USB Device资源需求
3.4 USB Host资源需求
3.5 RL-USB优势
3.6 总结
USB Device整体内存需求如下:
系统栈就是xxx.S启动文件里面定义的Stack大小,以H743为例就是:startup_stm32h743xx.s。在RTX5系统下,主要供中断服务程序的局部变量和中断嵌套使用。由于USB Device要用到USB中断服务程序,且需要最大512字节的RAM。所以大家配置的stack大小要大于512字节:
RL-USB的Device内核要占用一个任务,然后每创建一个HID类,MSC类,CDC类,ADC类或者自定义类都需要单独占用一个任务。每种类的任务栈需求如下:
注:小写字母n范围1-15,表示例化的类个数,每个例化都要占用一个任务。
使用RL-USB Device的HID类需要使能RTX5的定时器组。
每种类需要的信号量数如下:
注:每个USB端点要用一个信号量。对于自定义类,如果用到了一个输入端点和一个输出端点,那么还需要额外占用两个信号量。
USB Host整体内存需求如下:
系统栈就是xxx.S启动文件里面定义的Stack大小,以H743为了就是:startup_stm32h743xx.s。在RTX5系统下,主要供中断服务程序的局部变量和中断嵌套使用。由于USB Device要用到USB中断服务程序,且需要最大512字节的RAM。所以大家配置的stack大小要大于512字节:
RL-USB的Host内核要占用一个任务,然后每创建一个HID类,MSC类,CDC类或者自定义类都需要单独占用一个任务。每种类的任务栈需求如下:
注:对于外挂MSC设备,如果同时使用了文件系统RL-FlashFS,那么应用任务最小需要1536字节。另外官方手册没给出MSC类任务的栈需求。
USB Host需要用到RTX5的定时器组。
每个例化需要占用一个信号量。
每个例化需要占用一个互斥信号量。
RL-USB的最大优势就是简单易用,创建各种类和USB复合设备都可以通过MDK RTE环境一键添加:
一键添加后,配置也十分方便:
本章节就为大家讲解这么多,主要目的是想让大家对RL-USB有一个整体的认识,从下一章我们就开始正式的进入RL-USB的学习。