在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

新一代燒寫工具:STM32 Cube Programmer

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:STM32 ? 2020-12-24 17:26 ? 次閱讀

STM32CubeProgrammer(STM32CubeProg)是STM32微控制器的專用編程工具。 STM32用戶都知道,當完成程序調試,需要對芯片進行程序代碼燒錄編程,一般會有三個選擇:

通過調試接口【JTAG/SWD】來燒寫程序,一般要使用STLink Utility或STVP工具軟件來完成;

通過UART接口來燒寫程序,需要下載基于PC端的flash 燒錄工具軟件STM32 Flash loader demonstrator配合;

通過USB接口來燒寫程序,需下載USB DfuSe工具軟件來實現。

2017年底,ST推出了多合一燒錄工具STM32CubeProgrammer,以其高集成度支持上述三類編程接口,還兼具其它更多功能。 STM32CubeProg不斷迭代,至2020年10月,更新至最新版STM32CubeProgrammer2.5.0(點擊即可下載),增添更多新功能。

STM32CubeProgrammer 主要功能

STM32Cube 軟件家族中的 STM32CubeProgrammer 是 STM32 MCU 專用編程工具。它支持通過STLink的SWD/JTAG調試接口對STM32 MCU的片上存儲器進行擦除和讀寫操作;或者通過UART,USB, I2C,SPI,CAN通信接口,利用出廠時固化在芯片內部的系統bootloader,對STM32 MCU的片上存儲器進行擦除和讀寫操作。

這里需要說明的是STLink v2僅支持通過UART和USB通信接口對片上存儲器進行操作,而STLink v3增加了SPI,I2C和CAN通信接口的支持。除此以外,STM32CubeProgrammer 還可以操作STM32 MCU的選項字節和一次性可編程字節。通過 STM32CubeProgrammer 提供的或者自己編寫的外部 external loader,還可以對外部存儲器進行編程。 STM32CubeProgrammer 提供了圖形化和命令行兩種用戶界面。此外,STM32CubeProgrammer 還提供了C++ API, 用戶可以將 STM32CubeProgrammer 的功能集成到自己所開發的PC端應用中。

▲STM32CubeProg的圖形化界面 圖形化用戶界面如上圖所示,在右側的配置區域,用戶可以選擇通過STLink調試接口,或者USB、UART等通信接口連接到STM32微控制器。連接到STM32 微控制器后,在“Device information”區域可以看到當前MCU的型號,版本和Flash大小等信息。如果連接的是ST官方的開發板,還會顯示該開發板的名稱。

那么,這里顯示的信息都是來自哪里呢?其中“CPU“型號,也就是內核型號,從內核的CPUID 只讀寄存器讀得,該寄存器的說明在各個芯片系列對應的編程手冊中可以查到,比如STM32F7對應的編程手冊PM0253;芯片型號”Device ID“和芯片版本”RevisionID”分別來自STM32MCU的DBGMCU_IDC只讀寄存器中的Device ID字段和Revision字段。

Flash大小“Flash size”的值,可以從系統Flash的Flash size只讀寄存器中讀到。這些寄存器的說明都可以在各個芯片系列對應的參考手冊中的“調試支持”和“設備電子簽名”章節找到,比如STM32H743的參考手冊RM0433。開發板名稱“Board”對應的信息,存儲在板載的STLink中,所以只有用ST開發板自身板載的STLink進行連接時才能看到這個信息。

在STM32CubeProgrammer最左側一欄可以在不同的功能標簽頁之間切換,進行不同的操作。

接下來,我們會對STM32CubeProgrammer的主要功能進行介紹,關于STM32CubeProgrammer的具體操作步驟,請參考”UM2237-STM32CubeProgrammer軟件工具介紹”。 片上擦除和讀寫STM32CubeProgrammer支持按扇區對Flash進行擦除和全片擦除。可以導入多種格式的執行文件進行燒錄,支持的文件格式有:二進制文件(.bin),elf文件(.elf,.axf,.out),hex文件(.hex)和摩托羅拉的S-record文件(.srec)。

擦除操作

通過STLink與目標MCU建立連接后,在“Erasing&Programming”頁面下,可以按扇區對flash進行擦除,或者選擇“Fullchiperase”按鈕,進行全片擦除。

燒錄操作

在“Erasing&Programming”頁面下,點擊“Browse”按鈕導入可執行文件,然后點擊“StartProgramming”進行燒錄。 也可以在“Memory&fileedition”頁面下,打開要燒錄的可執行文件,然后點擊“download”進行燒錄。 在“Memory&fileedition”的“Device Memory”頁面下,還可以讀出當前指定地址范圍的MCU存儲器值,并通過“SaveAs”菜單將讀出的內容保存為二進制文件(.bin), hex文件(.hex)或S-record文件(.srec)。

除了前面介紹的燒錄整個可執行文件的方式以外,還可以在“Memory&fileedition”的“Device Memory”頁面下直接修改某個地址的值,”回車”后STM32CubeProg會自動完成讀出-修改-擦除-回寫的操作。對于一次性可編程(OTP)字節就可以通過這種方式進行編程。

選項字讀寫點開OB頁面后,可以看到當前所連接MCU的選項字的設定情況。用戶可以在這里修改選項字的值。具體選項字的說明,請參考對應MCU的參考手冊。

“二合一”燒錄使用 “Erasing&Programming” 頁面下的“二合一”燒錄模式,可以在一次操作中完成FLASH和選項字的燒錄工作。選項字的配置使用STM32CubeProgrammer命令行的 “-ob” 命令。

舉例說明,現在要在燒寫完Flash后,設置讀保護為level1。可以按以下步驟先進行設置:

設置好要下載的可執行文件路徑

勾選 “AutomaticMode” 下的 “Fullchip erase” 和 “Downloadfile”

在 “Optionbytes commands”的輸入框中輸入:“-ob rdp=0xBB”

然后點擊 “Start automatic mode” ,STM32CubeProgrammer就會開始按順序執行上述的操作,同時在Log窗口顯示整個執行的過程和進度。 關于選項字命令 “-ob”的格式說明,可以參考UM2237(用戶手冊STM32CubeProgrammer軟件工具介紹)的3.2.15章節。

但“-ob”命令中OptByte字段的定義在UM2237中沒有說明,可以有兩種方法來查詢:一種是通過STM32CubeProgrammer圖形界面下“Optionbytes”標簽頁中的“Name”一欄的名稱,因為“-ob”命令中OptByte字段的定義與這里是一致的;還可以通過“-ob displ”命令來顯示當前所有的選項字配置,從而也就可以知道各個OptByte字段的定義了。

外部存儲器讀寫如果想要對通過SPI,FMC,QSPI等接口連接到STM32的外部存儲器進行讀寫操作,就需要一個external loader。

CubeProgrammer默認提供了STM32開發板上集成的外部存儲器對應的external loader。 用戶如果使用了其他型號的存儲器,也可以自己生成external loader文件(*. stldr),詳細操作請參考UM2237的第2.3.3章節。 在對外部存儲器進行操作前,必須先在 “External Loader” 頁面下,選擇對應的external loader,該external loader會在接下來對外部存儲器的操作中用到。

然后就可以在 “Erasing&Programming” 頁面和 “Memory&fileedition” 頁面下進行擦除和燒寫的操作了。 BootloaderSTM32MCU出廠時,內部的系統memory就已經燒好了bootloader,提供通過USART,USB,I2C,SPI,CAN等接口更新片上Flash的功能。

不同STM32MCU型號支持的bootloader接口有所不同,具體可以參考應用手冊AN2606。STLink v2或者STLink v3提供了從USART,USB,I2C,SPI和CAN等通信協議到USB的橋接接口,STM32MCU可以通過STLink v2或者STLink v3與PC端建立連接。而STM32CubeProgrammer則提供了PC端的操作界面,可以通過bootloader對片上Flash進行擦除和燒錄。

STLinkv2只提供了USART和USB兩種通信接口,而STLink v3增加了I2C,SPI和CAN通信接口的支持。ST原來提供有兩個獨立的PC端軟件:“STM32Flash loader demonstrator”和“Dfuse Demo”,分別支持USARTbootloader和USBDFU功能,現在只需要使用STM32CubeProgrammer一個軟件就可以支持所有這些通信接口了。 SWO信息輸入窗口我們在做開發的時候,經常會需要輸出一些調試信息。

常用的方法就是通過重定向printf到串口來進行打印,這種方法需要占用一路串口。還有一種方法就是將printf重定向到SWD調試接口的SWO口,通過SWO來輸出調試信息。STM32CubeProgrammer的SWV窗口可以顯示SWO發送的調試信息,并且可以將所有接收到的信息保存在指定的“.log”文件中。

命令行界面STM32CubeProgrammer提供命令行界面,可以通過執行指令的方式實現大部分STM32CubeProgrammer的功能。

