营销策划公司挣钱吗,网站运行速度优化,亚马逊图书网上商城,揭阳网站制作教程一、Linux 自带 LED 驱动使能 其实 Linux 内核自带 LED 抢夺那个#xff0c;但在此之前需要配置 Linux 驱动来使能 LED 驱动。 输入以下命令#xff1a;
cd linux/atk-mpl/linux/my_linux/linux-5.4.31
make menuconfig 根据以下路径找到 LED 驱动#xff1a;
→ Device D…一、Linux 自带 LED 驱动使能 其实 Linux 内核自带 LED 抢夺那个但在此之前需要配置 Linux 驱动来使能 LED 驱动。 输入以下命令
cd linux/atk-mpl/linux/my_linux/linux-5.4.31
make menuconfig 根据以下路径找到 LED 驱动
→ Device Drivers→ LED Support (NEW_LEDS [y])→LED Support for GPIO connected LEDs 配置完成后Save 保存退出之后重新编译 Linux并且把新编译的 uImage 镜像启动开发版。 二、Linux 自带 LED 驱动简介
1.1 LED 驱动框架分析 进入 /linux/atk-mpl/linux/my_linux/linux-5.4.31/drivers/leds 目录打开 leds-gpio.c 文件
/* 这里其实和上一章节类似都是这种结构除了325行是新的之外 */
......
203 static const struct of_device_id of_gpio_leds_match[] {
204 { .compatible gpio-leds, }, // 这里得和设备树的LED节点一样才能匹配成功
205 {},
206 };
207
208 MODULE_DEVICE_TABLE(of, of_gpio_leds_match);
......
316 static struct platform_driver gpio_led_driver {
317 .probe gpio_led_probe,
318 .shutdown gpio_led_shutdown,
319 .driver {
320 .name leds-gpio, // 这里设置为leds-gpio那么/sys/bus/platform/drivers目录下也会出现一个这个名字
321 .of_match_table of_gpio_leds_match,
322 },
323 };
......
325 module_platform_driver(gpio_led_driver); // 向Linux内核注册platform 1.2 module_platform_driver 分析 上一节的 LED 驱动中的 325 行是向 Linux 内核注册 platform。module_platform_driver 其实是 platform 驱动的注册和删除把之前的给省略了
static int __init gpio_led_driver_init(void)
{return platform_driver_register ((gpio_led_driver));
}
module_init(gpio_led_driver_init);
static void __exit gpio_led_driver_exit(void)
{platform_driver_unregister ((gpio_led_driver) );
}
module_exit(gpio_led_driver_exit); 三、设备树节点编写 Documentation/devicetree/bindings/leds/leds-gpio.txt 这个文档就是讲解 Linux 自带驱动对应的设备的设备树如何编写。这个就是led gpio 的编写还有其他的文档。我们从 leds-gpio.txt 文档中了解到需要注意以下几点 ① 创建一个节点表示 LED 灯设备比如 dtsleds如果板子上有多个 LED 灯的话每个 LED灯都作为 dtsleds 的子节点 比如
dtsleds{compatible gpio-leds; // 这里必须跟leds-gpio.c中的compatible一样led0:{label red; // 这里表示led0是红色灯gpios gpioi 0 GPIO_ACTIVE_LOW;linux,default-trigger heartbeat; // 设置为心跳指示灯default-state off; // 默认关闭...};led1:{label bule; // 这里同上gpios gpiof 3 GPIO_ACTIVE_LOW; // 这里看的硬件原理图是PF3default-state off;...};// 以此往下
}; ② dtsleds 节点的 compatible 属性值一定要为“gpio-leds”看上面的比如 ③ 设置 label 属性此属性为可选每个子节点都有一个 label 属性 label 属性一般表示LED 灯的名字比如以颜色区分的话就是 red、 bule如上 ④ 每个子节点必须要设置 gpios 属性值表示此 LED 所使用的 GPIO 引脚如上 ⑤ 可以设置“ linux,default-trigger”属性值也就是设置 LED 灯的默认功能查阅 Documentation/devicetree/bindings/leds/common.txt 这个文档来查看可选功能如上比如 backlight LED 灯作为背光。 default-on LED 灯打开。 heartbeat LED 灯作为心跳指示灯可以作为系统运行提示灯。 disk-activity LED 灯作为磁盘活动指示灯。 ide-disk LED 灯作为硬盘活动指示灯。 timer LED 灯周期性闪烁由定时器驱动闪烁频率可以修改 ⑥ 设置“default-state”属性值可以设置为 on、 off 或 keep为 on 的时候 LED 灯默认打开为 off 的话 LED 灯默认关闭为 keep 的话 LED 灯保持当前模式如上。 第一步首先就是改设备树打开 linux/atk-mpl/linux/my_linux/linux-5.4.31/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi 创建这两个 LED 的 pinctrl 节点 打开 /home/alientek/linux/atk-mpl/linux/my_linux/linux-5.4.31/arch/arm/boot/dts/stm32mp157d-atk.dts 在/跟节点下添加 LED 设备子节点 修改完后输入命令
cd
cd linux/atk-mpl/linux/my_linux/linux-5.4.31
make dtbs
cd arch/arm/boot/dts/
sudo cp stm32mp157d-atk.dtb /home/alientek/linux/tftpboot/ -f 四、运行测试 开启开发板进入 sys/devices/platform/dtsleds/leds/ 目录中可以看见之前在设备树中设置的 label。 查看 sys/class/leds/red/brightness 和 sys/class/leds/green/brightness 这两个文件分别对应 LED0 和 LED1通过操作这两个文件来实现 LED 的打开和关闭。 输入以下命令来打开
echo 1 /sys/class/leds/red/brightness # 打开 LED0
echo 1 /sys/class/leds/green/brightness # 打开 LED1
# echo 在终端输出指定的文本或变量这里我们指定brightness文件为1 关闭
echo 0 /sys/class/leds/red/brightness #关闭 LED0
echo 0 /sys/class/leds/green/brightness #关闭 LED1 这里我搞错了是控制绿灯亮灭之后我改回来。其实我们可以在系统正常运行的时候加入 LED 让它一闪一闪的打开 stm32mp157d-atk.dts 如下 还是以上操作重启开发板就可以看到红色的 LED 不断的闪烁了。 总结 这里使用 Linux 自带的驱动去玩 LED这里我觉得只能单纯的使用一个灯不能和其他设备相互联动。这里或许是我的知识的浅薄不知道还能否联动有大佬知道的话麻烦说一下谢谢。但是对于使用自带的很方便只需要修改树即可。 文章转载自: http://www.morning.txlnd.cn.gov.cn.txlnd.cn http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.rltw.cn.gov.cn.rltw.cn http://www.morning.smfbw.cn.gov.cn.smfbw.cn http://www.morning.skpdg.cn.gov.cn.skpdg.cn http://www.morning.ppdr.cn.gov.cn.ppdr.cn http://www.morning.qtkdn.cn.gov.cn.qtkdn.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.zrjzc.cn.gov.cn.zrjzc.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.cwyfs.cn.gov.cn.cwyfs.cn http://www.morning.plhyc.cn.gov.cn.plhyc.cn http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.dbfp.cn.gov.cn.dbfp.cn http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.wknjy.cn.gov.cn.wknjy.cn http://www.morning.nnhrp.cn.gov.cn.nnhrp.cn http://www.morning.gcqkb.cn.gov.cn.gcqkb.cn http://www.morning.sjsks.cn.gov.cn.sjsks.cn http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn http://www.morning.zxcny.cn.gov.cn.zxcny.cn http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn http://www.morning.wwsgl.com.gov.cn.wwsgl.com http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn http://www.morning.pjfmq.cn.gov.cn.pjfmq.cn http://www.morning.gglhj.cn.gov.cn.gglhj.cn http://www.morning.dhqg.cn.gov.cn.dhqg.cn http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn http://www.morning.nwczt.cn.gov.cn.nwczt.cn http://www.morning.kttbx.cn.gov.cn.kttbx.cn http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn http://www.morning.wflsk.cn.gov.cn.wflsk.cn http://www.morning.ldcsw.cn.gov.cn.ldcsw.cn http://www.morning.lprfk.cn.gov.cn.lprfk.cn http://www.morning.nspzy.cn.gov.cn.nspzy.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn http://www.morning.ptslx.cn.gov.cn.ptslx.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.jpydf.cn.gov.cn.jpydf.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.deanzhu.com.gov.cn.deanzhu.com http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn http://www.morning.mxptg.cn.gov.cn.mxptg.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn http://www.morning.sblgt.cn.gov.cn.sblgt.cn http://www.morning.qgwdc.cn.gov.cn.qgwdc.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.pctql.cn.gov.cn.pctql.cn http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn http://www.morning.rhmk.cn.gov.cn.rhmk.cn http://www.morning.wiitw.com.gov.cn.wiitw.com http://www.morning.rqwwm.cn.gov.cn.rqwwm.cn http://www.morning.rtkz.cn.gov.cn.rtkz.cn http://www.morning.bklhx.cn.gov.cn.bklhx.cn http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn http://www.morning.fyxr.cn.gov.cn.fyxr.cn http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn http://www.morning.eshixi.com.gov.cn.eshixi.com http://www.morning.hxrfb.cn.gov.cn.hxrfb.cn http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn http://www.morning.rgnp.cn.gov.cn.rgnp.cn http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn http://www.morning.qscsy.cn.gov.cn.qscsy.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.lbssg.cn.gov.cn.lbssg.cn http://www.morning.fllfz.cn.gov.cn.fllfz.cn