tslib移植到2440与Minigui调试全程解析

需积分: 10 2 下载量 60 浏览量 更新于2024-09-18 收藏 9KB TXT 举报
本文档主要介绍了将tslib库移植到Minigui环境并在2440平台进行调试的详细过程。tslib是一个轻量级的触摸屏输入库,用于处理各种触摸设备的输入事件。Minigui则是一个跨平台的GUI库,用于开发嵌入式系统的图形用户界面。 首先,作者从下载tslib-1.3版本的源码包(`.tar.bz2`)开始,将其解压并放置在`/home/chang/libs/tslib/tslib-1.3`目录下。在移植过程中,配置编译选项是关键步骤,通过运行`./autogen.sh`和`./configure`命令,作者指定了编译工具链(如`arm-linux-gcc`),以及构建目标(`--build`, `--target`, 和 `--host`)和安装路径。为了优化性能,`--enable-inputapi=no`被设置,关闭了输入API的编译,而`--enable-debug=yes`则开启调试模式以获取更多调试信息。 在源代码修改方面,涉及到`src/ts_read_raw.c`文件,其中对默认的触控事件类型进行了调整,以适应特定硬件的需求。同时,`tslib/plugins/mousebuts.c`中的代码逻辑也进行了相应调整,以正确处理鼠标按钮事件的压力值和状态。这部分强调了对硬件兼容性和实时性的考虑,确保在Minigui环境中触控输入的准确性。 在编译时,遇到了链接问题。原本的`LDFLAGS`设置不支持相对路径,因此作者将其修改为绝对路径,以解决动态链接库查找问题。这表明对构建工具链的理解和对库文件路径管理的重要性。 最后,作者分享了一个函数`getxy`的实现,它在`tslib/tests/ts_calibrate.c`文件中,用于获取触摸坐标。这个函数在移植过程中可能也是测试和调试的一部分,展示了如何在tslib框架下操作触摸屏设备。 这篇文档详细记录了将tslib与Minigui集成并适配2440平台的具体步骤,包括源码配置、代码优化、链接调整以及关键函数的实现,这对于其他想要在类似平台上进行类似工作的开发者来说是一份宝贵的参考资料。