Driver Application code:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
char buf[30];
int fd, retread, retwrite, retlseek, retclose;
fd = open("MyTestDevice", O_CREAT | O_RDWR, 0666);
printf("Value of file descriptor:%d\n", fd);
retwrite = write(fd, "welcome to embedded system", 27);
printf("return value of write:%d\n", retwrite);
retlseek = lseek(fd, 11, SEEK_SET);
printf("return value of lseek:%d\n", retlseek);
retread = read(fd, buf, 27);
printf("return value of read:%d\n", retread);
printf("Data read from driver is:%s\n", buf);
retclose = close(fd);
printf("return value of close:%d\n", retclose);
return 0;
}
Я успешно могу связываться с кодом приложения из пространства пользователя до драйвера в пространстве ядра. И используя эти базовые знания, я хочу мигать светодиодом и узнать, что мне нужно изучать после этой программы.