最近搞啥都有點(diǎn)不得勁,發(fā)現(xiàn)研究的東西有點(diǎn)淺,弄啥都是淺嘗輒止,點(diǎn)點(diǎn)燈,跑一下基本代碼就摸魚去了(這可能就是傳說中的舒適區(qū))。
翻了翻論壇帖子,發(fā)現(xiàn)給自己立的Flag(我的2023年計(jì)劃),現(xiàn)在還是一點(diǎn)沒動,不能再這樣頹廢下去了,就讓年末的我去完成年初的計(jì)劃吧。
先搞搞DAP,計(jì)劃使用LPC55S69或者RT1021設(shè)計(jì)一款DAPLink,計(jì)劃是高速(使用高速USBC、CMSIS-DAP V2、優(yōu)化接口時序)。然后在讓它支持離線燒錄,帶一個彩屏可以選擇固件。
先研究一下官方的程序,這里我使用的是ARM官方提供的例程,這里有兩個:
一個是DAPLink這個項(xiàng)目里面的代碼:https://github.com/ARMmbed/DAPLink。
另一個是CMSIS_5里面帶的代碼:https://github.com/ARM-software/ ... e/Examples/MCU-LINK)。
第一個是全開源的,第二個用到了keil工具里面不開源的組件,對我來說的話,還是比較喜歡使用keil的RTE環(huán)境的,就基于第二個基礎(chǔ)上開始,可以看到工程還是很簡潔。
要看懂這一個工程,首先就得搞明白keil5的RTE開發(fā)工具。Keil5的RTE框架是一種用于配置嵌入式軟件應(yīng)用程序的軟件組件。它提供了圖形用戶界面 (GUI),使開發(fā)人員可以輕松配置系統(tǒng)組件,如處理器外設(shè)、通信接口和內(nèi)存管理,而不需要手動編寫代碼。相比原來使用的標(biāo)準(zhǔn)庫或 HAL 庫的方式,Keil5 RTE 框架的優(yōu)點(diǎn)在于它簡化了開發(fā)流程,提供了一種簡單直觀的配置方法,并減少了必須手動編寫的代碼數(shù)量,可以節(jié)省時間并減少錯誤。簡單來說就是可以通過點(diǎn)點(diǎn)點(diǎn)來配置工程了。
這個代碼使用的是keil家的RTX5操作系統(tǒng),這個系統(tǒng)在國內(nèi)應(yīng)用比較少,國外使用的還是挺多的。不過一般使用它的時候都跟CMSIS-RTOS V2封裝層結(jié)合起來使用,移植是沒啥大問題,基本M內(nèi)核的芯片都能直接用RTE環(huán)境添加。
比較麻煩一點(diǎn)的是USB部分,這個代碼使用的是RTX系統(tǒng)的RL-USB組件,雖然也可以點(diǎn)點(diǎn)添加,但是組件與芯片底層的驅(qū)動文件并不是每一家的芯片都有提供,比如上圖的代碼里面,USB_LPC55xxx.c就是LPC55系列的驅(qū)動文件,如果官方?jīng)]有提供的話,就只能自己去編寫。
可以看到,并沒有驅(qū)動文件
第一篇開坑就先到這里吧,下一篇深入分析一下USB部分的配置,在論壇也混跡這么久了,也學(xué)習(xí)了好多東西,這回打算全開源,并發(fā)帖記錄完整開發(fā)流程,也算回報論壇了吧。