裸机开发与Linux驱动开发的区别

一、裸机开发
直接操作寄存器、MCU的库等等
二、Linux
1、根据Linux下各种驱动框架开发。
2、驱动最终表现就是文件(dev/xxx)。打开、关闭、读写、。。。
3、 设备树,一个dts,此文件描述板子的设备信息,用于驱动和板子进行匹配
三、Linux 驱动分类
分为三大类:
1、字符设备驱动 类型最多
2、块设备驱动
3、网络驱动
混合类型驱动:比如:usb wifi 等等

驱动本质: 获取外设、控制外设、获取传感器数据。将数据提交给应用程序
用户空间(用户态) 和内核空间(内核态)(安全性,内核态能访问任何硬件资源)
Linux os 内核和驱动运行在内核空间,应用程序运行在用户空间
应用程序访问内核资源:三种方案:系统调用、异常中断、陷入
系统调用:通过API函数间接调用系统调用,eg:POSIX 、API 、C库等等
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值