【Milk-V Duo 开发板1积分体验】大概是最小riscv linux开发板吧?!

不得不说这真是一块小巧至极的Linux开发板,尺寸对标的树莓派pico。

Screenshot from 2023-08-19 23-29-20

1、milkv duo硬件资源介绍

  • milkv duo是一款基于cvitek cv1800b的双核迷你开发板。

  • 核心架构由2颗RISCV C906构成,主频1GHz,内置64MB DDR,支持SPI NOR,SPI NAND存储。

  • 外围电路接口包括GPIO,UART,SPI,I2C,PWM,ADC,MAC PHY,USB,SDIO等,此外该芯片还配置有1个TPU单元,具有0.5TOPS算力,搭配官方TPU-MLIR工具,可实现常见AI框架模型快速转换和应用。

  • 此外该芯片还提供了音视频接口相关模块,可做多媒体应用,如IPcam等。

近距离看看:由于芯片内置了64MB内存,因此在元器件布局上,这块开发板电路真的很简单;TypeC接口连接USB,通过配置内核实现了模拟网口;板载了DSI接口,用于连接摄像头;SD卡用于装载系统镜像和存储数据,SD卡正下方有SDNAND焊盘,目前还不知道怎么用。

2、软件应用体验及问题

目前官方提供的duo-buildroot-sdk,已经集成了opensbi,uboot、linux、buildroot,freertos和基于音视频编码处理相关中间件和驱动,一般用户可以直接执行傻瓜式命令操作,就能生成最终系统镜像文件,论坛里已有相关编译刷机教程,这里不再多讲。

而我参考了网上帖子,在buildroot的配置文件中增加了nano、python、htop的编译选项,然后一键编译,比较有意思的是这里buildroot会直接下载对应最新的软件版本,比如python在系统包里是3.7,而我在线直接安装到了3.9版本。

  • 2.1开机。

本人宿主机是ubuntu20.04,系统默认支持RNDIS,刷好系统后直接插上SD卡,上电后等蓝灯闪烁就可以愉快的通过usb口利用ssh登录系统了。查看系统信息,内存很少仅仅只有不到30MB,因为有一部分设置给ION了,可以在编译代码的时候去掉。

2.2跑个应用吧!

参考网上大神的帖子,陆续跑了helloworld、vsftp、OpenCV,TPU图像分类。下面依次分享遇到的坑。

  • 2.2.1 hello world!

helloworld是最简单了应用了,其实要跑在milkv duo的linux上并不困难,只要看看系统采用交叉编译就行,SDK包里host-tools里提供了3个gcc工具,通过检查系统,发现用musl-gcc那个工具,编译成功,scp到duo上即可。

  • 2.2.2 vsftp使用

vsftp编译参考了网上帖子,使用时要注意不要轻易上传编译好的程序文件,vsftp默认不允许传送二进制代码,通过vsftp传送过去的代码会出现段错误,这个细节需要注意。

  • 2.2.2 OpenCV演示

OpenCV编译参考(https://community.milkv.io/t/opencv-4-5-4/82)大神的帖子,编译过程很顺利。后续使用通过将生成的库文件拷贝到duo上,然后调用即可。

这里参考网上分别编写了图片的灰度处理程序及图片边缘检测的程序。
由于duo不带屏幕,通过vsftp连接并下载到本地,这里看对比图。


  • 2.2.3 应用TPU实现图像分类

TPU是duo最大的一个亮点,虽然芯片CV1800B仅有0.5TOPS的算力,不过也可以跑跑常用的模型推理。
这一部分最大的问题就是环境的搭建问题。

最开始我通过docker pull了最新官方docker环境文件系统,然后git clone了官方最新的tpu-mlir代码,按照官网说明一步一步操作,但是编译tpu-mlir都失败,后来直接下载了tpu-mlir release包,结果在执行模型转换脚本时仍然有错误。

后来无奈通过ftp下载了官方v2.2版本的docker系统,这次竟然很顺利直接参考官方教程跑了resnet18的图片分类程序。
下面是跑分的结果,其中第一次使用的还是sdk里带的图片,第二次是网上找的小鸟图片,该图片如果涉及侵权,我将删除,最终识别效果还可以。


以上是本次参加milkv duo积分体验活动使用电路板的一些过程和体会。

3、对milkv duo一些建议

3.1前面说过,这个硬件芯片内是双核系统,其实Linux和Freertos都分别在两个核上运行了,通过查看SDK中针对freertos的代码,可以发现其实双核是可以通讯的,内核里也有相关配置和驱动(rtos_cmd_qu),但可惜的是目前针对这一部分的API并没有给出来,用户如果想要同时操作双核系统,还得再等等。

3.2 建议硬件电路上增加SPI NOR电路,这样应该就能跑AliOS了,AliOS相关代码在算能的论坛里已开放。同时建议考虑增设wifi模块,更能增加用户玩板乐趣。

3.2 目前官方的milkv duo外围扩展电路板还没有正式上架,近期上架了摄像头,已经采购了2个,但还一直等发货。也十分期待milkv duo的底板能上架,进一步丰富硬件的可玩性。

1 Like