概述
1、把驱动程序放到服务器上,修改Makefile并进行编译
修改Makefile里面的内核目录
进行编译
2、编译出现错误并解决
没有头文件就把它注释掉
3、把生成的驱动拷贝到网络文件系统
配置内核把原来的LCD驱动程序去掉
把s3c2410 LCD framebuffer support设置为M
最后编译内核
4、重新烧写、启动内核
还需要make modules,编译所有的模块驱动
因为LCD驱动程序依赖于其他三个函数,那三个函数分别放在三个文件里面,那三个文件也要编译成模块加载进去
下载内核并启动内核
5、测试程序
(1)把测试程序放到服务器编译
(2)修改Makefile
(3)进行编译
(4)把测试程序拷贝到根文件系统
6、实验
(1)装载LCD驱动,出现问题(某些函数没有定义)
(2)把LCD驱动的依赖拷贝到根文件系统那里去
(3)对各个驱动进行装载
(4)测试(测试程序后面跟设备名称)
(5)吧文字写到LCD上
7、按键驱动移植(键盘输入,显示器输出)
(1)把驱动拷贝到服务器,并修改Makefile
(2)修改Makefile,把内核目录改成新的内核目录
(3)编译出现一大堆错误(根据不同情况修改)
(4)编译修改后的文件,并把驱动拷贝到网络文件系统上去
(5)装载驱动程序
(6)按下按键,cat是将某个文档中的内容显示出来
(7)修改/etc/inittable
加上一行tty1,表示重启系统时会启动一个shell,这个shell从/dev/tty1得到输入,把输出信息输出到/dev/tty1里面去。
(8)重启系统,下载新内核启动
(9)装载模块
(10)按下按键,在LCD上可以看到控制台一样的信息
8、触摸屏驱动移植
(1)把触摸屏驱动放到服务器上去,修改Makefile
(2)修改Makefile,把内核目录更换为新内核目录,然后进行make编译
(3)Make编译后出现一大堆错误。(根据不同错误进行解决)
(4)编译后把生成的驱动拷贝到网络文件系统上
(5)加载触摸屏驱动,/dev/event1对应触摸屏。
(6)触摸屏的使用
解压触摸屏库,autogen.sh是检测你的编译工具和依赖关系包是否完整,自动生成Makefile
创建文件夹、向文件添加内容、配置文件
编译和安装(make 、make install)
把编译安装好的文件拷贝到根文件系统上去
修改配置文件
输入设备是event1,设置环境变量,触摸屏程序会根据这些环境变量决定打开哪一个设备
校准(出现错误)(校准程序不能理解里面的数据)
tslib中的输入系统和内核input系统版本不匹配(在浏览器中搜索错误内容)
tslib用的版本是什么?我们编译的应用程序它的头文件是在工具链里面的,在交叉编译工具链里面搜索版本
修改文件的版本宏跟内核一样
提示下这个交叉编译下的input.h有可能你的路径跟我的不一样,你可以在你交叉编译路径下用如下命令搜索:
find -name "input.h"
修改权限
然后重新编译
make clean
make
再安装
安装到tmp目录下,吧目录下的所有文件拷贝到文件系统里
(7)重新执行校正程序
点
修改配置文件吧#module_raw input这个宏前面的#去掉。
再次实验(点击触摸屏上面的十字架)
测试(执行测试程序后在触摸屏上画线)
最后
以上就是明亮保温杯为你收集整理的移植驱动到内核学习笔记3-----LCD及输入系统的全部内容,希望文章能够帮你解决移植驱动到内核学习笔记3-----LCD及输入系统所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复