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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

太強(qiáng)了!Github大佬把NuttX移植到Duo-S上了!

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

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

NuttX是什么?

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

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

Port to SG2000

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

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

值得注意的地方是,大佬特別提到請(qǐng)使用CP2101型號(hào)的USB轉(zhuǎn)串口處理器,若使用CH340系列處理器,屏幕上則會(huì)到處打印亂碼。

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

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

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

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

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

接下來(lái)我們就可以配置TFTP, 并將NuttX Image傳進(jìn)RAM里了。請(qǐng)先確保在本地環(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地址,可能會(huì)在第一步dhcp指令失敗,這時(shí)可以通過設(shè)置ipaddr使開發(fā)板和pc host在同一子網(wǎng)內(nèi),確保互相能ping通,再將第一步的dhcp改為tftpboot即可。

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

在倉(cāng)庫(kù)的README里,對(duì)每個(gè)步驟都有更詳細(xì)的解釋,大佬對(duì)代碼也在不斷進(jìn)行更新,小伙伴們趕快拿起手里的DuoS開發(fā)板,一起探索起來(lái)!

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

    關(guān)注

    5060

    文章

    18975

    瀏覽量

    302120
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4900

    瀏覽量

    97070
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    465

    瀏覽量

    16359
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Arm推出GitHub平臺(tái)AI工具

    專為 GitHub Copilot 設(shè)計(jì)的 Arm 擴(kuò)展程序,可加速?gòu)脑?b class='flag-5'>到邊緣側(cè)基于 Arm 平臺(tái)的開發(fā)。
    的頭像 發(fā)表于 11-01 13:50 ?168次閱讀

    上傳本地項(xiàng)目代碼github

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

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

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

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

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

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

    我在STM8S103K,上能夠?qū)崿F(xiàn)定時(shí)器1中的CH1通道可以實(shí)現(xiàn)PWM功能,程序移植STM8S103F中,就實(shí)現(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)過修改部分內(nèi)容,成功編譯和運(yùn)行,但是在PX4/boards下新建板子編譯,遇到如圖中的問題
    發(fā)表于 04-16 15:46

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

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

    如何stm32F103程序移植stm32g030k6t6上?

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

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

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

    GitHub多項(xiàng)服務(wù)故障,與升級(jí)MySQL有關(guān)?

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

    Nuttx RTOS入門知識(shí)簡(jiǎn)介及開源代碼運(yùn)行

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

    移植 SBSFU STM32G070 的過程

    電子發(fā)燒友網(wǎng)站提供《移植 SBSFU STM32G070 的過程.pdf》資料免費(fèi)下載
    發(fā)表于 12-18 11:04 ?4次下載
    <b class='flag-5'>移植</b> SBSFU <b class='flag-5'>到</b> STM32G070 的過程

    GitHub入門與實(shí)踐

    GitHub 是一個(gè)基于 Git 版本控制系統(tǒng)的代碼托管平臺(tái),它提供了許多功能和用途,主要面向軟件開發(fā)和協(xié)作。以下是 GitHub 的主要用途和一些關(guān)鍵技術(shù):GitHub 的主要用途:代碼托管
    發(fā)表于 12-14 09:53 ?6次下載

    GitHub底層數(shù)據(jù)庫(kù)無(wú)縫升級(jí)MySQL 8.0的經(jīng)驗(yàn)

    GitHub 團(tuán)隊(duì)近日分享了他們將 GitHub.com 的底層數(shù)據(jù)庫(kù)無(wú)縫升級(jí) MySQL 8.0 的經(jīng)驗(yàn)。 據(jù)介紹,GitHub 使用 MySQL 來(lái)存儲(chǔ)大量關(guān)系數(shù)據(jù),因此在不影響
    的頭像 發(fā)表于 12-13 10:21 ?475次閱讀
    <b class='flag-5'>GitHub</b>底層數(shù)據(jù)庫(kù)無(wú)縫升級(jí)<b class='flag-5'>到</b>MySQL 8.0的經(jīng)驗(yàn)

    LVGL案例分享--手把手教你移植T113-i國(guó)產(chǎn)工業(yè)開發(fā)板

    市面上有許多嵌入式GUI庫(kù)可供選擇,包括開源GUI庫(kù)和閉源GUI庫(kù),開源GUI庫(kù):LVGL,EmWin等;閉源GUI庫(kù):TouchGFX,柿餅GUI等。 本篇文章主要描述如何將LVGL8.1移植創(chuàng)
    發(fā)表于 11-17 09:55