0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

算能开发者社区 2024-06-01 08:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Milk-V DuoS 是一款搭载SG2000 主控,拥有512MB内存和丰富 IO 接口的紧凑型嵌入式开发平台。它集成了 WI-FI 6/BT 5 无线功能,并配备 USB 2.0 HOST 接口和 100Mbps 以太网端口,方便用户使用。它支持双摄像头(2x MIPI CSI 2 通道)和 MIPI 视频输出(MIPI DSI 4 通道),可实现多种应用。DuoS 还支持通过开关在 RISC-VARM 启动之间切换,适合各种场景和更复杂的项目开发需求。

NuttX是什么?

NuttX是一个专注于标准合规和占用少内存的实时操作系统(RTOS)。它可以在8位到32位的微控制器上部署。NuttX在编写时主要参照了POSIX和ANSI标准。对于那些标准中没有的部分,如fork()等,则参考了VxWorks或其他RTOS。"

总的来说,NuttX是一个功能丰富、性能稳定,成熟安全的实时操作系统。大家熟悉的Xiaomi Vela,包括索尼的一些产品都是基于NuttX开发的,可以说,对于有过POSIX编程经验,并想使用小型CPU/MCU的用户而言NuttX RTOS是一个绝佳选择。最近,我们惊喜的发现,社区大佬Lup Yuen Lee使用DuoS开发板成功将NuttX移植到了SG2000处理器上! 让我们一起来看看大佬是怎么做到的

Port to SG2000

  1. 大佬使用的系统环境是另一位Github大神Justin Hammond基于sg2000制作的debian risc-v架构的镜像,链接附在下方:(膜拜ing,学的速度都快赶不上大佬们开发速度了!)https://github.com/Fishwaldo/sophgo-sg200x-debian/releases

将镜像烧写到DuoS开发板上,成功后我们可以看到:a3f3938e-1fae-11ef-bd4a-92fbcf53809c.png

值得注意的地方是,大佬特别提到请使用CP2101型号的USB转串口处理器,若使用CH340系列处理器,屏幕上则会到处打印乱码。

在开机过程中,我们可以通过log发现U-Boot是支持TFTP的,即我们可以将编译好的NuttX Image直接在U-Boot阶段就将固件传进去,是不是非常方便高效!(虽然也可以将编译好的NuttX复制到sd卡上,再插到开发板上,但是如果需要调试则整个过程就会循环往复,十分不便...)使用reboot指令重新启动,然后一直敲击Enter键,就可以进入到U-Boot Command Prompt界面:a3fa7e10-1fae-11ef-bd4a-92fbcf53809c.png

$help//打印所有可执行指令
$printenv//打印所有的环境变量
$netlist//查看可用网络设备
eth0:ethernet@4070000000000:00active//这里发现我们可以直接通过ethernet来传输和移植NuttX

通过查看kernel_addr_r、ramdisk_addr_r等参数,我们就可以正确配置NuttX,使其能将Kernel传到正确的地址上。不过不用担心,贴心的大佬已经替我们做了先行工作,我们可以直接使用编译好的镜像来体验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里了。请先确保在本地环境上已经装好了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}

如果使用静态IP地址,可能会在第一步dhcp指令失败,这时可以通过设置ipaddr使开发板和pc host在同一子网内,确保互相能ping通,再将第一步的dhcp改为tftpboot即可。

当我们看到nsh>字样时候,证明我们已经成功将NuttX移植到板子上了!a3fee036-1fae-11ef-bd4a-92fbcf53809c.png

在仓库的README里,对每个步骤都有更详细的解释,大佬对代码也在不断进行更新,小伙伴们赶快拿起手里的DuoS开发板,一起探索起来!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20166

    浏览量

    329099
  • 开发板
    +关注

    关注

    25

    文章

    6139

    浏览量

    113609
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18430
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【作品合集】群芯闪耀Milk-V Duo S 开发板测评

    体验】SDK系统构建体验 【Milk-V Duo S 开发板免费体验】移植lrzsz方便使用zmodem进行文件传输 【Milk-V Duo S
    发表于 09-16 11:03

    Milk-V Duo S 开发板免费体验 加焊EMMC 烧录系统

    【Milk-V Duo S 开发板免费体验】
    的头像 发表于 08-20 09:24 739次阅读
    Milk-V <b class='flag-5'>Duo</b> <b class='flag-5'>S</b> 开发板免费体验 加焊EMMC 烧录系统

    【Milk-V Duo S 开发板免费体验】扩展根分区和开发环境搭建

    ,16G卡回来了。 开发环境配置,官方提供了https://github.com/milkv-duo/duo-examples.git和https://github.com/milkv
    发表于 08-12 22:33

    【Milk-V Duo S 开发板免费体验】基于Duo S 使用 TDL SDK(V2版本)

    需要在PC主机的 Linux 环境下进行交叉编译。以下操作在PC主机的Linux环境下进行。 获取 TDL-SDK 示例源码 git clone https://github.com/milkv-duo
    发表于 08-10 22:35

    【Milk-V Duo S 开发板免费体验】基于Duo S 使用 TDL SDK(V1版本)

    程序地址:https://github.com/milkv-duo/cvitek-tdl-sdk-sg200x SDK下载: $ git clone https://github
    发表于 08-10 22:09

    【Milk-V Duo S 开发板免费体验】Milk-V DuoS性能测试

    ;编译 有鉴于Milk-V Duo S 开发板固件没带GCC,所以懒得去部署了,还是在WSL上交叉编译吧。 (一)源码下载 直接从github上拉源码,git clone https
    发表于 08-09 23:32

    【Milk-V Duo S 开发板免费体验】Duo S(SG2000)开发板测评

    然后使用SSH登录,新建一个终端,再次打开一个终端: # iperf3 -c 192.168.101.5 -i 1 速度还是可以的。 Milk-V DUO S: https://milkv.io/zh/duo-s
    发表于 07-11 22:46

    【Milk-V Duo S 开发板免费体验】开发环境搭建和测试

    一、编译环境 我的编译环境为WSL2,Ubuntu24.04。 计划在WSL上交叉编译可执行文件,传输到Milk-V Duo S 开发板上执行。 二、下载源码 首先从github下载官方的代码
    发表于 07-10 00:31

    【Milk-V Duo S 开发板免费体验】Duo S(SG2000)初步使用

    核心提供极高的带宽数据流。此外也为用户提供了强大的深度学习模型编译器和软件 SDK 开发包。主流的深度学习框架,比如 Caffe 和 Tensorflow,可以轻松地移植其平台上。除此之外,还提供了
    发表于 07-10 00:27

    【Milk-V Duo S 开发板免费体验】人脸识别Demo应用

    /tdl-sdk-introduction我这里使用V2固件 下载源码git clone https://github.com/milkv-duo/duo-tdl-examples.git 进入目录cd
    发表于 07-09 11:09

    【Milk-V Duo S 开发板免费体验】SDK系统构建体验

    获取源码git clone https://github.com/milkv-duo/duo-buildroot-sdk-v2.git --depth=1 2)下载buildroot包wget
    发表于 07-08 14:41

    【Milk-V Duo S 开发板免费体验】2 - 安装编译环境并测试Hello world!

    。相关介绍来自官方文档:duo-examples/README-zh.md at main · milkv-duo/duo-examples · GitHub 下载例程代码 使用下面的
    发表于 07-07 21:18

    【Milk-V Duo S 开发板免费体验】1-开箱和烧写镜像

    感谢电子发烧友和Milk-V提供的评测机会。 开发板简介 我以前在电子发烧友评测过Milk-V Duo,也曾经带学生打过集创赛算能赛道,对他们的产品有所了解。Milk-V Duo SDu
    发表于 07-02 20:42

    【Milk-V Duo S 开发板免费体验】Milk-V Duo S 开发板试用报告(1)开箱

    一、初识 盼啊盼,终于盼来了这块Milk-V Duo S。先看一下Duo S的包装。(图1) 图1 可以看到,外圈有一层塑料外壳,并且材质很好,摸起来很顺滑。而用普通Milk-V
    发表于 06-29 19:43

    【Milk-V Duo S 开发板免费体验】Milk-V Duo S开箱、固件烧写和系统体验

    套件。 Caffe、Pytorch、ONNX、MXNet、TensorFlow(Lite)等主流深度学习框架都可以轻松移植该平台。 Milk-V Duo S
    发表于 06-27 23:21