最近搞啥都有点不得劲,发现研究的东西有点浅,弄啥都是浅尝辄止,点点灯,跑一下基本代码就摸鱼去了(这可能就是传说中的舒适区)。
翻了翻论坛帖子,发现给自己立的Flag(我的2023年计划),现在还是一点没动,不能再这样颓废下去了,就让年末的我去完成年初的计划吧。
先搞搞DAP,计划使用LPC55S69或者RT1021设计一款DAPLink,计划是高速(使用高速USBC、CMSIS-DAP V2、优化接口时序)。然后在让它支持离线烧录,带一个彩屏可以选择固件。
先研究一下官方的程序,这里我使用的是ARM官方提供的例程,这里有两个:
一个是DAPLink这个项目里面的代码:https://github.com/ARMmbed/DAPLink。
另一个是CMSIS_5里面带的代码:https://github.com/ARM-software/ ... e/Examples/MCU-LINK)。
第一个是全开源的,第二个用到了keil工具里面不开源的组件,对我来说的话,还是比较喜欢使用keil的RTE环境的,就基于第二个基础上开始,可以看到工程还是很简洁。
要看懂这一个工程,首先就得搞明白keil5的RTE开发工具。Keil5的RTE框架是一种用于配置嵌入式软件应用程序的软件组件。它提供了图形用户界面 (GUI),使开发人员可以轻松配置系统组件,如处理器外设、通信接口和内存管理,而不需要手动编写代码。相比原来使用的标准库或 HAL 库的方式,Keil5 RTE 框架的优点在于它简化了开发流程,提供了一种简单直观的配置方法,并减少了必须手动编写的代码数量,可以节省时间并减少错误。简单来说就是可以通过点点点来配置工程了。
这个代码使用的是keil家的RTX5操作系统,这个系统在国内应用比较少,国外使用的还是挺多的。不过一般使用它的时候都跟CMSIS-RTOS V2封装层结合起来使用,移植是没啥大问题,基本M内核的芯片都能直接用RTE环境添加。
比较麻烦一点的是USB部分,这个代码使用的是RTX系统的RL-USB组件,虽然也可以点点添加,但是组件与芯片底层的驱动文件并不是每一家的芯片都有提供,比如上图的代码里面,USB_LPC55xxx.c就是LPC55系列的驱动文件,如果官方没有提供的话,就只能自己去编写。
可以看到,并没有驱动文件
第一篇开坑就先到这里吧,下一篇深入分析一下USB部分的配置,在论坛也混迹这么久了,也学习了好多东西,这回打算全开源,并发帖记录完整开发流程,也算回报论坛了吧。