嵌入式学习笔记(四)- 总线_设备_驱动注册流程

总线_设备_驱动注册流程

总线

查看总线

ls /sys/bus/

查找设备号

cat proc/devices
// 杂项设备
cat /proc/misc

platform 是虚拟总线,挂载着Driver,Device

设备Device

设备是挂载在虚拟总线Platform上的

//platform 
//位于include/linux/platform_device.h
struct platform_device
{ 
	int id;
	const char *	name;
	...
}
// driver 
struct platform_driver
{
	probe(); 
	...
}

驱动注册流程

  • 挂载设备
  • 通过platform_match 做对比,成功调用probe并做初始化工作,调用gpio 申请
  • 打开平台文件arch/arm/mach-xx/match-xx.c
#ifdef CONFIG_HELLO_CTL
struct platform_device s3c_devices_hello_ctl = {
	.name = "hello_ctl",
	.id = -1,
};
#endif
------------------------------------------------
#ifdef CONFIG_HELLO_CTL
		&s3c_devices_hello_ctl,
#endif
  • 将设备结构体放到平台文件中,会自动注册设备,不用调用设备的注册函数
  • 在Kconfig中添加编译HELLO设备的宏定义
  • 配置.config 并编译生成新zImage
  • 注册成功后可以在虚拟平台总线上查到注册的设备
ls /sys/devices/platform
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值