一、开发资料整理
Docker
https://hub.docker.com/repository/docker/dreamcmi/cv1800-docker/general
GitHub
https://github.com/milkv-duo/duo-buildroot-sdk
CV181x/CV180x MMF SDK 开发文档汇总
https://developer.sophgo.com/thread/471.html
cv181x芯片使用的交叉编译工具链
https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz
1800B开发板资料
https://developer-assets.sophon.cn/sophon-developer-prod-s3/thread-attachment/23/05/12/19/CV180xB_QFN68.zip
Docs
https://milkv.io/docs/duo
milkv论坛
https://community.milkv.io/
二、试用信息
试用:【RISC-V 专题】Milk-V
Duo 开发板首发免费试用 - 电子威廉希尔官方网站
论坛 - 广受欢迎的专业电子论坛! (elecfans.com)
基于算能 CV1800B芯片的MPU,能够运行基于LINUX和RTOS的操作系统
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS72iqAf8LtAA8ex-8W5Hk058.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS72iyAQelfAALc6Q_BEn0930.png)
三、环境搭建
3.1 通过VMware安装ubunt20
查看第二章(环境搭建)的第一小节(安装虚拟机)即可。
【飞凌RZ/G2L开发板试用体验】1. 资料整理及环境搭建 - 飞凌嵌入式 - 电子威廉希尔官方网站
论坛 - 广受欢迎的专业电子论坛! (elecfans.com)
3.2 安装samba
用于windows向虚拟机传输文件
安装Samba Server
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS728SAL5rzAAVBh_zQGZY209.png)
增加samba用户
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS728-AUMxsAAEcBDjvRk8630.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS729-AFgFlAAWUWAuxXCE246.png)
修改权限
sudo vim /etc/samba/smb.conf
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS72-mAJJwIAAGOm-Bg5F0365.png)
跳到最后一行,输入“:$”,注意需要按下Esc后输入
开始修改则按下“i”,左下角显示--
INSERT --,则表示可以开始输入了
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS72_OAYWRyAAJdUqfk_z4635.png)
输入内容后,按下Esc,然后输入“:wq”后回车,保存并退出
启动samba服务
sudo service smbd restart
查看ip
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS72_2AC7UDAAS40cXsCCM536.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS73AOAWFqcAAGruUZRIao344.png)
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS73AmADmV7AADmiq-BV50900.png)
这样就能访问到linux中的milkv目录了
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS73BGAbVAHAACBWINx0Lc672.png)
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS73BeAMb8PAADNk_e_XgY542.png)
四、代码获取
旧版git:https://github.com/milk-v/duo-manifest
不建议使用
最新版本:https://github.com/milkv-duo/duo-buildroot-sdk
4.1 工具安装
sudo apt install pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tclsh ssh-client android-sdk-ext4-utils
4.2 安装cmake
查看cmake版本
cmake --version
最低版本是3.16.5,通过pip安装的不符合要求,需要自己再更新
参考最新git里的步骤就行
wget
https:
chmod +x cmake-3.26.4-linux-x86_64.sh
sudo ./cmake-3.26.4-linux-x86_64.sh
--skip-license --prefix=/usr/local/
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS73eeAABfEAApaJwV8UPc947.png)
注意,此时再查看cmake可能提示依旧是3.16,而sh脚本运行又是正常的。
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS73e-AECdOAAIHiSnXQIs523.png)
那就需要删除先删除之前创建的cmake,然后再重新运行脚本
whereis make
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS73iCAYcDhAADXjEYQG6E476.png)
删除这两个路径以及/usr/local/share/cmake-3.xx
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS73huAMXg7AAJ46Z4QRq0821.png)
4.3 获取git-repo
没办法获取repo
参考:https://blog.csdn.net/Timothy_Liu0114/article/details/104971066
![image.png](//file1.elecfans.com/web2/M00/8D/85/wKgZomS73p2Abf6AAAI5_nHTJvE921.png)
移动git-repo并重命名为repo
mv ~/git-repo/ /home/milkv/pro/.repo
mv git-repo repo
抓取git
git clone https://github.com/milkv-duo/duo-buildroot-sdk.git
五、编译
先参考git中的”一键编译“。
后续可以创建sh脚本实现运行脚本编译。
创建1_build.sh文件,内容如下
code_dir=/home/milkv/duo_buildroot_sdk/duo-buildroot-sdk
log_dir=/home/milkv/duo_buildroot_sdk/duo-buildroot-sdk/_log
current_date=`date +%Y_%m_%d_%H_%M`
log_name="log_$current_date.txt"
log_path=$log_dir'/'$log_name
export MILKV_BOARD=milkv-duo
cd $code_dir
echo ------------source-----------------
source milkv/boardconfig-milkv-duo.sh
source build/milkvsetup.sh
echo
echo ------------config-----------------
defconfig cv1800b_milkv_duo_sd
echo
echo ------------clean-----------------
clean_all
echo
echo ------------build-----------------
echo ------------build----------------- > $log_path
build_all >> $log_path
echo
echo ------------package-----------------
echo ------------package----------------- >> $log_path
pack_sd_image >> $log_path
六、刷机
6.1 格式化tf卡
注意,tf卡最好用128g以内的,256g在windows上无法格式化为FAT32。
我已经刷过的tf卡,打开磁盘管理,发现分成了三个卷,分别删除两个分区,再创建成一个FAT32分区
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74AKAXdJrAADHUNYorgY928.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74FiADaw7AAKDT7jhhxY717.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS74F6AJG6QAABdXIcAMiQ497.png)
6.2 刷机
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS737qAXvF6AALf7CVtyBs045.png)
windows刷机工具balenaEtcher
下载路径:
balenaEtcher - Flash OS images
to SD cards & USB drives
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS74L6AHrKDAADoRbl6nR4535.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74MGAa7G_AACuUk2fnGk551.png)
6.3 开机
将tf卡插入板子上,当led灯蓝色亮起表示板子正常启动。
在设备管理器中查看RNDIS设备
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74QWAY9yQAAGnAKf3eDQ403.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74QWAY9yQAAGnAKf3eDQ403.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS74Q6AD9suAALJgK5hN0E527.png)
更新驱动完成后
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgaomS74RqAckiOAAJt16Kdpm8601.png)
七、登录开发板
cmd窗口中输入
ssh root@192.168.42.1
如果刷tf卡后再刷机,再次登录时会导致ssh失败,需要删除原来的key,根据提示找到对应的路径下删除即可。
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74TGAKTl9AAJR3QB9JdI182.png)
![image.png](//file1.elecfans.com/web2/M00/8D/86/wKgZomS74YKAdj92AAAzt7dM3Zc001.png)