国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

在riscv32的qemu上體驗nuttx的編譯和執行過程

嵌入式IoT ? 來源:嵌入式IoT ? 作者:嵌入式IoT ? 2020-12-28 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

nuttx在riscv的qemu上運行體驗

1.前言

2.環境準備

2.1 安裝riscv32交叉編譯工具鏈

2.2 安裝qemu

2.3 獲取Nuttx源代碼

2.4 安裝kconfig-frontends

3.編譯和運行

3.1 編譯

3.2 運行

3.3 調試

4.總結

1.前言

繼阿里推出阿里OS,華為推出鴻蒙OS,騰訊的TencentOS tiny之后,小米也高調的推出Xiaomi Vela。各大互聯網公司都在做自己的物聯網操作系統,物聯網操作系統已呈現百花齊放百家爭鳴的態勢。這篇文章主要講Nuttx的使用。

11月5日,在小米開發者大會(MIDC 2020)上,小米Vela正式問世。

小米IoT平臺部總經理、AIoT戰略委員會主席范典在發布會上介紹稱,“小米Vela是基于開源嵌入式操作系統NuttX打造的物聯網軟件平臺。”

NuttX是由Gregoy Nutt在2007年發布的一個實時嵌入式操作系統,發布之初并未像Linux一樣迅速發展起來。不過由于NuttX在設計之初就考慮到了對應用較為廣泛的Linux的兼容、并對POSIX原生支持,在過去幾年里也可見看到索尼、三星等大廠先后加入了這一陣營。

本文主要介紹在riscv32的qemu上體驗nuttx的編譯和執行過程。

2.環境準備

編譯和運行環境在Ubuntu20.04平臺上。

2.1 安裝riscv32交叉編譯工具鏈

InstallRISC-Vtoolchains $gitclone--recursivehttps://github.com/riscv/riscv-gnu-toolchain 國內下載地址,每天更新一次 #gitclone--recursivegit@gitee.com:mirrors/riscv-gnu-toolchain.git $cdriscv-gnu-toolchain/ $mkdirbuild&&cdbuild $../configure--prefix=/opt/riscv--enable-multilib $sudomake $exportPATH=$PATH:/opt/riscv/bin

編譯和下載過程很慢,可以直接下載直接編譯好的

https://www.sifive.com/software

然后導入環境變量

exportPATH=/xxxx/riscv64-unknown-elf-gcc-8.3.0-2020.04.0-x86_64-linux-ubuntu14/bin/:$PATH

設置完成后,在該終端可以生效。

2.2 安裝qemu

首先需要下載qemu,可以到qemu的官網上下載。

https://www.qemu.org/

可選擇最新版本下載即可。

解壓后進入qemu-5.2

$./configure--target-list=riscv32-softmmu $make $sudomakeinstall

可以輸入qemu-system-riscv32 --version驗證是否成功。

2.3 獲取Nuttx源代碼

$gitclonehttps://github.com/apache/incubator-nuttx.gitnuttx $gitclonehttps://github.com/apache/incubator-nuttx-apps.gitapps $gitclonehttps://starcat-io@bitbucket.org/nuttx/tools.gittools

下載上面三個倉庫的代碼即可。

2.4 安裝kconfig-frontends

首先進入tools目錄,然后配置,安裝。

$cd${CURDIR}/tools/kconfig-frontends $./configure--enable-mconf--disable-nconf--disable-gconf--disable-qconf $make $sudomakeinstall

配置完成就可以進行下面的編譯和運行了。

3.編譯和運行

3.1 編譯

首先進入nuttx目錄,輸入./tools/configure.sh hifive1-revb:nsh。

輸入make menuconfig進入配置選擇開發板。

會出現如下的錯誤。

errorwhileloadingsharedlibraries:libkconfig-parser-4.11.0.so:cannotopensharedobjectfile:Nosuchfileordirectory

解決辦法

sudovim/etc/ld.so.conf

在下面添加一行

include/usr/local/lib

如圖所示

接著執行

sudoldconfig makemenuconfig

選擇FE310_QEMU開發平臺。

選擇完成后,輸入

make

開始編譯,編譯完成為止。

3.2 運行

進入nuttx目錄,輸入

qemu-system-riscv32-nographic-machinesifive_e-kernel./nuttx

可以看到,有類似于Linux的設備描述節點。

3.3 調試

可以輸入下面的命令。

qemu-system-riscv32-nographic-machinesifive_e-kernel./nuttx-s-S

主要注意-s -S。

另外開一個終端即可。

riscv64-unknown-elf-gdbnuttx

4.總結

nuttx這個物聯網系統特點是與Linux的兼容,并支持原生的posix接口。這對于做Linux的人來說,十分的友好,通過對這份代碼的初步閱讀,對該系統的功能還是比較強大的。對于rtos來說,實時性至關重要,實時性指標不僅僅是響應迅速,而是時間可預測,也就是也預制程序執行的下個流程,要求時間的確定性。對于物聯網操作系統來說,硬實時性不是最關鍵的,應用和程序的兼容性,可移植性強比較關鍵。nuttx這個系統的兼容性和Linux結合的很好。

責任編輯:xj

原文標題:nuttx在riscv的qemu上運行體驗

文章出處:【微信公眾號:嵌入式IoT】歡迎添加關注!文章轉載請注明出處。

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

    關注

    0

    文章

    694

    瀏覽量

    35175
  • RISC-V
    +關注

    關注

    48

    文章

    2888

    瀏覽量

    53044
  • qemu
    +關注

    關注

    0

    文章

    57

    瀏覽量

    5946

原文標題:?nuttx在riscv的qemu上運行體驗

文章出處:【微信號:Embeded_IoT,微信公眾號:嵌入式IoT】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【CIE全國RISC-V創新應用大賽】+MUSE Pi Pro RiscV UEFI固件開發

    apt-get install device-tree-compiler 編譯命令執行后,將得到RiscV平臺相關的UEFI固件文件。 3. 關于EDK2及EDK2-Platforms的架構說明
    發表于 11-13 00:20

    怎么能讓riscv32-unknown-elf-gcc支持e203?

    --prefix=/opt/riscv32 --with-arch=rv32imac --with-abi=ilp32 后 make 生成的riscv32-unknown-elf-gcc編譯出來的程序無法
    發表于 11-10 07:06

    qemu上體驗芯來RISC-V處理器運行鴻蒙LiteOS-M內核

    qemu上體驗芯來RISC-V處理器運行鴻蒙LiteOS-M內核 1.本文概述 2.下載qemu 3.下載鴻蒙LiteOS-M 4.運行與測試 5.gdb調試 1.本文概述
    發表于 10-31 09:04

    riscv實現自定義指令并用qemu運行

    install 其中your_path/linux_qemu是自己存在的目錄。編譯完成后,qemu該目錄下。 4.1 添加擴展指令的decodetree 由于
    發表于 10-31 07:37

    Linux系統下編譯C語言仿真蜂鳥E203(二)

    的可執行文件如下圖所示,使用的編譯工具為riscv-nuclei-elf-gcc 每次編譯程序時,需要 source setup.sh文件,將gcc的路徑環境加載進來
    發表于 10-24 13:38

    蜂鳥例程的編譯與程序的加載

    下的Makefile中,依次執行了clean、elf、dump三個命令。編譯過程使用了riscv的toolchain: clean: 清除原有編譯
    發表于 10-24 13:34

    Linux ubuntu上使用riscv-formal工具驗證蜂鳥E203 SoC的正確性

    內容:Linux ubuntu上使用riscv-formal工具驗證蜂鳥E203 SoC的正確性 步驟: 1、下載和安裝riscv-formal工具: bash復制代碼 git clone
    發表于 10-24 07:52

    Linux環境中使用riscv-torture的方法

    步驟: 1、安裝riscv-gnu-toolchain 要使用riscv-torture,您需要先安裝riscv-gnu-toolchain,該工具鏈提供了RISC-V架構的GNU編譯
    發表于 10-24 06:32

    windows下編譯riscv openocd是什么原因?

    https://github.com/riscv-mcu/riscv-openocd 下載源碼,基于windows的msys2中搭建環境編譯 執行
    發表于 10-20 07:29

    使用qemu-vexpress-a9 運行用戶程序跑不了怎么解決?

    qemu-vexpress-a9 的 sd.bin 鏡像文件中。 然后成功編譯rt-threadbspqemu-vexpress-a9的內核態.elf文件 使用./qemu-nographic.sh 模擬用戶態程序的運行,顯
    發表于 10-09 07:41

    VScode調試qemu-vexpress-a9工程,GDB出錯怎么解決?

    按官方教程編譯了,也修改了qemu-dbg.bat文件。啟動調試后qemu窗口閃了一下,然后vscode彈窗表示不行。 有小伙伴遇到過嗎?
    發表于 09-28 08:17

    最新版本qemu編譯不過怎么解決?

    最新版源碼 qemu-vexpress-a9編譯不過了。提示RT_PAGE_AFFINITY_BLOCK_SIZE 未定義
    發表于 09-24 07:20

    riscv virt64編譯后 ls無法運行怎么解決?

    用倉庫里的默認配置編譯qemu-virt64-riscv 生成后運行,顯示 [E/DBG] virtio-blk0 mount failed ls看不到文件夾 msh />ls No such directory
    發表于 09-22 06:38

    如何在AMD Vitis Unified 2024.2中連接到QEMU

    本篇文章我們將學習如何在 AMD Vitis Unified 2024.2 中連接到 QEMU。 這是本系列的第 2 篇博文。要了解如何設置和使用 QEMU + 協同仿真,請參閱開發者分享|
    的頭像 發表于 08-06 17:24 ?1831次閱讀
    如何在AMD Vitis Unified 2024.2中連接到<b class='flag-5'>QEMU</b>

    【VisionFive 2單板計算機試用體驗】人臉識別1——交叉編譯環境搭建

    ,但是小了就只有12個核心工作了 接下來就是漫長的編譯過程了,預計需要1h,耐心等待吧,核心越多編譯時間越短 編譯
    發表于 07-20 23:59