STM32Cube Tool Introduction-2
Preface 上篇章針對STM32CubeMX做完介紹後,這章節會進入程式編譯CubeIDE與燒入方式CubeProgram做深入介紹 STM32CubeIDE 網路資源主要撰寫主要以MDK與CubeIDE為大宗,這邊以CubeIDE為主軸介紹。第一步來先介紹基本介面如下圖 黃框:設定欄列表,主要最常使用到的是甲蟲符號的Debug與播放按鍵的燒入扭 紅框:為已開的專案型態 藍框:為程式編輯視窗 綠框:在程式燒入後可以去跑RAM等使用比率但非Stack/Heap Debug mode 這邊進入到Debug mode時候,可以看到分成3大區塊,最左手邊是可以看到目前程式運行到哪邊詳細確認,右邊眼鏡EXP位置可以即時去監控目前內部變數的狀況,中間程式區塊就是目前跑到的涵式區域。紅框區域是主要用在程式執行下一步或停止Debug mode,而黃色區塊跟一般程式一樣可以設定斷點 STM32CubeProgram 目前CubeProgram主要是用到是在於燒入與option byte setting,在於配置Flash等等是一個相對方便的軟體,下面可以看一下基本操作介面這邊注意一般ST給的公版都會支援ST-LINK,如果要使用SPI與I2C燒入等等就需要使用ST官方的ST-LinKV3 紅框:連接或燒入方式選定方式 黃框:燒入設定與實際燒入使用 橘框(OB):option byte setting 藍框:擦拭全部記憶體位置 中間區塊是顯示Flash位置與資料,且快按滑鼠左鍵2下可以直接修改內部數值 在燒入部分可以看到上圖,主要設定3個區塊 綠框:首先選擇要燒入的檔案,這邊可以選擇Bin檔或Hex檔 藍框:設定燒入的起始位置(一般是使用到雙Bank或切割APP才會需要設定此位置一般不特別設定) 紅框:開始燒入 下圖我們可以來看到Option Bytes設定(STM32與STM8最大不同在於Option Bytes已不會再額外生成檔案,因此再批量燒入時都會用Command line形式燒入) 上圖比較需要注意的設定是Read out Protection與User Configuration,這邊RDP一般是設定AA,設定BB可以防阻由外部程式讀取內部程式。但這邊切記如果CC是不可逆,一但切成CC燒入MCU就等同燒斷,無法在讀取與燒入其他程式。PS:這邊設定BB切回AA時,會觸發Flash資料全部擦除,因此設定BB就不用怕程式被盜取在User Configuration最常被使用到是Boot0/Boot1與IWDG設定,這邊每顆MCU在此區況設定都會有些許不同需詳細閱讀其reference manual更動Option Bytes時切記中途不要斷電(會導致系統錯誤可能會使Option Bytes錯亂無法復歸),等修改完成後在斷電重新上電,讓系統確實吃到新的設定 STM32CubeProgram Command Line 這邊ST有給予2種版本可以開啟CubeProgram,其中CLI開啟如下圖,可以在Bin的資料夾中找到指令部分可以參考ST官網UM2237文件,這邊提供一個當設定IWDG設定出錯無法在正常修改Option Bytes時的解法(以G031為例) .\STM32_Programmer_CLI.exe -c port=swd mode=UR -ob rdp=1 //RDP 設定為level1 (0xBB) .\STM32_Programmer_CLI.exe […]
STM32Cube Tool Introduction-2 Read More »