linux
xb1667
这个作者很懒,什么都没留下…
展开
-
linux 按键轮询驱动(gpio_keys_polled.c)
系统自带了gpio_keys_polled.c驱动文件,硬件资源是通过设备树获取,在不修改设备树的情况下,可以直接在驱动文件中对相关的结构体进行赋值。1、定义当前使用的IO按钮数组static struct gpio_keys_button buttons[]={ { .gpio = 41,//IO引脚号,根据实际情况修改 .code = KEY_...原创 2019-03-07 10:26:37 · 3565 阅读 · 0 评论 -
linux——sd3088驱动
因sd3088采用i2c接口,故本驱动参照自带驱动rtc-pcf8563.c进行修改。主要实现时间读取与设置,与闹钟相关未实现。1、源码如下#include <linux/i2c.h>#include <linux/bcd.h>#include <linux/rtc.h>#include <linux/slab.h>#inclu...原创 2019-03-21 13:30:46 · 642 阅读 · 1 评论 -
linux内核空间使用浮点计算问题记录
驱动实现过程中涉及到浮点计算,使用整型数据放大处理会溢出导致结果错误(在内核中不建议使用浮点计算相关处理,故网上相关的资料比较少),经多方查找,终于找到了在内核中链接libgcc库的方法,主要参照以下两个链接:1、linux内核编译中undefinedreferenceto`__aeabi_i2d'的解决办法2、undefined reference to `raise' 解决方法...原创 2019-04-16 09:35:49 · 931 阅读 · 0 评论 -
linux——FM24V10驱动
FM24V10是i2c接口的非易失性RAM,通信时序与EEPROM一致。使用系统自带的at24.c驱动进行相关修改,使它适用与FM24V10。 EEPROM均配有写保护引脚(WP),故在驱动中与写入相关的函数首尾要加入WP引脚的处理,FM24V10写入时需WP为低时才有效。内核空间中使用gpio,需包含头文件<linux/gpio.h>,调用gpio_...原创 2019-04-23 17:15:45 · 950 阅读 · 0 评论 -
linux下硬件看门狗驱动
看门狗工作原理在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。看门狗其实就是一个可以在一定时间内被复位的计数器。当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系统重启。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零,不让复位信号产生。如果系统不出问题,程序按时“喂狗”,一旦程序跑飞,...原创 2019-06-21 09:33:21 · 3365 阅读 · 0 评论