Milk-V Duo开发板之网络连接

文章讲述了作者将网线直接连接Milkv-Duo的过程,探讨了使用外部变压器的必要性,并分享了如何解决自动获取IP地址的问题,以及网口添加的价值,包括作为服务器扩展的案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在第一篇开箱的文章就说过,在这个板的外包装就早已经其实标注了,可以使用10/100M以太网,我也写了一些下面的5个针脚就是和网络有关系的,这里普及一个小小的知识点,总所周知,网线是八线的,但是对于百兆以太网来讲其实4线也可以,所以有的可恶商家百兆的网线可能里面只有四根,百兆的路由器和交换机仔细看网口,里面也只有四个触点,我家买了一套二手房,以前的房主布线时,直接把一根网线拆成2根网线来用,也是一位节约大师,当然,最有可能的就是他被装修公司给骗了!!!
那我们可以直接使用网线把线焊到板子上进行使用么?官方论坛里有位大神就这么搞了,网线直接连接Milkv-Duo,还弱弱的说了一句,路由器里有变压器,线短点应该没事吧?但是我觉的为了安全起见还是搞个变压器更为妥当,而且最重要的是,在手册里明确要求To use the Ethernet port, an external transformer and RJ45 socket, or a network socket with a transformer, is required. 要不使用变压器和RJ45接口,要不直接使用带变压器RJ45接口,并且还给出了器件和原理图:
101
那对于我来讲果断选择了后者啊,嘿嘿。刚好又在官方论坛里面找到了另外一位大神开源了电路板,地址在这里:适用于duo的小体积rj45模块,然后开源的电路板地址在这里:duo-RJ45。注意要去掉两颗对地电容才可以正常使用,网口直接去TB搜索HR911105A,1.5元左右1个吧,打板去JLC白嫖一个,不过我稍微改了一改,主要改了点封装,并且把灯加入进去了,我把我的原理图放在下面,至于为啥不开源,并不是我敝帚自珍,而是有点懒,如果有人愿意用我的,有空我放在云盘里,大家打板就是。
102
然后正面照,这面就焊接了4个10R的电阻、排针和网络接口,那两个二极管懒的焊了,我相信他们的体质,不会有静电损坏的。

103
背面照,背面的东西更加少,就加了两个470R的LED限流电阻,那两个电容千万别焊,不然就会出问题。

104

合体照,为啥要弄成这样的拐角呢?其实是当初没有考虑好,人家用的是弯角插针,我这放在正面,影响TF卡插拔,放在背面,影响我看针脚定义,倒是每次我也可以数个数,但是还是很不爽,那么我就搞成拐角的就好了。

105

插上网线后,查看ip地址:
106

发现好像并不能自动获取IP地址,当然了,可以按照第1位大神那样,搞个静态IP,但是我不喜欢,其实没有自动获取IP地址的原因很简单,没有配置而已vi /etc/network/interfaces,增加两行代码,修改完成以后的文件如下:

# interface file auto-generated by buildroot

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

然后重启,然后再查看地址。
107
最后一张图忘了上了,ping baidu.com,当然也是没有问题的了!!!
可能会有人疑问了,为什么要加这个网口,直接通RNDS共享网络不也是可以进行上网么?那么请看这位大神的开源作品:milkv-duo迷你单片机USB+网卡+WIFI扩展板 - 嘉立创EDA开源硬件平台,它已经成功进化成为了一个服务器了,还有位大神已经移植ARCH Linux到milkv板子上了!

### milk-v duo与Rust编程语言的关系 milk-v duo是一款基于RISC-V架构的开发板,支持多种编程语言,其中包括Rust。由于Rust具有内存安全性和高性能的特点,非常适合用于嵌入式系统和硬件级别的编程[^1]。 对于milk-v duo而言,开发者可以利用专门为RISC-V设计的工具链来编写、编译并运行Rust代码。这使得能够充分发挥Rust的优势,同时享受RISC-V指令集带来的效率提升[^2]。 ### 如何在milk-v duo上使用Rust进行开发 为了能够在milk-v duo上顺利地开展Rust项目,通常需要完成以下几个方面的准备工作: #### 安装必要的软件包 确保安装了最新的稳定版rustup以及cargo工具,并配置好目标平台为`riscv32imac-unknown-none-elf`或相应的变体版本。可以通过命令行执行如下操作: ```bash rustup target add riscv32imac-unknown-none-elf ``` #### 获取适合于milk-v duo的模板库 可以从GitHub或其他资源获取适用于该款开发板的具体仓库链接,这些仓库往往已经预先设置好了针对特定硬件的支持文件夹结构和服务函数定义。例如[riscv-rust-quickstart]提供了很好的起点,里面含有丰富的例子可以帮助快速启动新的应用程序。 #### 配置Cargo.toml文件 编辑项目的根目录下的`Cargo.toml`文件以指定正确的依赖项和其他构建选项。这里可能涉及到添加裸机环境所需的crate(如cortex-m),以及其他任何有助于简化工作的第三方库。 #### 编写简单的测试程序 尝试实现一些基础功能作为验证手段,比如点亮LED灯或者发送字符串到串口终端显示出来。这类简单任务不仅有利于熟悉API接口调用方式,而且还能确认整个工作流程是否顺畅无误。 ```rust #![no_std] #![no_main] use panic_halt as _; use core::fmt::Write; #[cfg(not(test))] #[panic_handler] fn panic(info: &core::panic::PanicInfo) -> ! { loop {} } #[export_name = "main"] extern "C" fn main() -> ! { let mut serial = hal::serial::Serial::new( pac::Peripherals::take().unwrap().UART0, config, ).unwrap(); writeln!(serial, "Hello from Milk-V Duo!").ok(); loop{} } ``` 这段代码展示了如何初始化一个串口通信实例并向其发送消息。实际应用时还需要根据具体的外设情况调整参数设定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值