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

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

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

在VSCode中使用QEMU調(diào)試FreeRTOS

麥克泰技術 ? 來源:麥克泰技術 ? 2023-03-06 09:24 ? 次閱讀

在這篇文章中,我們將逐步完成一個示例設置,該設置以模擬 Arm Cortex-M3 微控制器為例,展示了如何使用 QEMU 在 Visual Studio Code (VSCode) 編輯器中調(diào)試 FreeRTOS 應用程序。此示例不需要實際硬件,需要筆記本電腦或臺式機作為開發(fā)環(huán)境。

首先,什么是 QEMU,我們?yōu)槭裁匆褂盟M行調(diào)試?QEMU 是一個計算機仿真器,允許你虛擬化硬件類型,支持跨不同的CPU架構進行虛擬化。這對于嵌入式開發(fā)非常有用,因為你可以針對可能無法立即訪問的硬件目標板運行應用程序。這可能是因為(1)你仍在為嵌入式產(chǎn)品設計選擇芯片的過程中,(2)你的電路板在其他地方,如實驗室,(3)你希望在沒有物理硬件的情況下運行自動化測試,或(4)真正的硬件供不應求。如果你遇到到這些限制中的任何一個,并且軟件開發(fā)必須繼續(xù)進行,那么 QEMU 可以提供幫助。

QEMU支持許多不同的硬件平臺,從x86到ARM再到RISC-V。FreeRTOS 也支持許多不同的硬件平臺。因此,值得指出的是,我們將在下面介紹的示例不僅限于 FreeRTOS 和 Arm Cortex-M3硬件平臺。如果你有 Arm Cortex-M3 以外的目標板或者其他OS,你可以調(diào)整一下,使用基本相同的方法。

我們?nèi)绾伍_始?為了啟動和運行該示例,有許多先決條件和依賴項。我在下面分 7 個步驟列出了這個過程,你可以遵循這些步驟。順序并不那么重要,除了第7步應該保持最后一步。開發(fā)計算機上可能已經(jīng)安裝了部分或全部這些工具,如果是這種情況,請仔細檢查它們是否是最新的,并存在于你的工作路徑中。

Step

步驟

1)下載和安裝VSCode:

2)下載和安裝QEMU:

3)下載和安裝 Arm GNU Toolchain:

4)下載和安裝 CMake:

5)針對 Windows,環(huán)境 下載和安裝 Git

(包括 Bash terminal):Git應該已經(jīng)安裝MacOS 和 Linux 系統(tǒng)里面。

6)確保系統(tǒng)上安裝了“make”。根據(jù)你的平臺,有不同的方法可以做到這一點。

在Windows上,你可以使用 Chocolatey在命令提示符下使用下面命令安裝 “make”:> choco install make。

在MacOS上,您可以使用以下命令在終端應用程序中使用Homebrew安裝“make” $ brew install make。

在 Linux 上,您可以使用以下命令從終端使用包管理器安裝“make”:$ sudo apt install build-essential。

7)添加 QEMU, Arm GNU Compiler, CMake, 和 'make' 安裝路徑到你的路徑環(huán)境參數(shù)中。操作系統(tǒng)不同,完成方法不一樣,確信使用了正確的方式。

