`
tudusi
  • 浏览: 1045742 次
文章分类
社区版块
存档分类
最新评论

用QT210 LDD平台运行《Linux设备驱动开发详解》实例

 
阅读更多

QT210 LDD开发平台采用Samsung S5PV210,基于CortexTM-A8,运行主频1GHz,内置PowerVR SGX540高性能图形引擎,最高可支持1080p@30fps硬件解码视频流畅播放,格式可为MPEG4, H.263, H.264等。

QT210 LDD S5PV210平台地址系: http://item.taobao.com/item.htm?id=13261044573



QT210默认运行Android 2.3,是LDD6410硬件软件的全面升级。下面我们以3个case为例看看如何以QT210 LDD平台运行《Linux设备驱动开发详解》的实例。


1. framebuffer测试程序

该测试程序在lcd上绘制r,g,b3个逐渐变化的彩带,程序源代码如下:


编译上述程序有2种方法,一种是使用标准的针对arm的gcc,编译时将上述程序静态编译,这样编译出来的可执行文件不再依赖于glibc动态库;一种是编译针对Android的Android.mk,使用Android的编译器编译,这样编译出来的可执行文件依赖于Android Bionic C动态库,也可以在板子上执行。假设使用前一种方法:

我们通过adb的push功能把fb_test push到电路板上执行。


由于默认情况下,Android本身绘占据framebuffer,因此,为了保证本实例的运行,可暂停Android的zygote服务:

运行native下的测试案例,需要停止Android本身,我们可以在登录adb shell后,运行:

停止zygote服务,这样Android本身的刷屏功能将停止工作。

运行


我们将在屏幕上看到3色彩带。

如果我们想恢复Android的运行,只需要启动zygote即可。


2. key test程序

每次按下电路板左侧的任何一个按键,相应的input event事件即被打印,程序代码如下:

通过adb shell运行该程序,按键后,shell打印如下:


3. i2c rw

这个程序可以用userspace读写板子上任何一个i2c client设备上的任何一个寄存器,程序的代码如下:


程序的用法为:


在QT210 LDD平台上运行结果如下:



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics