STM32 I2C燒錄方式之實驗詳解

今天要解決的是STM32單片機如何通過I2C接口燒錄晶片。
<I2C接口燒錄晶片,特別是光模塊行業特別注重。我看網絡上資料關於此的介紹比較少,今天單獨以實驗的方式分享到大家,希望後來者看過我的文章就會操作。>

硬體準備:
      1>ST-Link-V3.

      2>NUCLEO-H562ZI.
軟體:
STM32CubeProgrammer

如下截圖:

硬體
1. I2C燒錄可以自己寫bootloader存放到Flash中,也可利用STM32晶片內部的BootLoader,本文介紹的是STM32系統內部bootloader升級片上Flash通過I2C的接口。system bootloader內部框圖算法如下:


2. 操作步驟:
     
1>短接boot0管腳到VCC,如上圖板子下方的黑色跳線。
      2>析子飛線到ST-LINK/V3:PC9-->SDA,PA8-->SCL,如上圖所示。參考文檔AN2606。
<至於為什麼是這2個管腳,文檔有說明,如下截圖>

      
      3>ST-LINK/V3接電腦<只有ST-LINK/V3才帶有I2C燒錄擴展接口>,板子通電。<此時板子已經進入systembootloader中>
     
4>先打開GUI軟體 STM32CubeProgrammer,配置如下,然後點連接:<0x65是晶片從機地址,AN2606文檔有說明,如上截圖>

         正常連接後,就可像SWD燒錄方式一樣進行。只要能正常連接上板子。GUI操作就比較簡單,在此就不必過多贅述。

 

 

      5>GUI能連接上,那麼切換到命令行的方式也是OK的。命令行操作方式如下:
          (1)先進入目錄:    C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>此目錄是軟體STM32CubeProgrammer的安裝目錄
          (2)然後運行命令:STM32_Programmer_CLI.exe -c port=I2C add=0x65 br=400 sm=fast -ob displ,
如下截圖,如果正常顯示,則會讀出內部造項字節的配置信息。

 

        

3.
燒錄文件命令:如果是bin文件要指定燒錄起始地址,燒錄結果如下截圖。<附有部分代碼與測試效果>
                       
STM32_Programmer_CLI.exe -c port=I2C add=0x65 br=400 sm=fast -w C:\Users\Logan\Desktop\ToggleLed.hex
                       STM32_Programmer_CLI.exe -c port=I2C add=0x65 br=400 sm=fast -w C:\Users\Logan\Desktop\ToggleLED.bin 0x08000000









相關參考文件請見附件。

技術文檔

類型標題檔案
硬件AN2606 Application note
操作手冊UM2237 User manual
硬件MB1404 H563ZI - Schematic
操作手冊UM2448 User manual

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論