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

目录

写在前面

内核编译

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

进入系统

串口进入

SSH接入


写在前面

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

附上开源社区

MilkV Community

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

milkV-duo的Linux的开发环境搭建_第1张图片

 

内核编译

在这里,需要用到 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结果依然跑不起来.

milkV-duo的Linux的开发环境搭建_第2张图片

 

我的解决方案:

  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的回复)

milkV-duo的Linux的开发环境搭建_第3张图片

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

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

milkV-duo的Linux的开发环境搭建_第4张图片

 

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

milkV-duo的Linux的开发环境搭建_第5张图片

 

你可能感兴趣的:(RISCV,linux,riscv)