<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        坎坷的STM32F103 CMSIS-DAP 調試器

        作者:網絡大牛   來源:互聯網   點擊數:  更新時間:2014年05月28日   【字體:

        以下轉自一位電子大牛的博客: http://blog.sina.com.cn/s/blog_4680937f0101srxl.html 

        我在X893的設計基礎上重新設計了STM32F103 CMSIS-DAP調試器(名字好長,應該縮寫一下:F103-DAP)。下圖為X893原版設計。

         



        與原始設計相比,我做了如下修改:

         

        • 將兩個USB改為單組USB Mini接口;
        • 提供單組2.54mm/100mil腳距SWD調試口,另購轉換配件支持50milSWD調試口;
        • 采用四組Pin Header共30Pin支持擴展,并兼容mikroBUS接口,可以用于快速原型構建;
        • 采用6Pin接口,通過SWD/UART1連接仿真MCU用于調試和ISP下載;
        • 跳針連接BOOT1,下載更加穩定;
        • 缺省低成本STM32F103C8T6(64KB),也可以焊接STM32F103CBT6(128KB);

         

        總的特性

        • CMSIS-DAP調試器,支持Keil/IAR/CoIDE和其他GCC IDE;
        • USB-HID驅動,無需安裝驅動;
        • USB-CDC,支持調試代碼;
        • 支持Cortex-M0/M0+/M3/M4/A7調試,并支持其他廠牌產品;
        • 支持mikroBUS,可以立刻獲得超過百種擴展板,構建客戶應用;
        • 支持pySWD/pyOCD等開源調試工具和編程工具。

         

         

        我昨天剛剛交給PCB廠家生產,期待首批10片樣品可以工作正常并透過Taobo/Tindie投放市場。不過這一批就是手焊的了。測試完了之后,需要優先寄給X893一片。

        繼續前文《STM32F103 CMSIS-DAP 調試器》,設計了PCB,并手動焊接了兩片,F在還未能正常工作。很遺憾。需要原設計者的協助才能夠繼續。

         

         

        硬件設計缺陷

         

        本版設計中我用臺廠RickTek LDO替代了TI的LDO,雖然都是SOT23-5封裝。但是直接替換后忘了確認5個引腳的連接。結果導致在原理圖中看上去已經連接,但實際上VIN引腳在PCB中沒有任何電氣連接。

         

        結果,不得不手動焊接了一根飛線?磥鞥AGLE的替換功能存在BUG,需要額外注意。

         

        每次元件替換后需要仔細查看連接線。

         

        手動焊接失敗率高

         

        雖然現在我已經可以手動焊接0.5mm腳距的QFP80/TSSOP20等封裝。重點是:

        • 助焊劑去除氧化層;
        • 預先在焊盤上少量焊錫;
        • 將元件對準焊盤(最重要);
        • 加熱焊盤,焊錫會自動吸附到引腳上; 

        即便如此,兩次焊接QFP,其中有一次返工;另外一次不知何故斷了一個引腳,好在只是ADC,不用也可以。

         

        手動焊接只有靠多次焊接來積累手感和經驗了。直到到達熟練工的程度。

         

        硬件調試問題

         

        我的硬件調試流程是:

        • 先焊接LDO,查看電源是否工作正常;(檢查出LDO電源問題
        • 再焊接MCU, 查看MCU是否會發熱;(5V VBUS/3V3電源工作正常)
        • 再通過ISP下載代碼,查看復位情況;(失敗,待查RX/TX,復位,BOOT0/BOOT1
        • 或者通過SWD/JTAG下載代碼,通過調試器查看MCU的晶體和GPIO的外設工作情況;(JLINK)
        • 最后連接PC,查看USB工作情況;(一個成功安裝,另外一個USB設備無法識別

         

        固件設計缺陷

         

        X893的CMSIS-DAP設備是復合設備,分別為CMSIS-DAP CDC/DCI/HID。采用Keil的USB Device協議棧。但是好像有缺陷。

         

        通過USBVIEW查出在CDC Interface里有設計四組Unknown Descriptor,結果導致HID設備根本沒有安裝。而CMSIS-DAP的主設備其實就是HID。所以Windows XP安裝后還是無法作為調試器使用。而CDC實際上也沒有測試過。

         

        有人報告過Windows XP中HID可以安裝,CDC不可以。難道XP下還有不同情況?

         

        Interface Descriptor:

        bInterfaceNumber: 0x00

        bAlternateSetting: 0x00

        bNumEndpoints: 0x01

        bInterfaceClass: 0x02

        bInterfaceSubClass: 0x02

        bInterfaceProtocol: 0x01

        iInterface: 0x03 0x0409: "CMSIS-DAP CDC"

         

        Unknown Descriptor:

        bDescriptorType: 0x24

        bLength: 0x05

        05 24 00 10 01

         

        Unknown Descriptor:

        bDescriptorType: 0x24

        bLength: 0x05

        05 24 01 03 02

         

        Unknown Descriptor:

        bDescriptorType: 0x24

        bLength: 0x04

        04 24 02 06

         

        Unknown Descriptor:

        bDescriptorType: 0x24

        bLength: 0x05

        05 24 06 00 01

         

        我準備在Linux下查看對應情況。

         

        源碼編譯問題

         

        源碼是采用MDK4.54編譯的,但是在MDK4.71下編譯大量報錯。有人報告MDK5不行,但是MDK4.72可以,我在官網上只有4.74可以下載。到時候再試一試吧。

         

        使用源碼也是主要想看看那四組未知描述符是如何出現的。

         

        以上是最近更新報告。有情況再更新。

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