Linux驱动开发前阶段总结
程序员文章站
2022-03-13 17:26:37
...
Linux驱动开发前阶段总结
硬件配置说明
开发板: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不通
电脑。虚拟机使用桥接模式,然后编辑
此时,桥接模式应该是自动选择的网卡,选择 已桥接-->以太网卡(有个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通。
推荐阅读
-
linux的开发经验详细总结
-
linux驱动程序开发详细介绍
-
嵌入式Linux开发: 编写EEPROM驱动_采用杂项字符设备框架
-
Linux中自动创建设备节点的LED灯驱动开发流程
-
11-S3C2440驱动学习(七)嵌入式linux-字符设备的另一种写法及RTC驱动程序分析和字符设备驱动框架总结
-
Linux字符设备驱动程序开发(1)-使用字符设备驱动
-
字符设备驱动开发 Linux 设备号 字符设备驱动开发步骤 open 函数调用流程 设备号的组成 设备号的分配 Linux 应用程序对驱动程序的调用 字符设备注册与注销 实现设备的具体操作函数
-
linux驱动开发之输入子系统编程(一)使用工作队列实现中断下半部
-
手把手教你写Linux设备驱动---input子系统(四)--电容屏驱动ft5x06编写(一)(基于友善之臂4412开发板)...
-
Linux驱动开发11:【设备树】nanopi的PWM驱动