
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及输入系统内容请搜索靠谱客的其他文章。
发表评论 取消回复