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

news2024/10/7 7:30:16

一、开发资料整理

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.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

在这里插入图片描述
删除这两个路径以及/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_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,根据提示找到对应的路径下删除即可。

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

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

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

相关文章

【计算机网络】UDP协议

UDP的结构 我们学习一个协议最主要的就是理解它的报文格式,对于UDP协议来说 我们看下面的这张图。 16位UDP长度,表示整个数据报(UDP首部UDP数据)的最大长度。UDP报文长度占两个字节,16位表示的数据范围(0-…

新版本Idea设置启动参数

1.进入配置页面 2.点击下图红框的部分,会看到有很多操作可选 3.选择添加VM参数即可 此时就会多出一个可以输入参数的框了,如下:

一个破单机,也要用远程缓存?

大家好,豆小匠终于开始Coding了,这期来聊聊实战相关的杂谈。 正文开始! 作为编程萌新的时候,总想着把程序做复杂,堆技术栈。 但是程序是为场景服务的,比如,我想提高接口的响应速度&#xff0c…

酷柚易汛ERP- 组装单与拆卸单操作

1、功能介绍 组装单用来处理企业组装等加工业务,拆卸单用来处理企业拆卸等加工业务,支持一对多的产品加工业务。 2、主要操作 2.1 新增组装单 打开【仓库】-【组装单】新增组装单。 录入组合件与子件,单据审核后,系统根据存货…

如何在Qemu上跑Milk-duo开发板

前言 (1)PLCT实验室实习生长期招聘:招聘信息链接 (2)学习本文之前,要求先看一下Milk-V Duo快速上手的环境搭建部分,创建好镜像文件。 正文 编译milk-duo qemu (1)下面步…

【STM32/FreeRTOS】SysTick定时器及FreeRTOS系统节拍

目录 一、SysTick定时器 1、SysTick寄存器介绍 (1)控制及状态寄存器 (2)重装载数值寄存器 (3)当前数值寄存器 2、SysTick寄存器配置函数 二、FreeRTOS中的SysTick定时器 1、SysTick配置函数及分析 …

传输层协议-UDP协议

目录 传输层再谈端口号端口号范围划分认识知名端口号 UDP协议UDP协议格式UDP数据封装UDP数据分用 UDP协议的特点面向数据报 UDP缓冲区UDP使用注意事项基于UDP的应用层协议 传输层 实际上我们应用层的数据并不是直接发给网络的,而是需要先将数据发送给传输层&#xf…

网工内推 | 网工校招,金融、软件行业,HCIE认证优先,最高15薪

01 长威信息科技 招聘岗位:网络工程师(24届校招) 职责描述: 1、负责网络类、安全类产品的安装部署、调试和运行维护,以及网络故障分析、定位和处理; 2、负责实施项目各类文档编制工作,包括技术…

MySQL主从复制、读写分离(利用Amoeba和Mycat)、完全同步

目录 一、主从复制 1、概念 1.1主从复制延迟问题: 1.2、MySQL安全和性能配置: 1.3、主从复制的工作过程: 1.4、mysql主从复制注意点: 1.5、MySQL的主从复制的模式: 2、主从复制实验: 二、读写分离&…

springcloud旅游网站源码

开发技术: jdk1.8,mysql5.7,idea,nodejs,vscode springcloud springboot mybatis vue 功能介绍: 用户端: 登录注册 首页显示搜索景区,轮播图,旅游攻略列表 点击攻…

Pytorch数据集读出到transform全过程

最近写代码又遇见了这个问题,又忘记了,于是写一篇博客记录一下。 一般我们使用pytorch获取CIFAR10数据集,一般这样写: mean [0.4914, 0.4822, 0.4465] std [0.2023, 0.1994, 0.2010] transform transforms.Compose([transform…

【动手学大模型】(通俗易懂 快速上手) Task1 大模型简介

1.发展历程 语言建模始于20世纪90年代,采用的是统计学习方法. 2003年,深度学习的思想融入到语言模型中,相较于上个时代,该方法可以更好地捕捉语言中的复杂关系. 2018年左右,Transformer架构的神经网络模型被引入,通过大量文本训练模型,使它对语言有了更深的理解. 最近,模型规模…

F : DS图遍历--广度优先搜索

Description 给出一个图的邻接矩阵,对图进行广度优先搜索,从顶点0开始 注意:图n个顶点编号从0到n-1 如果图不连通,则对尚未访问的编号结点继续进行广度优先搜索,直到所有结点被访问 Input 第一行输入t&#xff0c…

vscode设置vue3代码格式化

vscode设置vue3代码格式化 vscode设置vue3代码格式化 下载插件设置格式化时选用的插件实际使用 使用Prettier默认配置使用Prettier添加自定义配置使用Volar 完整配置文件参考链接 下载插件 可以使用Volar或Prettier 设置格式化时选用的插件 mac:【shift】【op…

基于单片机教室人数实时检测系统仿真及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、红外传感器检测进出人数,液晶1602显示。 3、按键最多容纳人数,烟雾报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void lcd_init() { lcd_write_com(0x38…

【IDEA】IntelliJ IDEA的使用2.0——结合实际场景提升工具使用

前言 IDEA作为一款非常不错的Java开发编辑工具,需要不断学习如何更好地使用IEDA工具,打造成得心应手的斧头。 本篇博客是结合实际场景提升IDEA使用的博客,会陆续收集一些实际使用场景,结合这些场景阐述如何更好地使用IDEA工具。…

zabbix的服务器端 server端部署

zabbix的服务器端 server 主机iplocalhost(centos 7)192.168.10.128 zabbix官网部署教程 但是不全,建议搭配这篇文章一起看 zabbixAgent部署 安装mysql 所有配置信息和Zabbix收集到的数据都被存储在数据库中。 下载对应的yum源 yum ins…

YOLO改进系列之注意力机制(CloAttention模型介绍)

CloAttention来自清华大学的团队提出的一篇论文CloFormer,作者从频域编码的角度认为现有的轻量级视觉Transformer中,大多数方法都只关注设计稀疏注意力,来有效地处理低频全局信息,而使用相对简单的方法处理高频局部信息。很少有方…

内网穿透(frp和proxychains4)

一、准备工作 需要三台机器,去哦这里准备的是win7(目标主机),kali(攻击者),红帽(跳板) 攻击机(kali):192.168.10.15 跳板机&#xff0…