一、前言
最近,RT-Thread發布了一款名為ART-PI2的新開發板,搭載了STM32H7RS微控制器。好久沒接觸STM32的東西了,借此機會也了解ST的新產品。
STM32H7RS的一大特點是其內部Flash僅有64KB,這對于需要較大固件的應用來說顯然不夠用。因此,在實際開發中,通常需要借助外部Flash存儲器(如QSPI Flash)來加載和運行程序。
rtthread推薦是在rtthread studio進行開發,如果想用vscode燒錄調試外部flash的,可以參考本文進行開發。
(一)電源管理
這款MCU已經在各大平臺上得到了廣泛的宣傳。在硬件設計上,它引入了一些顯著的改進,特別是內置了SMPS。這一特性不僅有效減少了發熱量,還增加了對外電源引腳的數量。例如,在BGA225封裝中,多達75個引腳專門用于供電。

相比之下,先楫半導體的HPM6E00系列雖然采用BGA196封裝,但其供電引腳僅占用約30多個引腳。相比STM32H7R7的75個電源引腳少了不少

內置SMPS的設計趨勢無疑提升了電源管理和散熱性能,但也意味著GPIO資源需要做出相應的犧牲。然而,從當前的情況來看,先楫半導體的產品似乎找到了一個更加平衡的解決方案,既保證了良好的電源管理,又保留了足夠的GPIO引腳供用戶使用。
(二)圖像處理
STM32H7R7另外一個特征就是不單單支持了mipi csi,mipi dsi,也新增2.5D GPU,進一步增強了圖形處理能力。這使得它在高要求的人機界面(HMI)應用中表現出色。
而先楫在去年上半年發布了一款同樣高性能的HMI MCU,叫HPM6800系列,在hpm_sdk中也做了大量的例子參考。該系列有以下特點:
圖像系統:2.5D OpenVG 1.1 GPU,支持Vivante VGLite API,適用于復雜的圖形渲染任務。2 個 4 Lane MIPI-DSI/LVDS-Tx 顯示接口,2 個 DVP 攝像頭接口,2 個 2 Lane MIPI-CSI/LVDS-Rx 攝像頭接口,2D 圖形加速單元,JPEG 編解碼器。
音頻系統:4 個 I2S 接口,PDM 數字麥克風接口,數字音頻輸出,語音檢測模塊,混音器。
外部存儲器接口:16bit DDR2-800,16bit DDR3/DDR3L-1333,1 個串行總線控制器 XPI,支持各類外部串行 Flash 和PSRAM,2 個 SD/eMMC 控制器,支持SD/SDHC/SDXC,支持 eMMC 5.1
通訊接口:9 個 UART、4 個 SPI、4 個 I2C、1 個 USB 2.0 OTG,集成 HS-PHY、1 個千兆以太網控制器、8 個 CAN 控制器,支持 CAN-FD。
詳細的看以下介紹:

