RM新时代网站-首页

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

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

3天內不再提示

太強了!Github大佬把NuttX移植到Duo-S上了!

算能開發(fā)者社區(qū) ? 2024-06-01 08:34 ? 次閱讀

Milk-V DuoS 是一款搭載SG2000 主控,擁有512MB內存和豐富 IO 接口的緊湊型嵌入式開發(fā)平臺。它集成了 WI-FI 6/BT 5 無線功能,并配備 USB 2.0 HOST 接口和 100Mbps 以太網(wǎng)端口,方便用戶使用。它支持雙攝像頭(2x MIPI CSI 2 通道)和 MIPI 視頻輸出(MIPI DSI 4 通道),可實現(xiàn)多種應用。DuoS 還支持通過開關在 RISC-VARM 啟動之間切換,適合各種場景和更復雜的項目開發(fā)需求。

NuttX是什么?

NuttX是一個專注于標準合規(guī)和占用少內存的實時操作系統(tǒng)(RTOS)。它可以在8位到32位的微控制器上部署。NuttX在編寫時主要參照了POSIX和ANSI標準。對于那些標準中沒有的部分,如fork()等,則參考了VxWorks或其他RTOS。"

總的來說,NuttX是一個功能豐富、性能穩(wěn)定,成熟安全的實時操作系統(tǒng)。大家熟悉的Xiaomi Vela,包括索尼的一些產(chǎn)品都是基于NuttX開發(fā)的,可以說,對于有過POSIX編程經(jīng)驗,并想使用小型CPU/MCU的用戶而言NuttX RTOS是一個絕佳選擇。最近,我們驚喜的發(fā)現(xiàn),社區(qū)大佬Lup Yuen Lee使用DuoS開發(fā)板成功將NuttX移植到了SG2000處理器上! 讓我們一起來看看大佬是怎么做到的

Port to SG2000

  1. 大佬使用的系統(tǒng)環(huán)境是另一位Github大神Justin Hammond基于sg2000制作的debian risc-v架構的鏡像,鏈接附在下方:(膜拜ing,學的速度都快趕不上大佬們開發(fā)速度了?。﹉ttps://github.com/Fishwaldo/sophgo-sg200x-debian/releases

將鏡像燒寫到DuoS開發(fā)板上,成功后我們可以看到:a3f3938e-1fae-11ef-bd4a-92fbcf53809c.png

值得注意的地方是,大佬特別提到請使用CP2101型號的USB轉串口處理器,若使用CH340系列處理器,屏幕上則會到處打印亂碼。

在開機過程中,我們可以通過log發(fā)現(xiàn)U-Boot是支持TFTP的,即我們可以將編譯好的NuttX Image直接在U-Boot階段就將固件傳進去,是不是非常方便高效?。m然也可以將編譯好的NuttX復制到sd卡上,再插到開發(fā)板上,但是如果需要調試則整個過程就會循環(huán)往復,十分不便...)使用reboot指令重新啟動,然后一直敲擊Enter鍵,就可以進入到U-Boot Command Prompt界面:a3fa7e10-1fae-11ef-bd4a-92fbcf53809c.png

$help//打印所有可執(zhí)行指令
$printenv//打印所有的環(huán)境變量
$netlist//查看可用網(wǎng)絡設備
eth0:ethernet@4070000000000:00active//這里發(fā)現(xiàn)我們可以直接通過ethernet來傳輸和移植NuttX

通過查看kernel_addr_r、ramdisk_addr_r等參數(shù),我們就可以正確配置NuttX,使其能將Kernel傳到正確的地址上。不過不用擔心,貼心的大佬已經(jīng)替我們做了先行工作,我們可以直接使用編譯好的鏡像來體驗NuttX。

鏡像下載:https://github.com/lupyuen2/wip-nuttx/releases/download/sg2000-1/Image

想自己動手試試的朋友可以參考這份帖子,里面大佬也非常詳細的說明了如何為SG2000構建NuttX:https://lupyuen.github.io/articles/sg2000#appendix-build-nuttx-for-sg2000

接下來我們就可以配置TFTP, 并將NuttX Image傳進RAM里了。請先確保在本地環(huán)境上已經(jīng)裝好了TFTP server并完成配置。然后就可以在U-Boot命令行配置:

$setenvtftp_server192.168.x.x//本地TFTP地址
$saveenv//保存配置


$dhcp${kernel_addr_r}${tftp_server}:Image-sg2000
$tftpboot${fdt_addr_r}${tftp_server}:cv181x_milkv_duos_sd.dtb
$fdtaddr${fdt_addr_r}
$booti${kernel_addr_r}-${fdt_addr_r}

如果使用靜態(tài)IP地址,可能會在第一步dhcp指令失敗,這時可以通過設置ipaddr使開發(fā)板和pc host在同一子網(wǎng)內,確?;ハ嗄躳ing通,再將第一步的dhcp改為tftpboot即可。

當我們看到nsh>字樣時候,證明我們已經(jīng)成功將NuttX移植到板子上了!a3fee036-1fae-11ef-bd4a-92fbcf53809c.png

在倉庫的README里,對每個步驟都有更詳細的解釋,大佬對代碼也在不斷進行更新,小伙伴們趕快拿起手里的DuoS開發(fā)板,一起探索起來!

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

    關注

    5082

    文章

    19104

    瀏覽量

    304797
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5032

    瀏覽量

    97371
  • GitHub
    +關注

    關注

    3

    文章

    468

    瀏覽量

    16427
收藏 人收藏

    評論

    相關推薦

    Arm推出GitHub平臺AI工具

    專為 GitHub Copilot 設計的 Arm 擴展程序,可加速從云邊緣側基于 Arm 平臺的開發(fā)。
    的頭像 發(fā)表于 11-01 13:50 ?281次閱讀

    Arm推出GitHub平臺AI工具,簡化開發(fā)者AI應用開發(fā)部署流程

    專為 GitHub Copilot 設計的 Arm 擴展程序,可加速從云邊緣側基于 Arm 平臺的開發(fā)。 Arm 原生運行器為部署云原生、Windows on Arm 以及云邊緣側的 AI
    的頭像 發(fā)表于 10-31 18:51 ?1957次閱讀

    上傳本地項目代碼github

    配置ssh key 打開GitHub的設置界面,點擊setting。 點擊SSH and GPG keys。 點擊new SSH keys。 id_rsa.pub里的內容復制key里
    發(fā)表于 09-11 16:33

    【GD32 MCU 移植教程】9、從 STM32F10x 系列移植 GD32F30x 系列

    對比、外設及性能對比以及從 STM32F10x 移植 GD32F30x 的移植步驟,旨在讓開發(fā)者能夠快速從STM32F10x 移植 GD
    的頭像 發(fā)表于 09-07 09:57 ?677次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、從 STM32F10x 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32F30x 系列

    這個機子內存是不是集成板子上了,哪里可以插個接口訪問內存?

    我這個機子內存是不是集成板子上了呀,哪里可以插個接口訪問內存呀。
    發(fā)表于 08-30 09:04

    GitHub推出GitHub Models服務,賦能開發(fā)者智能選擇AI模型

    8月2日,全球領先的代碼托管平臺GitHub宣布了一項重大創(chuàng)新——GitHub Models服務的正式推出。該服務被定位為AI時代的工程師助手,旨在幫助全球超過1億的GitHub用戶輕松找到并應用最適合其項目需求的AI模型。
    的頭像 發(fā)表于 08-02 15:39 ?576次閱讀

    使用esp32-c3下載Nuttx,下載完成后一直重啟是怎么回事?

    我使用esp32-c3下載Nuttx,下載完成后一直重啟.不知道是怎么回事.,這個是圖片截圖.
    發(fā)表于 06-21 07:15

    esp32無法燒錄github上的一個固件,為什么?

    我準備用esp32-s2模組來做一個簡易的激光雕刻機 代碼是github上的https://github.com/bdring/FluidNC 在運行安裝腳本的時候,提示我芯片是esp32-
    發(fā)表于 06-17 08:00

    STM8S103K程序移植STM8S103F中就實現(xiàn)不了PWM功能了,為什么?

    我在STM8S103K,上能夠實現(xiàn)定時器1中的CH1通道可以實現(xiàn)PWM功能,程序移植STM8S103F中,就實現(xiàn)不了,但是修改STM8
    發(fā)表于 05-11 07:16

    PX4 1.15.0添加hpmicor板子遇到些問題

    nuttx 1.12.0下面的hpmicro包移植PX4 1.15.0 的nuttx下,經(jīng)過修改部分內容,成功編譯和運行,但是在PX4/boards下新建板子編譯,遇到如圖中的問題
    發(fā)表于 04-16 15:46

    STM32F407的程序移植STM32F103的芯片上面,需要修改哪些內容?

    STM32F407的程序移植STM32F103的芯片上面,需要修改哪些內容?
    發(fā)表于 04-10 07:38

    如何stm32F103程序移植stm32g030k6t6上?

    怎么stm32F103程序移植stm32g030k6t6上
    發(fā)表于 04-03 07:57

    先楫半導體HPMicro Nuttx v0.2.0正式發(fā)布!

    各位關注先楫的小伙伴們,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式發(fā)布了。
    的頭像 發(fā)表于 03-12 10:22 ?1306次閱讀

    GitHub多項服務故障,與升級MySQL有關?

    從事故報告頁面來看,GitHub 當時的解決方案是將相關問題隔離一個數(shù)據(jù)中心進行處理。
    的頭像 發(fā)表于 01-11 11:34 ?472次閱讀
    <b class='flag-5'>GitHub</b>多項服務故障,與升級MySQL有關?

    Nuttx RTOS入門知識簡介及開源代碼運行

    NuttX是一個成熟的實時操作系統(tǒng),于07年由Gregory Nutt先生正式開源,2016年被三星選為TizenRT操作系統(tǒng)的內核
    的頭像 發(fā)表于 01-10 18:14 ?5587次閱讀
    <b class='flag-5'>Nuttx</b> RTOS入門知識簡介及開源代碼運行
    RM新时代网站-首页