milkV-duo的Linux的开发环境搭建

news/2024/7/7 20:49:41

目录

写在前面

内核编译

烧录失败的示例(这种情况下就和插上空卡一样)

进入系统

串口进入

SSH接入


写在前面

基本上大部分的问题都能在开源社区上得到答案,记录下我遇到的问题.

附上开源社区

MilkV Community

这里的引脚图和板子的丝印有点对不上,比如说后面串口0. 

 

内核编译

在这里,需要用到 Mirco sd卡,准确的说是TF卡,TF卡比sd卡小,可通过一个转接器适配SD卡.

参考

基于Ubuntu20.04详细的Duo编译环境搭建指南 - Duo - MilkV Community

 若直接快速开始则烧录官网提供的以及编译好的镜像

Releases · milk-v/duo-manifest (github.com)

可参考

Boot the Duo | Milk-V (milkv.io)s

 比如说通过这个balenaElcher软件烧录镜像,我遇到的问题校验失败,问了群里的佬是不需要管校验是否成功,但把SD卡插回DUO结果依然跑不起来.

 

我的解决方案:

  1. 在win11下格式化sd卡,选择NTFS文件系统。
  2. 用windows32Diskmanger成功烧录了镜像。

烧录失败的示例(这种情况下就和插上空卡一样)

:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)

:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
E:Boot failed (8).
E:ra=0x440a264
E:RESET:panic:-1
WD.C.SCS/0/0.WD.URPL.SDI/25000000/6000000.SNF.USBI.BS/EMMC.PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)
PS. E:load param1 (-78)

进入系统

串口进入

通过USB转TTL串口连接可以成功进入。波特率115200.引脚按宣传图上去配置即可。

SSH接入

这里就需要用到RNDIS了.

我之前还在想一块板子如果本身不提供WIFI,怎么可能会有局域网下的IP地址。

结果就是RNDIS.

什么是RNDIS:

RNDIS(Remote Network Driver Interface Specification)是微软定义的一种网络设备接口规范。它允许USB设备(如手机、平板电脑)使用USB数据线与主机(如PC)连接后,通过USB接口实现网络功能。RNDIS的主要作用是:1. 允许USB设备在连接到主机后,表现为一个标准的以太网适配器,并被分配网络地址。这使得USB设备可以像常规网络设备一样访问网络。2. 使USB设备的网络功能不依赖于特定的主机平台或操作系统。只要主机支持RNDIS协议,就可以实现与USB设备的网络互联。3. 简化USB设备的网络协议栈设计,只需要实现RNDIS协议即可支持多种主流操作系统。

有了IP地址于是可以SSH进行连接而不需要每次都需要USB转TTL插串口线。使得交互变得便捷。

参考官方文档上的:

Set up the working environment | Milk-V (milkv.io) 

遇到的问题:

win11 下通过typec去连接duo开发板,结果显示没有RNIDS设备,如果有RNDIS设备却没有驱动则会在其他设备那显示叹号!.

 于是查资料,判断是否是系统文件缺失的问题:(至于为什么要查,来自gpt的回复)

 如图 RNDISMP.sys存在,所以不会是系统的问题.

后面换了一根TYPEC线,问题得到解决.(结果却是线的问题),再根据官方文档上来更新RNDIS驱动问题解决。

 

成功进入系统开始愉快继续折腾:

 


http://lihuaxi.xjx100.cn/news/1202204.html

相关文章

Java使用Spark入门级非常详细的总结

目录 Java使用Spark入门环境准备安装JDK安装Spark 编写Spark应用程序创建SparkContext读取文本文件计算单词出现次数 运行Spark应用程序总结 Java使用Spark入门 本文将介绍如何使用Java编写Spark应用程序。Spark是一个快速的、通用的集群计算系统,它可以处理大规模…

卓望数码前端一面

卓望数码前端一面 原文网址:https://www.nowcoder.com/discuss/409361218459234304?sourceSSRsearch 1.css中flex布局有哪些常见的属性 display:flex 首先让一个容器为flex布局应该写 display:flex flex-direction flex有两个关键的轴,分别是主轴…

ServletRequest所有方法详解

ServletRequest 是 Java Servlet 规范中定义的请求对象接口&#xff0c;用于表示客户端的请求信息。下面详细介绍 ServletRequest 接口中的方法&#xff1a; String getParameter(String name) 获取请求参数&#xff0c;返回值类型为 String。 Map<String, String[]> ge…

线程的四个属性

如上图所示&#xff0c;线程有四个属性&#xff1a; 线程ID线程名称守护线程线程优先级 1. 线程ID 每个线程都有id&#xff0c;这个id不能修改 线程id会不停的自增&#xff0c;从1开始 main函数就是第一个线程&#xff0c;id1 id 是操作系统用来识别各个线程的编号&#…

华为OD机试真题 Java 实现【支持优先级的队列】【2023 B卷 100分】

一、题目描述 实现一个支持优先级的队列&#xff0c;高优先级先出队列&#xff0c;同优先级时先进先出。 如果两个输入数据和优先级都相同&#xff0c;则后一个数据不入队列被丢弃。 队列存储的数据内容是一个整数。 二、输入描述 一组待存入队列的数据&#xff08;包含内…

国产新秀---XS5018A,芯昇,图像信号处理芯片

国产视频处理芯片&#xff0c;大崛起。 XS5018A 是一款针对 CMOS 图像传感器的高性价比图像信号处理芯片&#xff0c;支持 1M/2M 像素 图像传感器&#xff0c;一组 10-bit DVP 输入接口&#xff0c; ISP 具备优异的 3D 降噪功能&#xff0c;标清模拟输出支持 960…

行为型设计模式04-状态模式

✨作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 状态模式 1、状态模式介绍 状态模式&#xff08;State&#xff09;是一种行为型设计模式&#xff0c;当一个对象的内在状态改变时…

Termius使用[分屏同时操作]

免费版可用ssh&#xff0c;tftp连接服务器&#xff0c;界面美观操作简洁 一 安装 官网 进入官网&#xff0c;登陆后进入个人页面&#xff0c;下载对应系统软件 安装完成后&#xff0c;在应用中登陆账号后即可开始使用 二 基本操作 [只针对ssh连接服务器操作] 2.1 连接服务…