嵌入式字符设备驱动程序hello驱动程序的测试程序
前面分享了不涉及硬件操作的hello字符驱动程序的设计过程,这次分享一下相应的测试程序。
后面我会结合STM32MP157开发板,给大家分享涉及硬件操作的字符设备的驱动程序该如何实现。并给大家演示在开发板上的操作。
五一假期我也会在公众号(河边小乌龟爬)带着大家用五天的时间完成一个嵌入式相关的小项目:基于QT的视频监控系统。
通过这个项目大家能够掌握QT界面设计及编程的基本知识,与开发板实现UDP通信,多线程编程,v4l2视频处理模块,及开发板设备驱动节点基本原理及操作。
我也是嵌入式软件开发的一名学习者,欢迎大家一起交流。在嵌入式学习的过程中一起进步。(群名称:嵌入式软件开发交流群;群 号:1004953094)
2.hello驱动的测试程序
#incldue <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
//应用程序运行参数
/*./hello_drv_test -w abc
**./hello_drv_test -r
*/
int main(int argc, char** agrv[]){
int fd;//定义一个文件描述符,用于保存打开的驱动设备
char buf[1024];
int len;
if(argc < 2){
printf("Usage: %s -w <string>\n", argv[0]);
printf(" %s -r\n", argv[0]);
return -1;
}
//打开设备文件
fd = open("/dev/hello", O_RDWR);
if((0 == strcmp(argv[1], "-w")) && (argc == 3)){
len = strlen(argv[2]) + 1;
len = len < 1024 ? len :1024;
write(fd, argv[2], len);
}
else{
len = read(fd, buf, 1024);
buf[1023] = '\0';
printf("APP read : %s\n", buf);
}
close(fd);
return 0;
}
3.涉及硬件操作的设备驱动程序
先把坑挖好,后面有时间过来填坑。。。。
了解嵌入式开发的更多内容,关注微信公众号:河边小乌龟爬