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-V 和 ARM 启动之间切换,适合各种场景和更复杂的项目开发需求。
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
- 大佬使用的系统环境是另一位Github大神Justin Hammond基于sg2000制作的debian risc-v架构的镜像,链接附在下方:(膜拜ing,学的速度都快赶不上大佬们开发速度了!)https://github.com/Fishwaldo/sophgo-sg200x-debian/releases
将镜像烧写到DuoS开发板上,成功后我们可以看到:
值得注意的地方是,大佬特别提到请使用CP2101型号的USB转串口处理器,若使用CH340系列处理器,屏幕上则会到处打印乱码。
在开机过程中,我们可以通过log发现U-Boot是支持TFTP的,即我们可以将编译好的NuttX Image直接在U-Boot阶段就将固件传进去,是不是非常方便高效!(虽然也可以将编译好的NuttX复制到sd卡上,再插到开发板上,但是如果需要调试则整个过程就会循环往复,十分不便...)使用reboot指令重新启动,然后一直敲击Enter键,就可以进入到U-Boot Command Prompt界面:
$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移植到板子上了!
在仓库的README里,对每个步骤都有更详细的解释,大佬对代码也在不断进行更新,小伙伴们赶快拿起手里的DuoS开发板,一起探索起来!
-
嵌入式
+关注
关注
5082文章
19104浏览量
304782 -
开发板
+关注
关注
25文章
5032浏览量
97371 -
GitHub
+关注
关注
3文章
468浏览量
16427
发布评论请先 登录
相关推荐
评论