OpenSDA
? 飛思卡爾最新推出的調試方式OpenSDA,我早有耳聞,估計有些時髦的博友現在都已經在嘗鮮了吧,呵呵。它是作為前段時間飛思卡爾打的火熱的Kinetis L系列開發平臺Freedom的板載調試器一塊兒推出來的,前幾天還在e絡盟看到這個小板子貌似仍然賣的很火來,哈哈。關于OpenSDA我最開始曾進入了一個誤區,誤把它當作與JTAG、SWD類似的一種新的調試接口,等最近開始深入了解研究之后才恍然,所以今兒就索性為此寫篇淺談,簡單說說OpenSDA,至于具體的實際操作調試使用,改天我會再另開一篇,給大家詳細介紹一下OpenSDA的使用經驗,對此有興趣的不妨期待一下,呵呵。
??? OpenSDA,即Open-standard Serial and Debug adapter,是飛思卡爾新近推出的創新的一種嵌入式調試工具,注意它是一種調試工具而非調試接口,不過與其他類似OSBDM、Mutilink之類的仿真器不同的是,它換了一種創新的思路,即把傳統的仿真器連接PC機方式改成了更友好的方式,即以USB存儲設備的方式呈現給開發者。這樣OpenSDA插上電腦后就成為一個U盤,下載程序就像是往U盤里復制,當然文件類型只支持S19和bin格式,當然也可以通過更換固件(OpenSDA Application)與IDE集成,仿真調試目標芯片。下面為了更深入了解OpenSDA,先看看它的架構軟硬件架構:
??? 從硬件上看,OpenSDA的硬件組件很簡單,采用了自帶USB控制器的MK20DX128VFM5,作為USB device與PC主機通信,通過K20的SPI接口軟件實現JTAG/SWD協議調試仿真Target MCU,所以到頭來它仍然還是采用JTAG或者SWD接口,而不是額外增加了一種調試接口,同時類似于OSBDM,OpenSDA也支持虛擬串口通信(增加了USB CDC類的 Application)。由于自己這段時間在測試OSBDM,所以正好拿這兩者做了下對比,調試速度上OpenSDA是快上不少的,操作界面上OpenSDA也相對友好許多,不過由于OpenSDA畢竟是新推出來的,目前具體都支持哪些飛思卡爾的片子我還沒有看到相關信息,而從BOM硬件成本上來看,OpenSDA就簡單的多了,基本K20+1*74LVC125即可搞定了,而OSBDM如果按照我自己DIY的那個版本的話需要JM60+2*74LVC125+1*74LVC04+1*74LVC1T45,K20市場價目前為¥30左右,而JM60為20¥左右,所以算下來其實價格差不多,只不過OSBDM支持飛思卡爾全系列MCU,當然這個其實沒有可比性,哈哈,因為目前我只看到了在Freedom的板子上加了OpenSDA,估計等到支持其他系列的時候硬件成本和板子的復雜性也該上去了,所以此次對比純屬娛樂娛樂,嘿嘿~
??? 從軟件上看,OpenSDA包括兩部分,一個是以USB存儲設備枚舉形式的Bootloader,一個是一套實現具體功能的Applications(注意是-s復數形式,呵呵)。Bootloader模式,以fat16文件系統格式的U盤形式存在(Windows下卷名為BOOTLOADER),里面包含了一些必要文件,以提供信息,實現Application的導入后者更新那就更簡單了,類似于我們平常的拷貝文件,把相應功能的Application文件(S19、bin類型)拖到BOOTLOADER下的U盤根目錄下即可,下圖為OpenSDA軟件構架,注意左邊的Applications同時只能有一種實現:
??? 左圖所示有六個Applications,這里我就挑我們平時最常用的兩個Application固件簡單說說(什么應用最常用呢,呵呵,當然一個是下載,一個是調試了),一個是MSD Programmer,一個是P&E Open Debug,而且這兩個應用固件可以從P&E官方下載到http://www.pemicro.com/opensda/index.cfm:
(1)MSD Flash Programmer
??? 利用Bootloader更新該應用的話(MSD Flash Programmer),OpenSDA會類似于Bootloader一樣,另外再虛擬枚舉一個USB存儲設備(FAT16文件系統,對KL的Freedom平臺來說,虛擬的卷名為FRDM-KL25Z),其實就是相當于把目標芯片內部的Flash虛擬成U盤了(個人覺著這個想法真的很NB,實現起來真的不難,難的是想出這個Idea),而對目標芯片的flash編程就可以利用簡單的把S19或者bin文件拖到該U盤下實現了,灰常簡單方便啊有木有,這個應用最大的好處是淘汰了上位機編程軟件,這點來看我真是有點敬佩飛思卡爾的工程師了,極大的方便了開發者。
(2)P&E Debug Application
??? 這個是P&E開發的調試應用固件,上面的Programmer只是簡單的燒寫flash,而如果我們想要配合IDE集成開發環境來仿真調試的話,那就得用到這個固件了,另外該固件也附加了USB CDC類的實現,方便實現虛擬串口功能。目前該固件支持的IDE版本為Codewarrior 10.3及以上,IAR for ARM 6.40.3及以上,Keil MDK 4.54(需要下載P&E補丁)及以上,當然最新的P&E推出的一些軟件肯定也是支持OpenSDA的了,哈哈,很強大啊有木有~
??? 呵呵,本篇本來打算是“淺談”,結果還是沒有收住,啰嗦了一堆。我看目前網上關于OpenSDA的中文資料比較少,所以這次就當是普及下知識面了,個人覺著OpenSDA是以后的一個發展方向,所以現在多了解了解會有好處的,下次我會詳細說說OpenSDA的使用方法,敬請期待。好了,不多說了,下次再聊,未完待續,歡迎投票,謝謝~
總結
- 上一篇: Tkinter 常用控件复选框
- 下一篇: 杭州亲历重要时间点记录