一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ART-PI2使用vscode cortex-debug插件進行外部flash燒錄調(diào)試

RT-Thread官方賬號 ? 2025-02-24 19:19 ? 次閱讀

一、前言

最近,RT-Thread發(fā)布了一款名為ART-PI2的新開發(fā)板,搭載了STM32H7RS微控制器。好久沒接觸STM32的東西了,借此機會也了解ST的新產(chǎn)品。


34092842-f2a1-11ef-9434-92fbcf53809c.png


STM32H7RS的一大特點是其內(nèi)部Flash僅有64KB,這對于需要較大固件的應(yīng)用來說顯然不夠用。因此,在實際開發(fā)中,通常需要借助外部Flash存儲器(如QSPI Flash)來加載和運行程序。

rtthread推薦是在rtthread studio進行開發(fā),如果想用vscode燒錄調(diào)試外部flash的,可以參考本文進行開發(fā)。


(一)電源管理

這款MCU已經(jīng)在各大平臺上得到了廣泛的宣傳。在硬件設(shè)計上,它引入了一些顯著的改進,特別是內(nèi)置了SMPS。這一特性不僅有效減少了發(fā)熱量,還增加了對外電源引腳的數(shù)量。例如,在BGA225封裝中,多達75個引腳專門用于供電。

342dbfc2-f2a1-11ef-9434-92fbcf53809c.png

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

345043a8-f2a1-11ef-9434-92fbcf53809c.png

內(nèi)置SMPS的設(shè)計趨勢無疑提升了電源管理和散熱性能,但也意味著GPIO資源需要做出相應(yīng)的犧牲。然而,從當(dāng)前的情況來看,先楫半導(dǎo)體的產(chǎn)品似乎找到了一個更加平衡的解決方案,既保證了良好的電源管理,又保留了足夠的GPIO引腳供用戶使用。


(二)圖像處理

STM32H7R7另外一個特征就是不單單支持了mipi csi,mipi dsi,也新增2.5D GPU,進一步增強了圖形處理能力。這使得它在高要求的人機界面(HMI)應(yīng)用中表現(xiàn)出色。

而先楫在去年上半年發(fā)布了一款同樣高性能的HMI MCU,叫HPM6800系列,在hpm_sdk中也做了大量的例子參考。該系列有以下特點:


圖像系統(tǒng):2.5D OpenVG 1.1 GPU,支持Vivante VGLite API,適用于復(fù)雜的圖形渲染任務(wù)。2 個 4 Lane MIPI-DSI/LVDS-Tx 顯示接口,2 個 DVP 攝像頭接口,2 個 2 Lane MIPI-CSI/LVDS-Rx 攝像頭接口,2D 圖形加速單元,JPEG 編解碼器。


音頻系統(tǒng):4 個 I2S 接口,PDM 數(shù)字麥克風(fēng)接口,數(shù)字音頻輸出,語音檢測模塊,混音器。


外部存儲器接口: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 個千兆以太網(wǎng)控制器、8 個 CAN 控制器,支持 CAN-FD。


詳細的看以下介紹:

347abd72-f2a1-11ef-9434-92fbcf53809c.png


二、vscode開發(fā)ART-PI2

(一)開發(fā)資料

了解了相關(guān)art-pi2的資源,也得看下軟件資料。rtthread如期發(fā)布了art-pi2的sdk包,在rtthread studio中的sdk管理器中可進行下載。

34963e3a-f2a1-11ef-9434-92fbcf53809c.png


下載完畢后可在rtthread studio安裝目錄下的repo看到bsp包,里面包含了所有資料。對于原理圖啥的就在documents:

34a49002-f2a1-11ef-9434-92fbcf53809c.png


對于rtthread stuido bsp,先楫在此也做了很多board支持,已經(jīng)發(fā)布的先楫MCU都做了相關(guān)支持,在sdk管理器同樣也能看到:

34b16156-f2a1-11ef-9434-92fbcf53809c.png


比如hpm6800的豐富例子:sdio wifi、i2s音頻、以太網(wǎng)、lvgl、sdcard、canfd、usb hs等等。

34c48808-f2a1-11ef-9434-92fbcf53809c.png


(二)開發(fā)流程

art-pi2可以在rtthread studio開發(fā)編譯燒錄調(diào)試。這里也可以用scons編譯,vscode配合cortex-debug插件進行燒錄調(diào)試。


注意:保證art-pi2燒錄了bootloader。出廠都自帶了bootloader。如果不小心燒錄錯了,可使用bsp下的bootloader例子,通過rtthread-studio燒錄。


34d93c6c-f2a1-11ef-9434-92fbcf53809c.png


1、觀察rtthread studio的GDB調(diào)試燒錄配置。


這里使用了st的stlink gdb server,而gdb client則使用了arm-none-eabi。這里的GDB服務(wù)器無所謂,gdb_server需要帶上-m 1(復(fù)位MCU)

34e5da1c-f2a1-11ef-9434-92fbcf53809c.png


在vscode下,在工程的根目錄下,新建.vscode文件夾,里面包含兩個文件:launch.json和settings.json

34fd322a-f2a1-11ef-9434-92fbcf53809c.png

那么對于vscode下的cortex-debug插件,在setting.json中,對于的GDB服務(wù)器和客戶端設(shè)置,參考以下命令,然后對之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使用。

350b7182-f2a1-11ef-9434-92fbcf53809c.png


對應(yīng)的安裝目錄也是在rtthread studio下。

351d9920-f2a1-11ef-9434-92fbcf53809c.png

因此setting.json對于gdb的設(shè)置如下:

352d8074-f2a1-11ef-9434-92fbcf53809c.png


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的路徑放在這里,以實際為準(zhǔn) "cortex-debug.stm32cubeprogrammer.windows": "you path\\RT-ThreadStudio\\repo\\Extract\\Debugger_Support_Packages\\STMicroelectronics\\ST-LINK_Debugger\\1.6.0\\tools\\bin"}


2、調(diào)試燒錄launch.json配置

在rtthread studio的調(diào)試配置下載這里,有用到了外部flash燒錄算法,路徑也做了說明,如此一來也可以方便進行拷貝。

354887f2-f2a1-11ef-9434-92fbcf53809c.png


在launch.json中,大部分都是走的openocd,但這種燒錄調(diào)試性能往往比不上st自己的gdb server,加之也不用配置那么多cfg文件,只需要告知device型號即可。

對于flm算法加載,使用-el進行加載即可。對于-el命令,可以在對應(yīng)的stm32cubeprogrammer中調(diào)用STM32_Programmer_CLI.exe查看信息:

3558133e-f2a1-11ef-9434-92fbcf53809c.png


比如-el命令解釋:

3573534c-f2a1-11ef-9434-92fbcf53809c.png


總的launch.json文件如下:

{ // 使用 IntelliSense 了解相關(guān)屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請訪問: 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", //在調(diào)試會話結(jié)束時清除調(diào)試狀態(tài) // Select a custom external memory-loaderforJTAG/SWD "-el${workspaceFolder}/board/stldr/ART-Pi2_ST_winbond_64MB.stldr" ] } ]}


編譯上可以使用rtthread的scons進行編譯。具體如何編譯查看rtthread官網(wǎng) wiki。

3588b0d4-f2a1-11ef-9434-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1656

    瀏覽量

    150605
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100876
  • ART
    ART
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    10560
  • 燒錄
    +關(guān)注

    關(guān)注

    8

    文章

    282

    瀏覽量

    36071
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1348

    瀏覽量

    41363
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用VSCode去搭建一種stm32開發(fā)環(huán)境呢

    系統(tǒng)環(huán)境變量中。VSCode配置安裝插件C/C++ :提供C/C++的語法智能感知、加亮及調(diào)試功能 Cortex-Debug:ARM調(diào)試
    發(fā)表于 01-10 06:06

    一款VScode插件介紹

    前文寫到使用minGW、GNU for ARM和VScode組成編譯調(diào)試鏈,今天又發(fā)現(xiàn)了一款VScode插件Cortex-Debug(m
    發(fā)表于 01-25 08:16

    怎樣在ART-Pi H750上移植TouchGFX呢

    QSPI-FLASH燒錄算法在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系統(tǒng)在ART-Pi H750上移植TouchGFX(四)——
    發(fā)表于 02-22 06:01

    在Clion IDE中調(diào)試ART-Pi工程代碼的方式

    /STM32H750-RT-ART-Pi/1.1.0/debug/stldr/ART-Pi_W25Q64.stldr"選擇 GDB Server 調(diào)試配置,點擊
    發(fā)表于 03-14 16:40

    在Clion IDE中調(diào)試ART-Pi工程代碼的方式

    鏈的配置,這里就不再次介紹了。工程加載完成后,點擊右上角的錘子按鈕,編譯工程:此時的 art-pi 工程還不能直接下載到開發(fā)板,因為需要有外部下載算法。如何使用外部下載算法呢?由于水平有限,關(guān)于
    發(fā)表于 04-08 10:03

    使用ART-Pi ST-LINK的步驟教程

    1. ST-LINK 與 J-LINK 的區(qū)別相信大家對 ST-LINK 和 J-LINK 都不陌生. ART-Pi 板載了 STM32F103CBT6 ,出廠默認(rèn)是燒錄的 ST-LINK V2
    發(fā)表于 04-11 10:10

    怎樣去解決RT-Thread Studio ART-Pi無法燒寫外部Flash的問題呢

    \projects\art_pi_net_player問題描述使用RT-Thread Studio 進行下載,發(fā)現(xiàn)有的工程可以正常的下載,有的工程,怎么下載都是失敗對比了下成功與失敗的原因,確認(rèn)與硬件
    發(fā)表于 05-16 17:19

    Windows系統(tǒng)VSCode+pyOCD開發(fā)環(huán)境搭建步驟分享

    Cortex-Debug插件VSCode調(diào)試GD32F437項目,需要使用到Cortx-Debug
    發(fā)表于 12-15 15:31

    ART-PI編譯報錯提示flash溢出如何解決

    ART-PI 芯片flash太小只有128k,編譯報錯,提示flash 溢出如何解決,工程是通過stm32cube mx生成的幫忙看看謝謝提示,H750.elf section .rodata
    發(fā)表于 12-29 14:57

    先楫hpm_sdk使用vscode開發(fā)

    ,我們可以在任意終端窗口進行構(gòu)建編譯,比如powershell。 (三) 燒錄調(diào)試 vscode下的燒錄
    發(fā)表于 06-24 20:19

    配置VScode編譯、調(diào)試STM32(二)Cortex-Debug插件

    配置VScode編譯、調(diào)試STM32(二)Cortex-Debug插件
    發(fā)表于 12-01 12:21 ?17次下載
    配置<b class='flag-5'>VScode</b>編譯、<b class='flag-5'>調(diào)試</b>STM32(二)<b class='flag-5'>Cortex-Debug</b><b class='flag-5'>插件</b>

    "Linux下使用VSCode,GCC,OpenOCD實現(xiàn)STM32一鍵編譯燒錄調(diào)試(STM32CubeMX篇)"

    STM32CubeMX生成工程OpenOCD燒錄json腳本實現(xiàn)一鍵編譯燒錄調(diào)試開發(fā)工具安裝Visual Studio Code與插件Visual Studio Code的安裝和使用參
    發(fā)表于 12-06 09:36 ?7次下載
    "Linux下使用<b class='flag-5'>VSCode</b>,GCC,OpenOCD實現(xiàn)STM32一鍵編譯<b class='flag-5'>燒錄</b><b class='flag-5'>調(diào)試</b>(STM32CubeMX篇)"

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

    QSPI-FLASH燒錄算法在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系統(tǒng)在ART-Pi H750上移植TouchGFX(四)——
    發(fā)表于 12-28 19:20 ?11次下載
    【STM32H750】玩轉(zhuǎn)<b class='flag-5'>ART-Pi</b>(一)——使用STM32CUBMX生成TouchGFX工程

    【技術(shù)三千問】之《玩轉(zhuǎn)ART-Pi》,看這篇就夠了!

    2.在 ART-Pi 平臺有沒有人成功使用 openocd 可以直接燒寫到外部 Quad spi flash 的?[鏈接]
    發(fā)表于 01-25 18:44 ?2次下載
    【技術(shù)三千問】之《玩轉(zhuǎn)<b class='flag-5'>ART-Pi</b>》,看這篇就夠了!

    使用VSCode調(diào)試嵌入式程序:如何切換gdb server

    上文小編給大家介紹了一下如何使用VSCode結(jié)合cortex-debug插件進行調(diào)試的方法。本篇就趁熱打鐵,進一步深入了解一下如何切換gdb
    的頭像 發(fā)表于 05-09 11:02 ?3025次閱讀
    使用<b class='flag-5'>VSCode</b><b class='flag-5'>調(diào)試</b>嵌入式程序:如何切換gdb server