亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

我們很高興地宣布,在Visual Studio 2022預覽版中,我們添加了新的對嵌入式系統的開發支持。通過協同使用vcpkg包管理器,你可以快速地搭建好一個嵌入式開發環境并迅速展開工作。

在這篇文章中,我們將會介紹嵌入式工作負載的安裝,如何通過vcpkg獲取相關的依賴包,然后我們會展示在Visual Studio中借助外圍寄存器和RTOS對象視圖來進行代碼編輯,構建,部署和調試一個嵌入式項目。我們將會通過一個Azure RTOS ThreadX項目來展示所有這些新特性。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

Azure RTOS ThreadX 是一個在MCU上廣泛使用的RTOS系統。我們還在Visual Studio的幫助文檔中附帶了對Azure IoT DevKit, NXP 1060和STMicro STM32L4 L4 等開發板的使用說明。如果你使用的是其他廠家的開發板,則應該可以通過修改相應的配置來快速適配。

安裝過程

首先,你需要下載安裝最新版本的Visual Studio 2022,然后選擇”Linux and embedded development with C workload”。在默認情況下,你所需要的組件都會被選中,如下圖所示:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

對于嵌入式開發來說,其中一個難點就是配置好需要的工具和組件。通常不同項目有著不同的編譯工具鏈和調試工具。這就是vcpkg包管理器可以派上用場的地方。下面我們會演示下如何通過vcpkg來搭建我們的嵌入式開發環境,后面我們將會把它們整合到Visual Studio中,從而提供一個更加流暢的用戶體驗。

首先打開PowerShell命令行,然后克隆AZzure RTOS項目代碼。它將會作為我們演示的一個例子項目。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

然后導航至開發板對應的子目錄,我使用的是Azure IoT DevKit,如下圖所示:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

如果你還沒有安裝vcpkg,則可以參考下圖進行安裝:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

在項目目錄下,有一個vcpkg_configuration.json文件。這個清單文件是由vcpkg創建,主要用來記錄編譯和調試項目所需要用到的工具。可以參考vcpkg文檔來創建你自己的清單文件。執行vcpkg activate命令將會使用這個文件來按需安裝這些工具。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

通過上面的三條命令,我們就可以完成嵌入式項目的克隆,vcpkg包管理器的安裝和依賴工具的安裝和激活了。下面開始做正事兒。

使用Visual Studio 進行嵌入式開發

目前vcpkg還沒有整合到Visual Studio中,所以當前我們需要在上面已經激活的命令行窗口中啟動Visual Studio,這樣就可以確保需要使用到的工具對于Visual Studio是可見的。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

請注意,如果你的電腦上安裝了多個不同版本的Visual Studio,則你可能需要指定需要預覽版的全路徑,例如:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

至此,我們就已經在Visual Studio中打開了例子項目,就和其他CMake項目一樣。Visual Studio可以通過預定義好的CMakePresets文件來運行CMake編譯過程。
和往常一樣,可以使用Visual Studio來編寫嵌入式代碼。在這個Azure RTOS項目中,我們會展示代碼導航,IntelliSense,構建,部署和調試等功能。我們還會演示新的寄存器診斷支持和RTOS對象視圖。

代碼導航和IntelliSense

通過Ctrl T可以打開”Go to All and type”按鈕,然后選擇對應的按鈕進行代碼導航。請注意,我們可以將光標懸浮在這個函數上,然后它會展開TIM3->CCR1這個寄存器的值,如下圖所示:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

構建,部署和調試

下面我們演示如何在RGB_LED_SET_R()這個函數上設置斷點。
要查看如何控制啟動,請選擇查看解決方案資源管理器中的所有文件并打開 .VSlaunch.vs.json。 你可以看到 miDebuggerPath 設置為使用 arm-none-eabi-gdb,而 debugServerPath 設置為使用 debugServerArgs 中的配置腳本調用 openocd。 用于描述外設寄存器的信息由 MCU 制造商在我們用 svdPath 指向的 SVD 文件中提供。 該項目被配置在入口處中斷,具有屬性 stopAtConnect。

