自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

導(dǎo)入你的 ST 項(xiàng)目到 Visual Studio,你學(xué)會(huì)了嗎?

開(kāi)發(fā) 項(xiàng)目管理
我們通過(guò)從 項(xiàng)目生成一個(gè) CMake 項(xiàng)目來(lái)實(shí)現(xiàn)這一點(diǎn)。ST 在其產(chǎn)品組合中提供了許多示例項(xiàng)目。我們已經(jīng)使用這種機(jī)制驗(yàn)證了示例項(xiàng)目中的構(gòu)建,其中超過(guò)3000個(gè)。目前,我們的通過(guò)率為 99%,我們正在繼續(xù)提高。

去年我們官宣了 Visual Studio Code 可以直接導(dǎo)入 ST 項(xiàng)目,今天再次宣布:它的好兄弟 Visual Studio 2022 17.6 也支持此功能,詳細(xì)請(qǐng)看下文。

在 ARM 微控制器領(lǐng)域,有許多芯片供應(yīng)商,其中最大的是意法半導(dǎo)體(ST)。ST 擁有大量具有多種功能的可用器件,以及用于評(píng)估這些功能的支持開(kāi)發(fā)板。他們還生產(chǎn)STM32CubeIDE,一種用于定位設(shè)備的自定義IDE,以及STM32CubeMX,一種用于配置設(shè)備屬性和生成項(xiàng)目的配置工具。

如果你是已經(jīng)在使用過(guò) ST 產(chǎn)品的開(kāi)發(fā)人員,我不會(huì)告訴你任何新內(nèi)容。你可能不知道我們?yōu)樵?Visual Studio 中啟用嵌入式開(kāi)發(fā)人員所做的工作。此嵌入式體驗(yàn)依賴于新的 vcpkg 項(xiàng)目功能來(lái)幫助獲取工具鏈和配置開(kāi)發(fā)環(huán)境。為了讓使用 ST 芯片的開(kāi)發(fā)人員更容易嘗試 Visual Studio Code,我們一直在與意法半導(dǎo)體合作,實(shí)現(xiàn) STM32CubeIDE 項(xiàng)目的導(dǎo)入。

我們通過(guò)從 ST 項(xiàng)目生成一個(gè) CMake 項(xiàng)目來(lái)實(shí)現(xiàn)這一點(diǎn)。ST 在其產(chǎn)品組合中提供了許多示例項(xiàng)目。我們已經(jīng)使用這種機(jī)制驗(yàn)證了示例項(xiàng)目中的構(gòu)建,其中超過(guò)3000個(gè)。目前,我們的通過(guò)率為 99%,我們正在繼續(xù)提高。這使我們相信,我們的方法將成功導(dǎo)入你自己的意法半導(dǎo)體項(xiàng)目。我們的嵌入式工具擴(kuò)展還支持通過(guò)導(dǎo)入器進(jìn)行設(shè)備刷寫和調(diào)試,盡管我們僅在我們擁有的硬件上對(duì)此進(jìn)行了驗(yàn)證。

這篇文章將介紹這個(gè)項(xiàng)目導(dǎo)入器功能如何與 vcpkg 和 ST 的工具結(jié)合使用。

在 Visual Studio 中使用 ST 項(xiàng)目

這篇文章假設(shè)對(duì) ST 器件、開(kāi)發(fā)工具和嵌入式開(kāi)發(fā)有一定的了解。如果你需要一些背景知識(shí),我們推薦以下Shawn Hymel關(guān)于STM32入門的文章。
《Introduction to STM32CubeIDE》
《Introduction to FreeRTOS》

我們依靠 vcpkg 來(lái)管理像 CMake 和 Ninja 這樣的依賴項(xiàng),包括獲取它們并使它們可用于你的開(kāi)發(fā)環(huán)境。你可以在 Visual Studio 嵌入式開(kāi)發(fā)概述中了解有關(guān) vcpkg 的更多信息。你可以將其安裝在適用于你的平臺(tái)的單個(gè) shell 命令中,在 Windows 上你應(yīng)該使用此 PowerShell 命令。

iex (iwr -useb


??https://aka.ms/vcpkg-init.ps1)??

你將需要隨 Linux 和嵌入式開(kāi)發(fā)一起安裝 Visual Studio 2022 17.6 預(yù)覽版 1 或更高版本C++并選擇工作負(fù)載。

今天,我們的導(dǎo)入器要求你將 STM32CubeIDE 軟件安裝在平臺(tái)的默認(rèn)位置。我們一直在使用 STM32CubeIDE 1.9.0 和 STM32CubeMX 6.5.0 測(cè)試此功能。如果你并排安裝了多個(gè)實(shí)例,我們無(wú)法控制選擇哪個(gè)實(shí)例。

還需要在 STM32CubeIDE 中獲取設(shè)備的板級(jí)支持包。這樣我們就可以從 Visual Studio 中使用 ST 提供的編譯器和支持應(yīng)用程序。

或者,你可以使用 STM32CubeCLT ,其中包括此體驗(yàn)所需的一切,包括編譯器,編程器和調(diào)試器。

安裝我們的先決條件后,從 Visual Studio 中轉(zhuǎn)到文件,打開(kāi),導(dǎo)入 STM32CubeIDE 項(xiàng)目。

導(dǎo)航到你的 ST .cproject 所在的位置并選擇它。然后,可以選擇調(diào)試或發(fā)布配置。現(xiàn)在,可以選擇“生成”以使用 CMake 編譯固件。若要調(diào)試,請(qǐng)選擇“調(diào)試”視圖,然后選擇啟動(dòng)按鈕。這將運(yùn)行 STM32 編程器將固件燒錄到設(shè)備上并使用 GDB 連接。從這里,我們所有的嵌入式開(kāi)發(fā)視圖(串行、RTOS 和外設(shè))都可用。

如果你的項(xiàng)目有 .ioc 文件,你還可以打開(kāi)上下文菜單并為您的項(xiàng)目打開(kāi) STM32CubeMX。

理解 CMake 互操作性

你可以看到簡(jiǎn)單的 CMakeLists.txt,它是在 .cproject 所在的項(xiàng)目的根目錄中生成的。這依賴于 cmake 目錄下生成的 CMake 文件。這些文件中的路徑設(shè)置為計(jì)算機(jī)上 ST 編譯器的發(fā)現(xiàn)位置。如果你打算從 ST 項(xiàng)目格式遷移到 CMake,我們建議根據(jù)需要調(diào)整這些文件,尤其是在路徑可能不同的團(tuán)隊(duì)中使用。

需要注意的另一件事是,有時(shí)在 STM32CubeIDE 示例中,項(xiàng)目可能位于源代碼的子目錄中。如果在文件視圖中看不到項(xiàng)目文件,這可能是原因。選擇 CMake 目標(biāo)視圖,應(yīng)會(huì)看到 CMake 用于生成生成的所有內(nèi)容。

根據(jù)上述觀點(diǎn),我們建議在使用 STM32CubeMX 生成項(xiàng)目時(shí),將項(xiàng)目管理器中“在根下生成”中的默認(rèn)值保留為選中狀態(tài)。這會(huì)將你的 .cproject 保留在包含生成的源文件的文件夾的根目錄中。STM32CubeIDE也是默認(rèn)生成項(xiàng)目的方式。

如果在 STM32CubeIDE 中再次打開(kāi)項(xiàng)目,則需要從項(xiàng)目中排除 CMake 使用的構(gòu)建目錄。右鍵單擊生成目錄,然后選擇“資源配置”>“從生成中排除”。然后選擇“調(diào)試”和“發(fā)布”。

總結(jié)

可以使用 Visual Studio 編寫 ST 項(xiàng)目的代碼,確實(shí)是一個(gè)微軟進(jìn)軍非 Windows 生態(tài)系統(tǒng)的好兆頭。
也說(shuō)明了,她有了一些危機(jī)感。技術(shù)的升維變革,不會(huì)提前跟你打招呼,你需要始終看的更遠(yuǎn)一點(diǎn),并做好十足的準(zhǔn)備應(yīng)對(duì)挑戰(zhàn)。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2025-04-02 08:21:10

2022-12-26 07:48:04

敏捷項(xiàng)目

2024-01-02 12:05:26

Java并發(fā)編程

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2023-01-10 08:43:15

定義DDD架構(gòu)

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2023-07-26 13:11:21

ChatGPT平臺(tái)工具

2024-01-19 08:25:38

死鎖Java通信

2024-02-02 11:03:11

React數(shù)據(jù)Ref

2022-07-08 09:27:48

CSSIFC模型

2022-11-08 08:45:30

Prettier代碼格式化工具

2022-06-16 07:50:35

數(shù)據(jù)結(jié)構(gòu)鏈表

2022-12-06 07:53:33

MySQL索引B+樹(shù)

2023-07-30 22:29:51

BDDMockitoAssert測(cè)試

2023-10-06 14:49:21

SentinelHystrixtimeout

2024-03-06 08:28:16

設(shè)計(jì)模式Java

2022-07-13 08:16:49

RocketMQRPC日志

2023-01-31 08:02:18

2023-03-26 22:31:29

2023-05-05 06:54:07

MySQL數(shù)據(jù)查詢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)