新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32硬件調(diào)試詳解

        STM32硬件調(diào)試詳解

        作者: 時間:2016-12-19 來源:網(wǎng)絡(luò) 收藏

          的基本系統(tǒng)主要涉及下面幾個部分:

        本文引用地址:http://www.104case.com/article/201612/341762.htm

          一、電源

          1)、無論是否使用模擬部分和AD部分,MCU外圍出去VCC和GND,VDDA、VSSA、Vref(如果封裝有該引腳)都必需要連接,不可懸空;

          2)、對于每組對應(yīng)的VDD和GND都應(yīng)至少放置一個104的陶瓷電容用于濾波,并接該電容應(yīng)放置盡量靠近MCU; 3)、用萬用表測試供電電壓是否正確。調(diào)試時最好用數(shù)字電源供電,以便過壓或過流燒壞板子。電壓最好一步一步從進線端測試到芯片供電端。

          二、復(fù)位、啟動選擇

          1)、Boot引腳與JTAG無關(guān)。其僅是用于MCU啟動后,判斷執(zhí)行代碼的起始地址;

          2)、在電路設(shè)計上可能Boot引腳不會使用,但要求一定要外部連接電阻到地或電源,切不可懸空; 三種啟動模式對應(yīng)的存儲介質(zhì)均是芯片內(nèi)置的,它們是:

          1)用戶閃存 = 芯片內(nèi)置的Flash。

          2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。

          3)系統(tǒng)存儲器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時在這個區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區(qū)。

          在每個的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在芯片復(fù)位時的電平狀態(tài)決定了芯片復(fù)位后從哪個區(qū)域開始執(zhí)行程序,見下表:

          BOOT1=x BOOT0=0 從用戶閃存啟動,這是正常的工作模式。

          BOOT1=0 BOOT0=1 從系統(tǒng)存儲器啟動,這種模式啟動的程序功能由廠家設(shè)置。

          BOOT1=1 BOOT0=1 從內(nèi)置SRAM啟動,這種模式可以用于調(diào)試。

          用JTAG口或SWD模式燒寫 選擇從用戶閃存啟動。

          用串口ISP模式燒寫程序時時選擇從系統(tǒng)存儲啟動

            

         

          三、燒寫接口

          如果要減小插座的數(shù)量,就用SWD模式的仿真,在這個模式下,如果用JLINK只要四根線就可以了,這四根線分別是:3.3V、GND、SWDIO、SWCLK

          其中

          STM32的JTMS/SWDIO接JTAG口的TMS;

          STM32的JTCK/SWCLK接JTAG口的TCK。

          如果要用ULINK2,則再加多一條“NRST”,即5條。

          這個接口你可自行定義,在使用時用杜邦線跳接或做塊轉(zhuǎn)換接口板聯(lián)接仿真器與目標板即可。

          下面是在MDK里設(shè)置的圖片:

          在燒寫時出現(xiàn)了IDCODE如圖有序列號,證明燒寫接口是好的!也就是硬件調(diào)試通了。如沒有也許焊接不過關(guān),從新加固焊接芯片。

          四、調(diào)試燒錄失敗的常見原因

          1、目標芯片沒有正確連接,不能正常工作:

          解決方法:確保目標板的最小系統(tǒng)正確連接,芯片能正常工作:VDD、VDDA及VSS 、VDDS已全部正確連接,復(fù)位電路能夠可靠復(fù)位,各復(fù)位源不互相影響。

          2、芯片內(nèi)原先燒錄的代碼影響了新的調(diào)試操作:

          芯片內(nèi)原先燒錄的代碼出錯,芯片上電運行,進入未定義狀態(tài),不能進入調(diào)試模式。芯片內(nèi)原先燒錄的代碼啟動了某些外設(shè),或者將SWJ引腳配置為普通I/O口。

          解決方法:選擇芯片的BOOT0/BOOT1引腳從RAM啟動,或先擦除芯片內(nèi)代碼。

          3、芯片已被讀/寫保護:

          調(diào)試工具不能讀寫芯片內(nèi)置的Flash。 解決方法:先使用調(diào)試工具解除芯片的讀/寫保護。

          燒寫軟件報錯問題總結(jié),后續(xù)有待完善!如有錯誤敬請指點會及時更正。



        關(guān)鍵詞: STM32 SRAM

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 中方县| 灵石县| 筠连县| 长宁县| 西宁市| 德化县| 本溪| 无极县| 三河市| 阿瓦提县| 秦皇岛市| 鱼台县| 云和县| 中牟县| 勃利县| 淮安市| 容城县| 敖汉旗| 巩留县| 丹巴县| 阿鲁科尔沁旗| 张家界市| 杂多县| 石首市| 普定县| 扶余县| 渑池县| 兴海县| 磐安县| 溆浦县| 江孜县| 兴安盟| 长沙市| 云浮市| 揭西县| 万源市| 海南省| 金坛市| 彰武县| 荃湾区| 平安县|