- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 按键驱动加RTC
#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/i2c.h> #include <linux/rtc.h> #include <linux/bcd.h> #include <l...
2018-07-16 21:19:02
441
原创 led杂设备
#include<linux/init.h> #include<linux/module.h> #include<linux/fs.h> #include <linux/cdev.h> #include <asm/uaccess.h> #include <linux/errno.h> #include <linux/fc...
2018-07-16 21:17:39
154
原创 makefile多个c文件
KERNELDIR ?= /home/linux/sing/linux-3.18.y MODULE_NAME=new obj-m += $(MODULE_NAME).o $(MODULE_NAME)-objs := led.o new2-3.o default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules .PHONY : clean clean: ...
2018-07-16 21:16:54
1211
原创 makefile
# # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this # project. # # This program is free software; you ca...
2018-07-16 21:16:08
159
原创 led.h
#ifndef __HI_LED_H__ #define __HI_LED_H__ #define PWMI_ADRESS_BASE 0x12130000 #define HI_IO_PWMI_ADDRESS(x) (x) #define PERI_CRG55 0x120100DC /* pwm clock && reset c...
2018-07-16 21:14:10
1951
原创 hiled
#include "hi_led.h" #include <common.h> static int led_init_flag = 0; static int led_contrl = LED_CONTROL_PWM; #ifdef CONFIG_HI_LED static int PWM_DRV_Disable(unsigned char pwm_num) { if (...
2018-07-16 21:13:23
217
原创 ds3231
#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/i2c.h> #include <linux/rtc.h> #include <linux/bcd.h> #include <l...
2018-07-16 21:12:51
1768
原创 自定义SPI的注册
这两天被spi搞得很混乱 网上全是在说spi_board_info 的方式,很不喜欢这种方式。所以一直在搞动态注册 struct spi_driver ds3231_driver= { .driver = { .name=this_driver_name, .bus= &spi_bus_type, .owner=THIS_MODULE, }, .probe =ds3231
2017-09-21 10:37:17
648
原创 platform 设备框架
平台上注册device struct platform_device button_dev= { .name ="mybutton", .resource=button_resource, .num_resources=ARRAY_SIZE(button_resource), .dev= { .platform_data=gpio_button, .release=gpio_bu
2017-09-20 14:54:58
189
原创 关于中断中屏蔽中断disable_irq_nosync
void timer_func(unsigned long arg) { printk("enter timer_func.............\n"); del_timer(×s); printk("del_timer....................\n"); enable_irq(76); printk("enable_irq.................
2017-09-18 11:02:27
1858
3
原创 底半部机制
1、tasklet 只需要定义三段代码 功能函数: void my_tasklet(unsigned long data) { printk("enter cdd_func!\n"); } 定义cdd_tasklet 变量,绑定my_tasklet函数: DECLARE_TASKLET(cdd_tasklet, my_tasklet, 0); tasklet_schedu
2017-09-15 15:07:52
305
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人