回覆列表
  • 1 # 蘇更宇

    這裡我們以 JLINK V8 為例,說說如何線上除錯 STM32F4。

    首先,用 JLINK 進行下載與除錯,大家要在硬體上,把 JLINK 用 USB 線連線到電腦 USB和板子的 JTAG 介面上。

    JLINK V8 的驅動安裝比較簡單,我們在這裡就不說了。在安裝了 JLINK V8 的驅動之後,我們接上 JLINK V8,並把 JTAG 口插到 STM32 開發板上,開啟之新建的工程,點選 魔術棒按鈕,開啟 Options for Target 選項卡,在 Debug 欄選擇模擬工具為 J-LINK/J-TRACE Cortex

    我們還勾選了 Run to main(),該選項選中後,只要點選模擬就會直接執行到 main 函式,如果沒選擇這個選項,則會先執行 startup_stm32f40_41xxx.s 檔案的 Reset_Handler,再跳到main 函式。然後我們點選 Settings,設定 J-LINK 的一些引數,如圖

    我們使用 J-LINK V8 的 SW 模式除錯,因為我們 JTAG 需要佔用比 SW 模式多很多的 IO 口,而在 ALIENTEK miniSTM32 開發板上這些 IO 口可能被其他外設用到,可能造成部分外設無法使用。所以,我們建議大家在除錯的時候,一定要選擇 SW 模式。Max Clock,可以點選 Auto Clk 來自動設定,圖 4.3.2 中我們設定 SWD 的除錯速度為 10MHz 或者 5MHz,這裡,如果你的 USB 資料線比較差,那麼可能會出問題,此時,你可以透過降低這裡的速率來試試。單擊 OK,完成此部分設定,接下來我們還需要在 Utilities 選項卡里面設定下載時的目標程式設計器,如圖

    這裡 MDK5 會根據我們新建工程時選擇的目標器件,自動設定 flash 演算法。我們使用的是STM32F407ZGT6, FLASH 容量為 1M 位元組,所以 Programming Algorithm 裡面預設會有 1M 型號的 STM32F4xx FLASH 演算法。 特別提醒: 這裡的 1M flash 演算法,不僅僅針對 1M 容量的STM32F4,對於小於 1M FLASH 的型號,也是採用這個 flash 演算法的。最後,選中 Reset and Run選項,以實現在程式設計後自動執行,其他預設設定即可。設定完成之後, 如圖 3.4.2.4 所示。在設定完之後,點選 OK,然後再點選 OK,回到 IDE 介面,編譯一下工程。 接下來我們就可以透過 JLINK 下載程式碼和除錯程式碼。配置好 JLINK 之後,使用 JLINK 下載程式碼就非常簡單,大家只需要點選 LOAD 按鈕就可以進行程式下載。下載完成之後程式就可以直接在開發板執行。如圖

  • 中秋節和大豐收的關聯?
  • 鼻頭上長斑怎麼辦?