Pinctrl子系统和GPIO子系统实验
- 驱动入口出口函数:
static int __init led_init(void)
{
return 0;
}
static void __exit led_exit(void)
{
}
module_init(led_init);
module_exit(led_exit);
MODULE_LICENSE("GPL");
- 字符设备驱动那一套
先创建设备结构体 (cdev)
1.设备号;2.主设备; 3. 次设备号
注册字符设备驱动---- 创建了设备-------创建了类
接下来:从设备树中获取IO,去点灯:
1.获取设备节点
结构体中添加 * nd 。 和GPIO编号
等等……
报错:
绝大多数原因是这个IO 口被别的外设占用了,所以检查设备树:
1.检查复用设置,即pinctrl设置。 GPIO1_IO03
2.GPIO使用。
之前心跳灯一直闪烁的原因: