【Milk-V Duo 开发板免费体验】0. duo编译环境搭建

一、开发资料整理

Docker

https://hub.docker.com/repository/docker/dreamcmi/cv1800-docker/general

GitHub

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

milkv论坛

二、试用信息

试用:【RISC-V 专题】Milk-V
Duo 开发板首发免费试用 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)

基于算能 CV1800B芯片的MPU,能够运行基于LINUX和RTOS的操作系统

三、环境搭建

3.1 通过VMware安装ubunt20

查看第二章(环境搭建)的第一小节(安装虚拟机)即可。

【飞凌RZ/G2L开发板试用体验】1. 资料整理及环境搭建 - 飞凌嵌入式 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)

3.2 安装samba

用于windows向虚拟机传输文件

安装Samba Server

增加samba用户

修改权限

sudo vim /etc/samba/smb.conf

输入内容后,按下Esc,然后输入“:wq”后回车,保存并退出

启动samba服务

sudo service smbd restart

查看ip

这样就能访问到linux中的milkv目录了

四、代码获取

旧版git:GitHub - milk-v/duo-manifest
不建议使用

最新版本:GitHub - milkv-duo/duo-buildroot-sdk: Milk-V Duo Official 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://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh

chmod +x cmake-3.26.4-linux-x86_64.sh

sudo ./cmake-3.26.4-linux-x86_64.sh
--skip-license --prefix=/usr/local/

注意,此时再查看cmake可能提示依旧是3.16,而sh脚本运行又是正常的。

那就需要删除先删除之前创建的cmake,然后再重新运行脚本

whereis make

wKgaomS73iCAYcDhAADXjEYQG6E476

删除这两个路径以及/usr/local/share/cmake-3.xx

4.3 获取git-repo

没办法获取repo
参考:github使用错误fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle问题解决办法_Timothy_Liuu的博客-CSDN博客

移动git-repo并重命名为repo

mv ~/git-repo/ /home/milkv/pro/.repo
mv git-repo repo

抓取git
git clone GitHub - milkv-duo/duo-buildroot-sdk: Milk-V Duo Official buildroot SDK

五、编译

先参考git中的”一键编译“。

后续可以创建sh脚本实现运行脚本编译。

创建1_build.sh文件,内容如下

#https://github.com/milk-v/duo-manifest
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") 
current_date=`date +%Y_%m_%d_%H_%M` #(这里的`号不是单引号,而是键盘左上角~键的顿号)
# echo $current_date
log_name="log_$current_date.txt"

log_path=$log_dir'/'$log_name
# echo $log_path

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分区

6.2 刷机

windows刷机工具balenaEtcher
下载路径:
balenaEtcher - Flash OS images
to SD cards & USB drives

6.3 开机

将tf卡插入板子上,当led灯蓝色亮起表示板子正常启动。

在设备管理器中查看RNDIS设备

更新驱动完成后

七、登录开发板

cmd窗口中输入

ssh root@192.168.42.1

如果刷tf卡后再刷机,再次登录时会导致ssh失败,需要删除原来的key,根据提示找到对应的路径下删除即可。

wKgZomS74YKAdj92AAAzt7dM3Zc001

本文转载自:https://bbs.elecfans.com/jishu_2366551_1_1.html,作者:voidpbq