欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux驱动开发前阶段总结

程序员文章站 2022-03-13 17:26:37
...

硬件配置说明

开发板:JZ2440,韦东山的板子
Linux服务器:Ubuntu14.4,,32位
虚拟机:VMware 15.5
电脑系统:Windows10

大致流程说明

uboot

使用韦东山提供的资料,按照流程,对uboot进行打补丁->配置->编译。

Linux kernel

使用韦东山提供的Linux版本,同样是 打补丁->配置->编译。

文件系统

直接使用韦东山的文件系统。

主要遇到的问题

内核输出乱码

由于使用的是3.4.2版本的内核,需要在BOOT里使用set命令将bootargs中,
console=ttySAC0 改为:console=ttySAC0,115200,并用save保存。

ping问题

板子在进入文件系统之后,IP是192.168.1.17,可以在Windows系统中将本地以太网的ip手动设置为
192.168.1.xxx,然后关闭防火墙,此时电脑的以太网卡与板子可以互通,注意要关闭防火墙,不然板子ping不通
电脑。虚拟机使用桥接模式,然后编辑

Linux驱动开发前阶段总结
Linux驱动开发前阶段总结

此时,桥接模式应该是自动选择的网卡,选择 已桥接-->以太网卡(有个Pcie啥啥啥的),此时进入Ubuntu,使用
ifconfig命令,eth0显示没有IP地址,需要我们自己手动设置IP地址,在系统的右上角可以找到。同样的设置成
192.168.1.xxx,再ifconfig,修改成功后,可以ping通Windows的以太网卡IP,此时,板子、Windows、Ubuntu
可以互通。

在Ubuntu上编译的hello程序无法在板子上运行

出现该情况,可能是编译板子的内核所使用的编译器版本,与编译hello程序所使用的编译器版本不一致,将编译器
版本调整一致后,hello程序便可以在板子上运行。

个人感受

uboot的移植,Linux的移植,以及文件系统的制作都是使用现成的工具和文件,按照固定的步骤就可以得到结果。
在文件系统烧好之后,板子上就可以执行简单的Linux命令。此时需要挂载nfs文件系统来为后期的Linux驱动编写做
准备,nfs能够使用的前提是板子、Windows、Ubuntu能够互相ping通。
相关标签: 嵌入式 ubuntu