主题 : Android内核移植计划(1) 复制链接 | 浏览器收藏 | 打印
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
楼主  发表于: 2009-07-20 21:19

 Android内核移植计划(1)

管理提醒: 本帖被 qq2440 设置为精华(2009-08-21)
[attachment=386] 从17号起,开始了我的Android内核移植计划,忙活了三天终于有所收获,在这里和大家一起
分享喜悦和一些小经验,首先还是感谢panpan大侠在论坛中发布的内核映像文件和文件系统,
目前我也还在使用大侠的文件系统。
下面摘录的是解决触摸屏问题的思路,希望对大家有帮助,详细的移植过程在附件的word文档里,
附上了zImage,搭建好NFS,可以和panpan大侠的NFS_ROOT一起使用。
3 内核移植二————触摸屏问题解决(初步)
时间:JUL,20th,2009
进展
针对上次遗留问题
(1)能够显示Android的Home界面,大钟已经显示在屏幕上;
(2)驱动程序方面实现了,触摸屏、LCD,RTC的驱动
缺陷:
(3)触摸屏触摸后监管在控制台上打印坐标,不过Android无任何反应
(4)时钟也静止在那里
遗留问题(1)已经解决,原因是没将其加入平台设备
遗留问题(2)(3)已经基本解决,能够看到漂亮的画面,但是滚动条还是不好用
添加了USB鼠标功能,但是好像只有ESC和HOME键有用,其他键没有用。
下一步计划
(1):解决滚动条触摸问题
(2)添加SD卡驱动
(3)由于能源管理的原因,系统经常进入休眠,没办法唤醒。用键盘上的键好像没作用
触摸屏问题解决思路:
(一)    在mini2440触摸屏驱动的基础上,将其变成平台设备,注意平台设备有一个很关键的地方需要注意,
static struct platform_drivers 3c2410ts_driver = {
.driver = {
.nam e = "s3c2410_ts",
.bus = &platform_bus_type,
},
.probe = s3c2410ts_probe,
.remove = s3c2410ts_remove
};
struct platform_device s3c_device_ts = {

.name = "s3c2410_ts",
注意红色的部分要匹配,后者无法注册
(二)    触摸屏的校准问题,触摸屏校准的关键是获取top-left和botton-right的坐标,并注意在Android的系统中,top-left是源点,至于怎么获取,在笔者的《mini2440触摸屏驱动中已经提供了测试程序,自己去试试便知道
(三)    Android的校准一直以来很伤头,在获取top-left和botton-right的坐标后,就知道了X,Y轴的坐标范围了,采用下面的方法进行设置。
input_set_abs_params(mtouch->dev, ABS_X, MTOUCH_MIN, MTOUCH_MAX_XC, 0, 0);
input_set_abs_params(mtouch->dev, ABS_Y, MTOUCH_MIN_YC, MTOUCH_MAX_YC, 0, 0);
(四)Android 的POWER选项一定要选上,我就在这上面折腾了好久,至于为什么,希望有高手能说明一下
word文档中的红色部分是还未解决的问题和疑惑,希望大家一起讨论
最后附上WORD和zimage以及几张图片
内核太大,上不来了
[ 此帖被jeefjiang在2009-07-21 11:50重新编辑 ]
附件设置隐藏,需要回复后才能看到
zyy
级别: 新手上路
UID: 135663
精华: 0
发帖: 5
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2017-11-19
最后登录: 2018-05-23
1楼  发表于: 2018-01-19 16:51
看看