主题 : 2440的LCD问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 38513
精华: 0
发帖: 15
金钱: 75 两
威望: 15 点
综合积分: 30 分
注册时间: 2011-02-26
最后登录: 2013-03-15
楼主  发表于: 2011-07-18 23:02

 2440的LCD问题

手上有一块Micro2440+底板+3.5寸屏(240*320),使用Mini2440的2.6.32.2内核,加载后启动可以看到FriendlyARM那个图像。想自己做个简单的界面,能画线、显示中英文汉字即可。在网上查了资料,做法主要如下:
(1)fb_handle = open("/dev/fb0", O_RDWR));
(2)fb_buffer = (unsigned char *)mmap(0, fb_buffer_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb_handle, 0;
(3)对fb_buffer操作。显示了几个字母、汉字,画了几根线,发现有几个问题:

(1)屏幕整体往左上偏移,左边估计偏移15像素左右,上边偏移2像素左右。假设左上坐标为(0,0),右下为(239,319),比如从(0,4)到(239,4)画一根线,不能到达屏幕最右边(大概差15像素),且显示在第三行像素上;在屏幕左边打印一个汉字,左边一部分被截掉(能显示的部分正常);注:画线和打印文字的程序裸奔是正常的;
(2)下载内核运行一段时间后(大概十分钟左右,时间很固定,期间与运行程序与否无关),屏幕被清空(上电后不进行写屏,则FriendlyARM那个图像被清掉);然后用上述的软件画屏没任何反应,不知是何原因?请版主、大侠指教,谢谢!
级别: 新手上路
UID: 38513
精华: 0
发帖: 15
金钱: 75 两
威望: 15 点
综合积分: 30 分
注册时间: 2011-02-26
最后登录: 2013-03-15
1楼  发表于: 2011-07-18 23:11

 回 楼主(wuchy) 的帖子

刚才又测试了一下,准确的数据是往左偏移了12个像素,往上偏移了2个像素。
无显示时间还是10分钟。
级别: 新手上路
UID: 38513
精华: 0
发帖: 15
金钱: 75 两
威望: 15 点
综合积分: 30 分
注册时间: 2011-02-26
最后登录: 2013-03-15
2楼  发表于: 2011-07-19 21:38
关于此问题无人知晓?
版主能否帮忙分析一下?