安裝必備工具后,繼續(xù)克隆我們將使用的源代碼。從命令行中,導航到要在其中使用演示代碼克隆 FreeRTOS 存儲庫的文件夾(FreeRTOS repository with the demo code:

https://github.com/FreeRTOS/FreeRTOS),例如 $ cd $HOME/project。然后,繼續(xù)從 GitHub 克隆 FreeRTOS 存儲庫,如下所示:$ git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules

克隆存儲庫完成后,啟動 VSCode。在 VSCode 中,在菜單中選擇“File > Open Folder'”。導航到你剛剛克隆的 FreeRTOS 存儲庫,然后選擇此子文件夾

'.../FreeRTOS/FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC'

VScode 加載演示文件夾后,在編輯器中打開“.vscode/launch.json”。找到 miDebuggerPath 參數(shù)并將值更改為你使用的電腦上“arm-none-eabi-gdb”所在的路徑。

401562f8-bb3b-11ed-bfe3-dac502259ad0.jpg

現(xiàn)在打開“main.c”并確保mainCREATE_SIMPLE_BLINKY_DEMO_ONLY設置為 1,代碼構建后將生成簡單的閃燈演示。

40388f58-bb3b-11ed-bfe3-dac502259ad0.jpg

接下來,在VSCode中按左側面板中的“Run and Debug”按鈕。從頂部的下拉菜單中選擇“Launch QEMU RTOSDemo”,然后按“play”按鈕。這將生成代碼、運行程序并聯(lián)動了調(diào)試器。

404bf0de-bb3b-11ed-bfe3-dac502259ad0.jpg

從那里,你可以從按鈕欄中“Continue”,“Step Over”,“Step Into”,“Step Out”和“Stop”,你還可以通過右鍵單擊行號旁邊,在代碼中添加斷點。

405fd20c-bb3b-11ed-bfe3-dac502259ad0.jpg

按“Continue”按鈕將執(zhí)行代碼,將在終端中產(chǎn)生如下輸出:

QEMU RTOSdemo started

Message received from task

Message received from task

Message received from task

Message received from task

Message received from task

Message received from task

Message received from task

Message received from task

Message received from task

Message received from software timer

這就是你在VSCode中使用QEMU調(diào)試FreeRTOS的一個范例,你可以使用此示例來嘗試和探索一切的可能性,來調(diào)試一下吧!

審核編輯:湯梓紅

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

    關注

    134

    文章

    9097

    瀏覽量

    367581
  • 調(diào)試
    +關注

    關注

    7

    文章

    578

    瀏覽量

    33943
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62181
  • qemu
    +關注

    關注

    0

    文章

    57

    瀏覽量

    5357
  • vscode
    +關注

    關注

    1

    文章

    155

    瀏覽量

    7714

原文標題:在VSCode中使用QEMU調(diào)試FreeRTOS

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    VSCode中使用J-Link調(diào)試嵌入式系統(tǒng)

    Visual Studio Code是微軟推出的免費的源代碼編輯器,通過插件,可以實現(xiàn)GDB +J-Link+GDBServer方式VSCode調(diào)試嵌入式系統(tǒng)。
    發(fā)表于 08-18 11:06 ?1830次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>VSCode</b><b class='flag-5'>中使</b>用J-Link<b class='flag-5'>調(diào)試</b>嵌入式系統(tǒng)

    Vscode中安裝RT-Thread Studio插件的步驟簡析

    準備 linux 中安裝 Vscode安裝 QEMU:sudo apt-get install qemu-system-arm安裝工具鏈:安裝 ncurses 庫sudo apt-g
    發(fā)表于 04-07 11:52

    基于RT-Thread ubuntu 18.04系統(tǒng)VSCode調(diào)試qemu程序的介紹

    RT-Thread Studio 則完美地解決了 Linux / MacOS 環(huán)境 qemu 程序的調(diào)試問題,下面介紹下如何使用插件。 VSCode 插件搜索界面輸入 RT-Thr
    發(fā)表于 06-22 11:31

    VScode調(diào)試qemu-vexpress-a9工程GDB出錯有小伙伴遇到過嗎

    按官方教程編譯了,也修改了qemu-dbg.bat文件。啟動調(diào)試qemu窗口閃了一下,然后vscode彈窗表示不行。有小伙伴遇到過嗎?
    發(fā)表于 09-01 14:13

    Windows平臺使用VSCode調(diào)試 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應用筆記描述了 Windows 平臺使用 VS Code 調(diào)試 RT-Thread qemu-vexpress-a9 BSP 工程。本文的目的和結構本文的目的和背景VS Code(全稱
    發(fā)表于 10-26 15:25

    是什么原因?qū)е?b class='flag-5'>QEMUVSCODE終端上無法運行的呢?

    使用環(huán)境:qemu-vexpress-a9RTTV5.0.0源碼使用ENV可以運行vscode運行截圖需要說明,敲完命令運行后,自動退出了。我都沒見到RTT版本信息圖如下任務管理器qemu
    發(fā)表于 01-29 16:49

    VSCode中使QEMU調(diào)試FreeRTOS

    在這篇文章中,我們將逐步完成一個示例設置,該設置以模擬 Arm Cortex-M3 微控制器為例,展示了如何使用 QEMU Visual Studio Code (VSCode) 編輯器中
    發(fā)表于 03-16 15:45

    基于QEMU系統(tǒng)模擬器Xilinx/QEMU的運行與調(diào)試

    Xilinx基于QEMU系統(tǒng)模擬器Xilinx/QEMU可用于模擬運行Zynq Linux的運行與調(diào)試。
    的頭像 發(fā)表于 07-04 07:50 ?9170次閱讀

    Linux:QEMU調(diào)試內(nèi)核的步驟

    Linux:QEMU調(diào)試內(nèi)核的步驟
    的頭像 發(fā)表于 06-23 09:03 ?3156次閱讀
    Linux:<b class='flag-5'>QEMU</b><b class='flag-5'>調(diào)試</b>內(nèi)核的步驟

    配置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(二)Cortex-Debug插件

    stm32cubeMX+vscode開發(fā)編譯調(diào)試stm32程序

    stm32cubeMX+vscode開發(fā)編譯調(diào)試stm32程序安裝vscode安裝make工具安裝交叉編譯工具鏈安裝openocd安裝clang llvm生成并編譯代碼配置vscode
    發(fā)表于 12-24 19:31 ?6次下載
    stm32cubeMX+<b class='flag-5'>vscode</b>開發(fā)編譯<b class='flag-5'>調(diào)試</b>stm32程序

    Arduino IDE中使FreeRTOS信號量

    電子發(fā)燒友網(wǎng)站提供《Arduino IDE中使FreeRTOS信號量.zip》資料免費下載
    發(fā)表于 01-04 10:18 ?0次下載
    <b class='flag-5'>在</b>Arduino IDE<b class='flag-5'>中使</b>用<b class='flag-5'>FreeRTOS</b>信號量

    VSCode使用-搭建python運行調(diào)試環(huán)境

    VSCode是一個優(yōu)秀的編輯工具,適合代碼閱讀,代碼編輯,甚至配置好之后,可以編譯與調(diào)試代碼。
    的頭像 發(fā)表于 05-04 10:00 ?942次閱讀
    <b class='flag-5'>VSCode</b>使用-搭建python運行<b class='flag-5'>調(diào)試</b>環(huán)境

    qemu-riscvscode的gdb調(diào)試步驟

    qemu支持gdb調(diào)試,只需要在命令中添加 -s -S兩個參數(shù)即可,bsp/qemu-riscv下已經(jīng)有了qemu-dbg.sh,且加入了
    的頭像 發(fā)表于 09-28 10:54 ?1530次閱讀
    <b class='flag-5'>qemu</b>-riscv<b class='flag-5'>在</b>scode的gdb<b class='flag-5'>調(diào)試</b>步驟

    vscode運行qemu-vexpress-a9 qemu仿真環(huán)境F5后報錯處理方法

    修改.vscode下launch.json中qemu debug為qemu simulator,preLaunchTask為調(diào)試前的任務執(zhí)行,找task.json中l(wèi)abel對應的任務
    的頭像 發(fā)表于 09-28 11:17 ?1270次閱讀
    <b class='flag-5'>vscode</b>運行<b class='flag-5'>qemu</b>-vexpress-a9 <b class='flag-5'>qemu</b>仿真環(huán)境F5后報錯處理方法