【milkv】0、duo编译环境搭建

一、开发资料整理

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的操作系统

在这里插入图片描述
在这里插入图片描述

三、环境搭建

3.1 通过VMware安装ubunt20

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

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

3.2 安装samba

用于windows向虚拟机传输文件

安装Samba Server

在这里插入图片描述
修改权限
sudo vim /etc/samba/smb.conf

在这里插入图片描述
跳到最后一行,输入"😒",注意需要按下Esc后输入

开始修改则按下“i”,左下角显示 --INSERT–,则表示可以开始输入了。

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

启动samba服务

sudo service smbd restart

查看ip

在这里插入图片描述
在这里插入图片描述
这样就能访问到linux中的milkv目录了

在这里插入图片描述
在这里插入图片描述

四、代码获取

旧版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://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.shchmod +x cmake-3.26.4-linux-x86_64.shsudo ./cmake-3.26.4-linux-x86_64.sh
--skip-license --prefix=/usr/local/

在这里插入图片描述
注意,此时再查看cmake可能提示依旧是3.16,而sh脚本运行又是正常的。

在这里插入图片描述
那就需要删除先删除之前创建的cmake,然后再重新运行脚本

whereis make

在这里插入图片描述
删除这两个路径以及/usr/local/share/cmake-3.xx

在这里插入图片描述

4.3 获取git-repo

没办法获取repo

参考:https://blog.csdn.net/Timothy_Liu0114/article/details/104971066

在这里插入图片描述

移动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文件,内容如下

#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_pathexport MILKV_BOARD=milkv-duocd $code_dir
echo ------------source-----------------
source milkv/boardconfig-milkv-duo.sh
source build/milkvsetup.shecho
echo ------------config-----------------
defconfig cv1800b_milkv_duo_sdecho
echo ------------clean-----------------
clean_allecho
echo ------------build-----------------
echo ------------build----------------- > $log_path
build_all >> $log_pathecho
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,根据提示找到对应的路径下删除即可。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCF 备忘

一、不错的网站 CCF CCSP 竞赛历年资料 官网 http://118.190.20.162/home.page 二、基础套路 循环输入 数组标记法&#xff08;数组下标-数值 的映射&#xff09; 两个矩阵相乘 map<long long, map<long long, long long> > ans; for(int i1;i<d;i){for(int…

长按事件怎么加定时器

要实现长按事件并加入定时器&#xff0c;你可以结合使用mousedown和mouseup事件&#xff0c;然后在mousedown时启动定时器&#xff0c;在mouseup时停止定时器。以下是一个使用Vue.js的例子&#xff1a; <template><div><p>长按计时器示例: {{ timerValue }}…

【Linux】 ls -l 和 grep

语法:用于显示指定工作目录下之内容 ls [-alrtAFR] [name...]将 /bin 目录以下所有目录及文件详细资料列出: ls -lR /bin将 /usr/local/bin 目录以下所有有关python列出: ls -l /usr/local/bin/ | grep python在使用 ls -l 命令时&#xff0c;第一列的字符表示文件或目录的类…

js 加密解密 cryptojs(对称加密库)

js 加密解密可以使用 crypto-js 这是一个对称加密的库&#xff0c; 可以使用 AES DES 但没有 rsa 等非对称加密的方法 安装方法 npm install crypto-js 它可以进行 MD5 SHA-1 SHA-256 Base64 AES DES 等算法和加密 import crypto from "crypto-js"let md5binary cry…

RT-Thread系列10——ETH网口设备

文章目录 1. ETH测试第一步&#xff1a;cubemx配置。第二步&#xff1a;board.h配置。第三步&#xff1a;rtthread settings配置第四步&#xff1a;以太网复位引脚设置第五步&#xff1a;修改rtthread源码第六步&#xff1a;修改 cubemx 生成的 main 函数第七步&#xff1a;编译…

C++阶段复习‘‘‘‘总结?【4w字。。。】

文章目录 前言类和对象C类定义和对象定义类成员函数C 类访问修饰符公有&#xff08;public&#xff09;成员私有&#xff08;private&#xff09;成员受保护&#xff08;protected&#xff09;成员 继承中的特点类的构造函数和析构函数 友元函数内联函数this指针指向类的指针类…

缩点+图论路径网络流:1114T4

http://cplusoj.com/d/senior/p/SS231114D 重新梳理一下题目 我们先建图 x → y x\to y x→y&#xff0c;然后对点分类&#xff1a;原串出现点&#xff0c;原串未出现点。 假如我们对一个原串出现点进行了操作&#xff0c;那么它剩余所有出边我们立刻去操作必然没有影响。所…

快速入门安装及使用git与svn的区别常用命令

一、导言 1、什么是svn&#xff1f; SVN是Subversion的简称&#xff0c;是一个集中式版本控制系统。与Git不同&#xff0c;SVN没有分布式的特性。在SVN中&#xff0c;项目的代码仓库位于服务器上&#xff0c;团队成员通过向服务器提交和获取代码来实现版本控制。SVN记录了每个…

数据库实验二

--①查询信息管理系学生的学号和姓名。 --select sno,sname from Student where sdept IS --②查询选修了课程的学生的学号。 --select distinct sc.sno from sc,student --③查询选修了课程号为C001的学生的学号和成绩&#xff0c;并对查询结果按成绩降序排列&#xff0c;如…

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树二叉树相关遍历代码顺序存储和链式存储二叉树的遍历二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数二叉树非递归遍历代码…

蒙特卡洛树搜索(Monte Carlo Tree Search)揭秘

一. 什么是蒙特卡洛树搜索 蒙特卡洛树搜索(MCTS)是一种启发式搜索算法&#xff0c;一般用在棋牌游戏中&#xff0c;如围棋、西洋棋、象棋、黑白棋、德州扑克等。MCTS与人工神经网络结合&#xff0c;可发挥巨大的作用&#xff0c;典型的例子是2016年的AlphaGo&#xff0c;以4:1…

Elasticsearch:ES|QL 快速入门

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。 Elastic 将努力解决任何问题&#xff0c;但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。目前的最新发行版为 Elastic Stack 8.11。 Elasticsearch 查询语言 (ES|QL) 提供了一种强…

gin架构下实现页面的数据调用

package mainimport ("github.com/gin-gonic/gin"_ "net/http""testgin01/myfunc" )func main() {r : gin.Default()//r.LoadHTMLFiles("/temp/hello01.html")r.LoadHTMLGlob("temp/**/*") // **/代表一个文件级//指定cSS文…

快速构建高质量中文APP登录注册页面Figma源文件

在这个数字化时代&#xff0c;移动应用程序&#xff08;APP&#xff09;已经成为我们日常生活中不可或缺的一部分。如果您正在为您的中文APP开发登录注册页面&#xff0c;并寻找高质量的UI设计素材&#xff0c;那么您来对地方了&#xff01;我们为您提供了一个完整的Figma源文件…

工作效率提升工具,帮助企业突破发展瓶颈!

企业发展“瓶颈”意味着企业处于这个阶段时&#xff0c;上不去下不来&#xff0c;出现停滞或者是反复波动的现象&#xff0c;而且持续时间较长&#xff0c;虽然企业苦苦探索变革之道&#xff0c;但是往往事倍功半&#xff0c;反而导致变革成本不断上升。 工作效率提升工具&…

Seatunnel单机和集群部署说明

编译 编译命令 mvn clean package -pl seatunnel-dist -am -Dmaven.test.skiptrue 部署 将seatunnel-dist\target目录下的apache-seatunnel-2.3.3-SNAPSHOT-bin.tar.gz上传至服务器 解压安装包到/opt/soft/seatunnel目录下 配置环境变量 export SEATUNNEL_HOME/opt/soft/s…

nginx之使用与配置教程

目录 简介 优点 安装 目录结构 nginx.conf配置文件结构 server虚拟主机配置 listen server_name location root index try_files proxy_pass 使用 反向代理 配置语法 常用指令 proxy_pass proxy_set_header proxy_redirect 负载均衡 负载均衡策略 轮询&…

竞赛选题 深度学习的动物识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

【学习笔记】[EGOI2023] Bikes vs Cars

题目链接 警惕出题人为了不让你看出来构造是生成树而用了 2023 2023 2023这个数字&#x1f605; 下文中宽度为 w w w的边表示分配给自行车的宽度。 考虑如何判定无解。如果存在 i , j , k i,j,k i,j,k使得 b i , j < min ⁡ ( b i , k , b k , j ) b_{i,j}<\min(b_{i,…