現在,將你的開發板插入 PC(并安裝 ST-LINK 驅動程序),將調試目標設置為 Launch,F5 將使用 vcpkg 獲取的 openocd 進行工作,以刷新和調試連接的電路板。 執行在入口函數處停止,所以在這里我們看到了它的匯編代碼。 我們還可以通過轉到菜單 Debug > Windows > Disassembly 來查看反匯編,如下圖所示:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

外圍寄存器

現在按下開發包板上的 A 按鈕。 這觸發了我們的斷點。 我們現在可以轉到菜單 Debug > Windows > Embedded Registers。 這將使用啟動配置中指定的 SVD 文件中的信息打開外設寄存器視圖。 我們現在可以滾動這個列表來找到我們感興趣的寄存器,這里是 TIM3->CCR1,當我們跳過 RGB_LED_SET_R 函數時它會更新。

下圖是斷點觸發時的界面:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

下圖是步進調試:

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

RTOS 對象視圖

我們的例子項目中的應用程序有多個線程,但你不會在現有線程窗口中看到它們。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

有關這個的解釋請看下面的描述:
實時操作系統是為應用程序提供服務和管理處理器資源的系統軟件。 這些資源包括處理器周期、內存、外設和中斷。 實時操作系統的主要目的是在嵌入式軟件必須執行的各種任務之間分配處理時間。 這通常涉及將軟件分成多個部分,通常稱為“任務”或“線程”,并創建一個運行環境,為每個線程提供自己的虛擬微處理器(“多線程”)。 基本上,虛擬微處理器由一組虛擬的微處理器資源組成,例如寄存器組、程序計數器、堆棧存儲區和堆棧指針。 線程僅在執行時才使用物理微處理器資源,但每個線程都保留這些資源內容的副本,就好像它們是自己的私有資源(線程的“上下文”)。”

因此,理想情況下,對于嵌入式開發,你將擁有可以向您顯示有關這些 RTOS 對象的信息的視圖。 要查看新的可用 RTOS 對象視圖,請轉到菜單 Debug > Windows > RTOS Objects。 在這里你將看到 ThreadX 提供的對象的選項,在這里我們將選擇線程。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

線程視圖一目了然地顯示了你在嵌入式開發過程中通常需要的許多信息、線程 ID 和名稱、它們運行的次數、堆棧的開始、結束位置、堆棧大小以及最大堆棧使用量。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

還有其他 ThreadX 對象的其他視圖,如塊和字節池、事件、互斥鎖、隊列和計時器。 我們也有 FreeRTOS 的 RTOS 對象視圖,盡管那里的可用對象因其支持的內容而異。

硬件斷點限制

最后一個需要調用的調試功能是嵌入式硬件目標通常只有一組有限的可用硬件斷點。 設置過多會破壞調試器狀態。 因此,我們在 launch.vs.json 中添加了 hardwareBreakpoints。 對于這個設置為它支持的值是 6 的開發板。如果我們設置的更多,我們將看到斷點沒有設置,我們會收到一個警告,它不會被觸發。 這可以防止破壞與電路板的連接,并使我們有機會取消設置其他一些斷點并繼續不間斷地調試。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

總結

說了這么多,總的來說,就是:終于可以在VS中搞嵌入式開發了。
遙想當年,在VI里瞅著屏幕鼓搗C代碼的熱血年代。

最后

Microsoft Visual C 團隊的博客是我非常喜歡的博客之一,里面有很多關于Visual C 的知識和最新開發進展。大浪淘沙,如果你對Visual C 這門古老的技術還是那么感興趣,則可以經常去他們那(或者我這)逛逛。
本文來自:《Embedded Software Development in Visual Studio》

最近我寫了個東西

正如你們所知道的,拓撲梅爾智慧辦公平臺(Topomel Box)是一款綠色軟件,主要面向經常使用電腦的朋友。它提供了各種提升辦公效率的小功能,同時操作上盡可能地簡單方便。
我想:你值得擁有。

使用Visual Studio進行嵌入式系統開發(vscode 嵌入式開發)

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午5:01
下一篇 2024年5月1日 下午5:12

相關推薦