您的位置:首页 > 其它

移植驱动到内核学习笔记3-----LCD及输入系统

2016-09-24 10:28 375 查看


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驱动的依赖拷贝到根文件系统那里去






[b](3)对各个驱动进行装载
[/b]

[b]


[/b]

[b](4)测试(测试程序后面跟设备名称)[/b]

[b]


[/b]

(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这个宏前面的#去掉。






再次实验(点击触摸屏上面的十字架)






测试(执行测试程序后在触摸屏上画线)




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: