【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.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,根据提示找到对应的路径下删除即可。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第七章 muduo编程示例(下)

7.5 一种自动反射消息类型的Protobuf网络传输方案 本节假定读者了解Google Protocol Buffers是什么,这不是一篇Protobuf入门教程。本节的示例代码位于examples/protobuf/codec。 本节要解决的问题是:通信双方在编译时就共享proto文件(用于定…

产品的生命周期

** 没错,产品每次版本选代都是一次重生的机会,每次版本迭代都不亚于一次产品上线首发。 ** 一、产品上线首发 所谓万事开头难,产品上线首发的重要性不言而喻,产品给人的第一印象非常深刻,后期再去扭转非常困难&#…

Linux操作系统使用及C高级编程-D4Linux shell命令(文件搜索、文件处理、压缩解压)

查看文件相关命令 cat cat file:将文件内容输出 cat:等待输入,在屏幕上输入什么,就输出什么 tac cat file:与cat相反,将文件内容从后往前输出 more more file:在屏幕上显示一页的文件内容&am…

基于STC12C5A60S2系列1T 8051单片机的数模芯片DAC0832实现数模转换应用

基于STC12C5A60S2系列1T 8051单片机定时器/计数器应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍数模芯片DAC0832介绍通过按键调节数模芯片DAC0832输出模拟量控制…

JavaScript中的事件冒泡、事件捕获、事件委托

DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。 Dom标准事件流的触发的先后顺序为:先捕获再冒泡。即当触发dom事件时,会先进行事件捕获,捕获到事件源之后通过事件传播进行…

【NI-DAQmx入门】多通道数据采集

1.通道扩展解释 通道扩展是扩展数据采集设备的通道以包含另一个设备的通道的过程,从而有效地创建具有更多通道的任务。当使用通道扩展时,DAQmx 自动在 DAQmx 驱动程序级别路由触发器和时钟,以便多个设备同步。为了使设备作为一个整体运行&…

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

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

软件工程分析报告07测试计划书——基于Paddle的肝脏CT影像分割

目录 测试计划书 1. 引言 2. 测试目标 3. 测试方法 3.1 黑盒测试 (1)等价类划分: (2)边界值分析: (3)因果图: ​编辑(4)错误推测法 3.2 白盒测试 测试用例!! 4. 测试环境 5. 测试计划 6…

【C++历险记】STL之set详解

个人主页:兜里有颗棉花糖💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…

C++中关于多线程并发访问实例函数与静态函数

问题 1 C中多个线程共同执行一个实例函数,该函数是在线程的栈空间吗?对于函数中的多线程共享变量又是存储在哪里呢? example: 在该例子中线程绑定当前对象(this)的实例函数captureVideo, 并将int参数传递过去。但是对于captureVideo中多个线…

双写绕过 [极客大挑战 2019]BabySQL 1

打开题目 随便输入账号密码 根据报错信息可知这是单引号的字符型注入 那我们试试万能密码 1 or 11 页面报错 1 or 11 页面报错 而且根据报错内容显示是没有我们注入上去的or的 那我们就试试 1 order by 3 # 页面报错,根据报错显示页面过滤掉了or和by 那我们…

酷柚易汛ERP-购货订单操作指南

1、应用场景 先下购货订单,收货入库后生成购货单。 2、主要操作 2.1 新增购货订单 打开【购货】-【购货订单】新增购货订单。(*为必填项,其他为选填) ① 录入供应商:点击供应商字段框的 ,在弹框中选择供…

新版本Idea设置启动参数

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

第 1 章 概述 习题

1-1 因特网的前身是 1969 年创建的第一个分组交换网()。 A. internet B. Internet C. NSFNET D. ARPANET 【答案】 D 【解析】 1-2 因特网上的数据交换方式是()。 A. 电路交换 B. 报文交换 C. 分组交换 D. 光交换 【答…

springcloud旅游网站源码

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

计算机毕业设计选题推荐-体育赛事微信小程序/安卓APP-项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

echarts 地图点位图标为动图,且可以多个不同图标

根据项目需求,echarts地图点位图标要是动图,且可以设置不同图标,经过多方查找,找到解决方案,可以用svg使gif动起来 let myChartChina echarts.init(document.getElementById("myChartChina"), "transparent", {renderer: "svg"});其中transpare…

线程池参数该怎么配置?这可能是为数不多的好答案

前言 CPU 密集型 CPU 核数 1 IO 密集型 CPU 核数 * 2 相信这个公式可谓是线程池八股文中老生常谈的万能公式了,但现实却很骨感,我之前有个系统就是按照这个公式算出来的参数去配置的。结果效果并不好,甚至让下游系统直呼受不了。这个东西…

阶段七-Day01-SpringMVC

一、Sping MVC的介绍 1. 使用Front(前端)设计模式改写代码 1.1 目前我们的写法 目前我们所写的项目,持久层、业务层的类都放入到Spring容器之中了。他们之间需要注入非常方便,只需要通过Autowired注解即可。 但是由于Servlet整个生命周期都是被Tomca…