二、vscode開發ART-PI2
(一)開發資料
了解了相關art-pi2的資源,也得看下軟件資料。rtthread如期發布了art-pi2的sdk包,在rtthread studio中的sdk管理器中可進行下載。
下載完畢后可在rtthread studio安裝目錄下的repo看到bsp包,里面包含了所有資料。對于原理圖啥的就在documents:
對于rtthread stuido bsp,先楫在此也做了很多board支持,已經發布的先楫MCU都做了相關支持,在sdk管理器同樣也能看到:
比如hpm6800的豐富例子:sdio wifi、i2s音頻、以太網、lvgl、sdcard、canfd、usb hs等等。
(二)開發流程
art-pi2可以在rtthread studio開發編譯燒錄調試。這里也可以用scons編譯,vscode配合cortex-debug插件進行燒錄調試。
注意:保證art-pi2燒錄了bootloader。出廠都自帶了bootloader。如果不小心燒錄錯了,可使用bsp下的bootloader例子,通過rtthread-studio燒錄。
1、觀察rtthread studio的GDB調試燒錄配置。
這里使用了st的stlink gdb server,而gdb client則使用了arm-none-eabi。這里的GDB服務器無所謂,gdb_server需要帶上-m 1(復位MCU)
在vscode下,在工程的根目錄下,新建.vscode文件夾,里面包含兩個文件:launch.json和settings.json
那么對于vscode下的cortex-debug插件,在setting.json中,對于的GDB服務器和客戶端設置,參考以下命令,然后對之rtthread studio的路徑拷貝。
不過需要注意的是,vscode的cortex-debug插件對于GDB版本必須得7.0以上,也就是說rtthread studio使用得arm-none-eabi 5.4.1并不適用。但好在與rtthread studio得tool chain,對于arm支持到13.2.1,我們可以下載10.2.1使用。
對應的安裝目錄也是在rtthread studio下。
因此setting.json對于gdb的設置如下:
setting.json代碼:
{ "cortex-debug.armToolchainPath":"you path\RT-ThreadStudio\\repo\\Extract\\ToolChain_Support_Packages\\ARM\\GNU_Tools_for_ARM_Embedded_Processors\\10.2.1\\bin", "cortex-debug.gdbPath.windows":"you path\\RT-ThreadStudio\\repo\\Extract\\ToolChain_Support_Packages\\ARM\\GNU_Tools_for_ARM_Embedded_Processors\\10.2.1\\bin\\arm-none-eabi-gdb.exe", "cortex-debug.stlinkPath":"you path\RT-ThreadStudio\\repo\\Extract\\Debugger_Support_Packages\\STMicroelectronics\\ST-LINK_Debugger\\1.6.0\\ST-LINK_gdbserver.exe", // STM32CubeProgrammer path: rtthread stduio安裝STM32CubeProgrammer的路徑放在這里,以實際為準 "cortex-debug.stm32cubeprogrammer.windows": "you path\\RT-ThreadStudio\\repo\\Extract\\Debugger_Support_Packages\\STMicroelectronics\\ST-LINK_Debugger\\1.6.0\\tools\\bin"}
2、調試燒錄launch.json配置
在rtthread studio的調試配置下載這里,有用到了外部flash燒錄算法,路徑也做了說明,如此一來也可以方便進行拷貝。
在launch.json中,大部分都是走的openocd,但這種燒錄調試性能往往比不上st自己的gdb server,加之也不用配置那么多cfg文件,只需要告知device型號即可。
對于flm算法加載,使用-el進行加載即可。對于-el命令,可以在對應的stm32cubeprogrammer中調用STM32_Programmer_CLI.exe查看信息:
比如-el命令解釋:
總的launch.json文件如下:
{ // 使用 IntelliSense 了解相關屬性。 // 懸停以查看現有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version":"0.2.0", "configurations": [ { "name":"ART-pi2", "cwd":"${workspaceFolder}", "executable":"${workspaceFolder}/rt-thread.elf", "request":"launch", "type":"cortex-debug", "runToEntryPoint":"main", "servertype":"stlink", "device":"STM32H7Rxx", "interface":"swd", "showDevDebugOutput":"raw", "serverArgs": [ "-s", "-m","1", "-k", //在調試會話結束時清除調試狀態 // Select a custom external memory-loaderforJTAG/SWD "-el${workspaceFolder}/board/stldr/ART-Pi2_ST_winbond_64MB.stldr" ] } ]}
編譯上可以使用rtthread的scons進行編譯。具體如何編譯查看rtthread官網 wiki。
-
FlaSh
+關注
關注
10文章
1654瀏覽量
150456 -
開發板
+關注
關注
25文章
5318瀏覽量
100337 -
ART
+關注
關注
0文章
28瀏覽量
10554 -
燒錄
+關注
關注
8文章
277瀏覽量
36042 -
RT-Thread
+關注
關注
31文章
1337瀏覽量
41301
發布評論請先 登錄
相關推薦
如何利用VSCode去搭建一種stm32開發環境呢
一款VScode的插件介紹
怎樣在ART-Pi H750上移植TouchGFX呢
在Clion IDE中調試ART-Pi工程代碼的方式
在Clion IDE中調試ART-Pi工程代碼的方式
使用ART-Pi ST-LINK的步驟教程
分享制作MDK外部QSPI-FLASH燒錄算法的教程
怎樣去解決RT-Thread Studio ART-Pi無法燒寫外部Flash的問題呢
"Linux下使用VSCode,GCC,OpenOCD實現STM32一鍵編譯燒錄調試(STM32CubeMX篇)"

【STM32H750】玩轉ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程

【技術三千問】之《玩轉ART-Pi》,看這篇就夠了!

使用VSCode調試嵌入式程序:如何切換gdb server

評論