linux java模拟器_在Android模拟器和Ubuntu上测试Linux驱动

在上一篇文章中已经实现了一个简单的Linux驱动程序,该驱动的功能是统计给定字符串中的单词数。并且在最后已经将该Linux驱动的源代码成功编译成动态Linux驱动模块word_count.ko。下一步就是测试该模块。测试的方法很多,最常用的就是直接在Ubuntu  Linux、Android模拟器中测试。当然,这 对于本章实现的Linux驱动是没问题的,但是对于需要直接访问硬件的驱动在Ubuntu Linux上测试就不太方便。在这种情况下就需要在相应的硬件上进行测试。

对于一个Linux驱动程序,一开始可以在UbuntuLinux上做前期开发和测试。对于访问硬件的部分也可以在Ubuntu Linux用软件进行模拟。当基本开发完成后,就需要在开发板或工程样机上使用真实的硬件进行测试。当然,最后还需要在最终销售的手机上进行测试。最终测 试通过,Linux驱动才能算真正开发完成。在开发Linux驱动的过程中一个重要的步骤就是测试。本节将结合实际的开发流程介绍在不同平台上测试 Linux驱动程序。这些测试平台包括UbuntuLinux、Android模拟器和S3C6410开发板。

一、使用Ubuntu Linux测试Linux驱动

本节将介绍如何在Ubuntu Linux下测试驱动程序。由于上一节编写的Linux驱动程序通过4个字节从设备文件(/dev/wordcount)返回单词数,所以不能使用cat 命令测试驱动程序(cat命令不会将这4个字节还原成int类型的值显示)。但可以使用如下命令从日志中查看单词数。

# sh build.sh

# echo 'I love you.' > /dev/wordcount

# dmesg

执行上面的命令后,如果输出如图6-13所示白框中的信息,说明驱动程序成功统计了单词数。

278e80b0e1dd0f0dadaabde5d0cfe2ae.png

虽然使用echo和dmesg命令可以测试Linux驱动程序,但这种方式并不是真正的测试。为了使测试效果更接近真实环境,一般需要编写专门用于测试的 程序。本节将为word_count驱动编写一个专门的测试程序(test_word_count.c)。test_word_count.c通过直接操 作/dev/wordcount设备文件与word_count驱动进行交互。测试程序的代码如下:

#include

#include

#include

#include

#include

int main(int argc, char *argv[])

{

int testdev; // 打开设备文件(/dev/wordcount)的句柄

unsigned char buf[4]; // 表示单词数的4个字节

// 打开设备文件

testdev = open("/dev/wordcount", O_RDWR);

// 如果open函数返回-1,表示打开设备文件失败

if (testdev == -1)

{

printf("Cann't open file \n");

return 0;

}

// 如果test_word_count后面跟有命令行参数,程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值