主题 : 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重新编辑 ]
附件设置隐藏,需要回复后才能看到
I want ! I do !
级别: 侠客
UID: 5509
精华: 0
发帖: 61
金钱: 565 两
威望: 491 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-04-25
最后登录: 2018-02-08
1楼  发表于: 2009-07-20 21:33
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
2楼  发表于: 2009-07-21 13:24
顶~~~~~~~~~~~~~~~~
级别: 侠客
UID: 5949
精华: 0
发帖: 51
金钱: 470 两
威望: 353 点
贡献值: 0 点
综合积分: 102 分
注册时间: 2009-05-14
最后登录: 2010-12-07
3楼  发表于: 2009-07-21 13:38
强人啊~~~~
级别: 新手上路
UID: 6095
精华: 0
发帖: 17
金钱: 160 两
威望: 127 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2009-05-19
最后登录: 2015-10-26
4楼  发表于: 2009-07-21 21:00
顶~~~~~~~~~~~~~~~~
~~方法总比困难多~~
级别: 新手上路
UID: 3522
精华: 0
发帖: 47
金钱: 470 两
威望: 405 点
贡献值: 0 点
综合积分: 94 分
注册时间: 2009-01-15
最后登录: 2011-06-30
5楼  发表于: 2009-07-21 22:05

顶一个
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
贡献值: 21 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
6楼  发表于: 2009-07-21 23:04
任重道远,这样的玩法才能学到更多,而不是像那些问按键、中断等non-OS的,即使你明白了又怎样,那些和类似android的系统几乎没有任何关系。就好像你明白了螺丝怎么造出来的,但却失去了整体系统的思维方法。
级别: 新手上路
UID: 7385
精华: 0
发帖: 1
金钱: 10 两
威望: 10 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2009-07-13
最后登录: 2010-07-10
7楼  发表于: 2009-07-22 08:21
很好,看看。
好好學習,天天向上!
求真知!去浮躁!
级别: 侠客
UID: 6514
精华: 0
发帖: 86
金钱: 770 两
威望: 642 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-06-04
最后登录: 2019-08-08
8楼  发表于: 2009-07-22 12:11
支持原创,可以上PATCH吗
Just do it
级别: 侠客
UID: 2754
精华: 4
发帖: 66
金钱: 2435 两
威望: 873 点
贡献值: 40 点
综合积分: 212 分
注册时间: 2008-12-07
最后登录: 2016-04-13
9楼  发表于: 2009-07-22 12:34
等偶学会了怎么做patch了就上吧