STM32_Programmer_CLI.exe 可執行文件在 STM32CubeProgrammer 安裝路徑下的 bin 文件夾下,執行 STM32_Programmer_CLI.exe 可以看到所有支持的指令及參數說明。 命令行界面還提供了一些在圖形化界面不具備的功能,例如:創建可信任包,安全燒錄,計算 CRC 值等功能。詳細說明請參考UM2237。 圖中舉了一個通過SWD接口連接目標芯片并設置讀保護級別1的例子,通過 “-c” 指令先與目標芯片建立連接,再通過 “-ob” 指令修改讀保護的級別,完整的命令行指令為:STM32_Programmer_CLI.exe-c port=SWD -ob rdp=0xBB。

STLink固件更新將STLink調試器連接到電腦后,打開STM32CubePorgrammer,刷新STLink連接就可以看到當前STLink的固件版本。點擊 “Firmwareupgrade” 按鈕,打開STLinkUpgrade工具可以對STLink固件版本進行更新。

STM32CubeProg 相關資源

如何找到STM32CubeProg

如上圖,在瀏覽器地址欄中輸入www.st.com/stm32cube,可以直接打開STM32Cube的主頁面。以這個頁面作為入口可以快速地找到STM32Cube生態系統下的所有軟件工具和軟件包,STM32CubeProgrammer也在這其中。 此外,直接在搜索欄搜索關鍵字“STM32CubeProg”也可以找到STM32CubeProg的主頁面。在STM32CubeProgrammer頁面的Overview標簽頁下有對STM32CubeProgrammer的介紹以及下載鏈接,在Documentation標簽頁下可以找到其相關的文檔。

用戶手冊及應用筆記UM2237 用戶手冊《STM32CubeProgrammer軟件工具介紹》:本文檔為通用文檔,面向所有STM32產品,是關于 STM32CubeProgrammer 的詳細使用說明以及命令行的命令用法說明; UM2238用戶手冊《創建STM32受信任包軟件工具介紹》和AN5054應用筆記《通過STM32CubeProgrammer進行安全燒錄》:與安全有關,介紹如何創建可信任包以及如何進行安全燒錄。

UM2543 用戶手冊《STM32MP1系列簽名工具介紹》和UM2542用戶手冊《STM32MP1系列密鑰生成器軟件介紹》:STM32CubeProgrammer還集成了”STM32MP1系列密鑰生成器”和“STM32MP1系列簽名工具”,通過命令行對應的指令,可以生成ECC密鑰對,并對固件進行簽名。具體使用方法請參考上述兩篇用戶手冊。

責任編輯:xj

原文標題:新一代燒寫工具 - STM32 Cube Programmer(附學習資源)

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2291

    文章

    11019

    瀏覽量

    363002
  • 燒寫工具
    +關注

    關注

    0

    文章

    8

    瀏覽量

    8798

原文標題:新一代燒寫工具 - STM32 Cube Programmer(附學習資源)

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32Cube IDE1.18.0里 ODR編譯不成,咋辦?

    STM32Cube IDE1.18.0里ODR 編譯不成,咋辦?
    發表于 06-09 07:36

    關于CCG5 platform Flash問題,在images時,如何保留產線校準數據?

    1. CCG5平臺flash大小為128K,有512 row,每個row大小是256個字節 通過PSoC Programmerimage時,會將128K的flash全部擦除,會導致校準數據
    發表于 05-30 07:50

    【RA-Eco-RA4M2開發板評測】+方式

    DAP Link,暫時不能仿真。那就先用兩個串口通過串行軟件進行,驗證下板子,熟悉
    發表于 05-02 09:46

    迅為RK3588開發板技術分享 TF卡大于4G容量鏡像

    RK3588技術分享 | TF卡大于4G容量鏡像
    的頭像 發表于 03-10 14:39 ?514次閱讀
    迅為RK3588開發板技術分享 TF卡<b class='flag-5'>燒</b><b class='flag-5'>寫</b>大于4G容量鏡像

    Linux固件中的陷阱:文件系統異步寫入引發的問題

    在工業生產中,固件是確保產品正常運行的關鍵環節。本文通過個實際案例,揭示了Linux系統下因文件寫入異步性導致的固件不完全問題。客
    的頭像 發表于 03-07 11:34 ?325次閱讀
    Linux固件<b class='flag-5'>燒</b><b class='flag-5'>寫</b>中的陷阱:文件系統異步寫入引發的問題

    【北京迅為】itop-3568 開發板openharmony鴻蒙及測試-第1章 體驗OpenHarmony—鏡像

    【北京迅為】itop-3568 開發板openharmony鴻蒙及測試-第1章 體驗OpenHarmony—鏡像
    的頭像 發表于 03-04 16:31 ?492次閱讀
    【北京迅為】itop-3568 開發板openharmony鴻蒙<b class='flag-5'>燒</b><b class='flag-5'>寫</b>及測試-第1章 體驗OpenHarmony—<b class='flag-5'>燒</b><b class='flag-5'>寫</b>鏡像

    請問DLPC4422 flash首次需要離線完成嗎?

    做了塊dlpc4422單板,flash第次需要使用片機進行嗎,
    發表于 02-26 07:07

    迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-實時系統-固件

    按鍵啟動開發板,此時工具會提示發現新設備,就可以松開 VOL +按鍵了。VOL +按鍵如下圖所示: 注意: 如果您的
    發表于 02-18 11:32

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程之方法

    工具\\OTG\\mfgtools.rar。該軟件是在Windows下使用的,建議在Windows10下使用,對Winodws10系統很友好,接下來我們具體介紹下mfgtools
    發表于 12-20 09:07

    飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程介紹之所需鏡像

    \\files目錄下: 我們提供的工具包中已經包含了默認配置的鏡像,如果想要自己的鏡像內容,替換對應目錄下的文件即可,需要注意的點是鏡像名稱定要修改和默認鏡像名稱
    發表于 12-20 09:05

    飛凌嵌入式ElfBoard ELF 1板卡-mfgtools燒錄流程之方法

    工具\\OTG\\mfgtools.rar。該軟件是在Windows下使用的,建議在Windows10下使用,對Winodws10系統很友好,接下來我們具體介紹下mfgtools
    發表于 12-19 09:09

    programmer用戶數據到flash-v1

    今天有客戶提出怎樣把用戶數據寫入到flash的操作,本來以為programmer都不支持了,但是經過多次驗證發現還是可以的,可能之前的驗證哪里有點問題吧。 、通過SPI Active或者SPI
    的頭像 發表于 11-28 15:13 ?1555次閱讀
    <b class='flag-5'>programmer</b><b class='flag-5'>燒</b><b class='flag-5'>寫</b>用戶數據到flash-v1

    觸摸屏驅動板無法程序的相關原因

    每次聽到別人說是什么原因導致觸摸屏驅動板無法程序,就很想去討論下。今天就跟大家聊聊到底是什么原因導致的。
    的頭像 發表于 10-21 11:19 ?718次閱讀

    programmer下載常見問題總結-v3

    可以打開programmer.看看報什么錯? (2)Unable to configure from flash device; 解決方案:(1)用
    的頭像 發表于 07-30 08:43 ?1308次閱讀
    <b class='flag-5'>programmer</b>下載常見問題總結-v3

    可重復的語音芯片具備哪些特點?

    可重復語音芯片具有高可靠性、低功耗、靈活性、安全性、成本效益,支持USB下載更換語音,組合播放,PWM和DAC輸出,休眠模式和抗干擾,適合工業及需修改語音場合。
    的頭像 發表于 07-16 09:36 ?438次閱讀
    主站蜘蛛池模板: 成人激情综合网 | 六月婷婷精品视频在线观看 | 精品国产污网站在线观看15 | 亚洲系列中文字幕一区二区 | 国产青青草 | 在线观看日本免费不卡 | 男女免费视频 | 完整日本特级毛片 | 91精品国产免费久久久久久青草 | 亚洲字幕久久 | 人人做人人爽人人爱秋霞影视 | 国产精品yy9299在线观看 | 澳门三级bd高清 | 亚洲一区区| 久久国产精品无码网站 | 日韩三级视频在线观看 | 国产美女一级视频 | 天天爽夜夜爽夜夜爽精品视频 | 国产一区二区三区欧美精品 | 日本三级特黄 | 手机在线你懂的 | 美女扒开尿口给男人爽免费视频 | 狠狠色网站 | 乱e伦有声小说 | yy6080理aa级伦大片一级 | 玖玖在线免费视频 | 瑟瑟网站免费 | 国产一级做a爱免费视频 | 波多野结衣在线网址 | 精品综合久久88色鬼首页 | 亚洲男人的性天堂 | 亚洲欧洲第一页 | 艹久久 | 国产一级毛片午夜 | 天天插天天射天天干 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片图片 | 亚洲成a人一区二区三区 | 免费可以看黄的视频 s色 | 91免费在线视频 | 777色淫网站女女免费 | 精品爱爱 |