当前位置: 首页 > news >正文

手机商店app下载上海短视频seo优化网站

手机商店app下载,上海短视频seo优化网站,建设商务网站过程,什么是一学一做视频网站好【Linux】【驱动】应用层和驱动层传输数据 绪论1.如果我在应用层使用系统0 对设备节点进行打开,关闭,读写等操作会发生什么呢? 2 我们的应用层和内核层是不能直接进行数据传输的3 驱动部分的代码4 应用代码5 编译以及运行代码 绪论 Linux一切皆文件! 文…

【Linux】【驱动】应用层和驱动层传输数据

  • 绪论
    • 1.如果我在应用层使用系统0 对设备节点进行打开,关闭,读写等操作会发生什么呢?
  • 2 我们的应用层和内核层是不能直接进行数据传输的
  • 3 驱动部分的代码
  • 4 应用代码
  • 5 编译以及运行代码

绪论

Linux一切皆文件!
文件对应的操作有打开,关闭,读写设备节点对应的操作有打开,关闭,读写

1.如果我在应用层使用系统0 对设备节点进行打开,关闭,读写等操作会发生什么呢?

当我们在应用层 read 设备节点的时候,就会触发我们驱动里面read 这个函数

ssize t (*read) (struct file *, char  user *, size t, loff t *);

当我们在应用层 write 设备节点的时候,就会触发我们驱动里面 write 这个函数

ssize t (*write) (struct file *, const char  user *, size t, loff t *);
unsigned int (*poll) (struct file *, struct poll table struct *);
long (*unlocked ioctl) (struct file *, unsigned int, unsigned long);
int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);

2 我们的应用层和内核层是不能直接进行数据传输的

如下两个代码实现了数据的交互

static inline long copy from user(void *to, const void user * from, unsigned long n)
static inline long copy to user(voiduser *to, const void *from, unsigned long n)

3 驱动部分的代码

#include <linux/init.h>
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/fs.h>	
#include <linux/uaccess.h>int misc_open(struct inode *inode, struct file *file)
{printk("misc_open\n");return 0;
}int misc_release(struct inode *inode, struct file *file)
{printk("misc_release\n");return 0;}ssize_t misc_read(struct file *file,char __user *ubuf,size_t size,loff_t *loff_t)
{char kbuf[512] = "haha";if(copy_to_user(ubuf,kbuf,strlen(kbuf))!=0){printk("error copying\n");return -1;}return 0;}ssize_t misc_write(struct file *file,const char __user *ubuf,size_t size,loff_t *loff_t)
{char kbuf[512] = {0};	if(copy_from_user(kbuf,ubuf,size)!= 0){printk("misc_write error\n");return -1;}printk("kbuf = %s\n",kbuf);return 0;}struct file_operations misc_fops = {.owner	= THIS_MODULE,.open	= misc_open,.release = misc_release,.read	= misc_read,.write	= misc_write
};struct miscdevice misc_dev = 
{.minor = MISC_DYNAMIC_MINOR,.name = "hello_misc",.fops = &misc_fops
};//drivers for init
static int misc_init(void)
{int ret = 0;ret = misc_register(&misc_dev);if(ret<0) {printk("misc_register is failed\n");return -1;}printk("misc registe is succeed \n");return 0;
}//drivers for exit 
static void misc_exit(void)
{
//misc_deregister(&misc_dev);printk("misc exit \n");}module_init(misc_init);
module_exit(misc_exit);MODULE_LICENSE("GPL");

4 应用代码

write就是实现了write的功能
read 函数就是实现了read的功能

#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#include "stdlib.h"
#include "string.h"/** @description		: main主程序* @param - argc 	: argv数组元素个数* @param - argv 	: 具体参数* @return 			: 0 成功;其他 失败*/
int main(int argc, char *argv[])
{int fd;char buf[64] = "12345";//fd = open(argv[1], O_RDONLY);fd = open("/dev/hello_misc", O_RDWR);if(fd < 0){perror("open error");return fd;}//write(fd,buf,sizeof(buf));//printf("buf is %s\n",buf);write(fd,buf,sizeof(buf));close(fd);return 0;
}

5 编译以及运行代码

编译app代码

arm-buildroot-linux-gnueabihf-gcc -o miscApp miscApp.c

挂载nfs盘

mount -t nfs -o nolock,vers=3 192.168.5.15:/home/book/nfs_rootfs /mnt

移动到mnt目录

cd /mnt

删除文件

rm -f + chrdevbase.ko

移动代码

cp miscApp /home/book/nfs_rootfs/

允许printk输出

echo "7 4 1 7"> /proc/sys/kernel/printk

安装驱动

insmod chrdevbase.ko

列出驱动

lsmod

删除驱动

remmod

运行代码

./miscApp

在这里插入图片描述

http://www.mmbaike.com/news/770.html

相关文章:

  • wordpress点开文章显示空白昆明关键词优化
  • 制作企业网站新闻列表页面网页设计百度账号登录入口网页版
  • 怎么注册seo服务运用什么技术
  • 青岛网站建设公司怎么样网页seo搜索引擎优化
  • 深圳网站关键词推广网站改版seo建议
  • 免费自助建站哪家好2021网络营销成功案例
  • 服装购物网站建设微博推广怎么做
  • 怎么制作网站外链网络营销的步骤
  • 做怎么网站平谷头条新闻
  • wordpress筛选插件关键词优化排名首页
  • 北京招聘网站开发百度seo2022
  • 赣州有做网站推广的公司吗淘宝宝贝关键词排名查询工具
  • 如何建设新闻网站网上推销产品的软件
  • 地方门户网站规划百度搜索指数排行榜
  • wordpress 相应太慢网站关键词优化工具
  • 吴志国网站建设工作室百度seo多少钱一个月
  • 河南网站建设首选公司网络优化软件有哪些
  • 展台设计网站都有哪些搜外网友情链接
  • 网站建设功能评价指标佛山做网络优化的公司
  • 金寨县住房和城乡建设部网站seo快速培训
  • wordpress文件大小限制改不seo zac
  • 网站建设 青岛seo优化排名技术百度教程
  • android显示wordpress银川seo优化
  • 建设行业信息管理系统网站提高工作效率总结心得
  • 上海网络科技有限公司有哪些海南seo顾问服务
  • 团购鲜花的网站建设郑州seo外包阿亮
  • 上海网站备案审核时间seo综合查询是什么
  • 外贸网站开发莆田市场营销实际案例
  • 青海政府网站建设公司seo快速培训
  • jsp网站建设项目实战客户推广渠道有哪些