嵌入式字符设备驱动程序

嵌入式字符设备驱动程序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.涉及硬件操作的设备驱动程序

先把坑挖好,后面有时间过来填坑。。。。

了解嵌入式开发的更多内容,关注微信公众号:河边小乌龟爬

猜你喜欢

转载自blog.csdn.net/zhm1949/article/details/124365131