免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3074 | 回复: 3
打印 上一主题 下一主题

[图形界面] (已解决)求助:嵌入式linux下,如何把ncurses与framebuffer显示关联起来? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-19 17:47 |只看该作者 |倒序浏览
本帖最后由 水手辛巴 于 2014-03-21 12:24 编辑

求助:
在做ARM Linux的开发,已经移植ncurses 5.6成功,通过telnet在登陆终端上已经可用。
但我想把ncurses基于文本的屏幕应用到LCD上,但在如何使LCD屏幕的显示与ncurses的屏幕输出关联在一起一直没有解决,求指导!

补充信息:
实现了framebuffer,但没有上任何的gui,仅可以通过写framebuffer刷图片/绘图。
现在是想实现在设备上实现一些简单的文本终端用于其他驱动的测试,所以选择了ncurses。

论坛徽章:
0
2 [报告]
发表于 2014-02-19 18:04 |只看该作者
补充信息:
实现了framebuffer,但没有上任何的gui,仅可以通过写framebuffer刷图片/绘图。
现在是想实现在设备上实现一些简单的文本终端用于其他驱动的测试,所以选择了ncurses。

论坛徽章:
0
3 [报告]
发表于 2014-02-19 18:17 |只看该作者
本帖最后由 水手辛巴 于 2014-02-20 13:03 编辑

个人考虑是:
感觉ncurses是基于终端设备的,是不是需要先实现一个虚拟终端在framebuffer上显示,然后在此终端上运行相应的ncurses程序即可?
这样就不需要对ncurses做任何修改。
这样新的问题是:怎样让framebuffer运行终端?

目前在小心求证,也求了解的高手们给个思路,谢谢!

论坛徽章:
0
4 [报告]
发表于 2014-03-21 09:28 |只看该作者
本帖最后由 水手辛巴 于 2014-03-21 09:29 编辑

问题解决:
1)framebuffer中有一个叫framebuffer console的模块,把LCD驱动实现为标准的framebuffer,然后支持framebuffer console模块,实现为一个tty设备。
2)在framebuffer console中支持硬件设备中的按键输入,可能要做一些按键映射的工作。
3)写一个加载应用的程序,把标准输入输出定向到相应的tty设备,并且设定一些必须的环境变量,如ncurses使用的TERM和TERMINFO等变量(具体作用请查《UNIX Linux下curses库开发指南》)。
4)通过加载程序,使用exec执行实现的ncurses应用即可。
当然,因为ncurses是基于终端的,即使没有framebuffer console,不需要输出到lcd,通过远程连接到终端(通过telnet/ssh等),也是一样可以使用ncurses库的,条件仅是增加TERMINFO的支持即可,应用部分的代码可以完全不需要修改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP