2023-08-20---Linux驱动开发学习(七)---网络环境搭建学习

有感于昨天无法调通Uboot和Linux移植的无奈,今天认真学习下网络环境相关的事项,包括网络设备移植相关内容,如何搭建网络环境,驱动开发过程中是否不再需要网络调试。得到的答案是—如果想在Linux开发板上快速迭代学习,网络调试是无法回避的。

1.网络设备移植

就是开发板上网络方案的识别和使能,采用的是内部MAC+外部PHY芯片方案,但是出于移植学习和降低成本的需要正点原子修改了PHY芯片型号,为LAN8701A。总结来说就是要修改:

1.网络设备端口地址MCIO;
2.网络设备相关引脚, 比如说使能, 复位, 通信引脚;
3.设备初始化函数

值得庆幸的是网络芯片有国际IEEE统一设计标准, 基础寄存器必须设计成一样, 所以网络驱动无需大改. 如果不能ping成功, 可以添加软复位等延时操作.
注意的就是市面上开发板可以不计成本使用拓展IO芯片管理引脚功能, 在实际工程使用需要按需修改直接使能; 设备的使能通过预编译实现管理.

2.搭建网络环境

跟着文档学习, 自以为必须要用路由器连接主机, Ubuntu虚拟机和开发板, 但是嫌麻烦便先去百度下解决方案, 结果发现:

1.可以通过路由器连接三者;
2.可以配置网络设备,用笔记本网卡直连开发板实现三者互连
3.通过MobaXterm超级终端串口收发文件

原来正点原子也补充了网络环境搭建视频, 至少不用担心只有我自己遇到这样的问题了. 出于跟上学习的目的, 还是先以网络调试为主.

3.驱动开发过程中的问题

参考正点原子视频—第4.2讲Linux LED灯驱动实验(直接操作寄存器)-驱动框架搭建以及网络问题解决方法, 可以发现整个系统在Ubuntu虚拟机上编写编译, 然后通过网络调试烧录进DRAM, 因此网络调试是非常有必要的.
需要注意的是, 如果是手动分配三者的IP, 可能会遇到无法下载系统的问题, 这时需要关注:

1.Ubuntu虚拟机是否可以连接外网;
2.开发板IP地址是否被占用;
3.Ubuntu虚拟机IP地址是否被占用.

根据占用情况修改手动分配的IP地址, Ubuntu是在网络设置中配置, Uboot是在系统环境变量中设置.最好的解决方法是路由器IP地址与网络设备MAC一一配对.

参考资料:

  1. 嵌入式linux开发 | 搭建网络开发环境_linux嵌入式路由器开发_iriczhao的博客-CSDN博客
  2. linux开发网络配置:ubuntu上网配置、ubuntu和开发板nfs配置、开发板和超级终端通过串口互传文件_如何在ubuntu中串口连接开发板_一个 狠人的博客-CSDN博客
  3. ubuntu18.04和开发板网络通信环境搭建_ubuntu连接开发板_忆昔z的博客-CSDN博客
  4. 【正点原子】Linux网络环境搭建篇
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值