一 驅動例項
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/*gpio3_3:用於檢測串列埠是否出現overrun狀態*/
#define serial_states_gpio 67
/*匯出符號讓其他核心模組可見,然後還需要在相應的.h檔案中宣告(extern volatile unsigned long serial_states;)*/
volatile
unsigned
long serial_states;
export_symbol_gpl(serial_states);
static
int serial_states_open(struct inode *inode, struct file *file)
static
int serial_states_release(struct inode *inode, struct file *file)
static
int serial_states_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
return count;
}static
int serial_states_write(struct file *filp, const
char __user *buf, size_t count, loff_t *f_pos)
static
const
struct file_operations serial_states_fops = ;
static
struct miscdevice serial_states_device = ;
static
int __init u9500_init(void)
/*判斷該gpio是否有效*/
ret = gpio_is_valid(serial_states_gpio);
if (0 == ret)
/*請求gpio:其他地方就不能用了*/
ret = gpio_request(serial_states_gpio, "serial_states_gpio");
if (0 != ret)
goto err2;
/*設定gpio方向,以及設定輸出值*/
ret = gpio_direction_output(serial_states_gpio, 0);
if (0 != ret)
goto err3;
/*設定gpio輸出值*/
gpio_set_value(serial_states_gpio, 0);
printk("serial states module probe sucsecc!\n");
return
0;err3:
gpio_free(serial_states_gpio);
err2:
misc_deregister(&serial_states_device);
err1:
return ret;
}module_init(u9500_init);
static
void __exit u9500_exit(void)
module_exit(u9500_exit);
module_author("vector");
module_license("gpl v2");
module_description("serial_states driver");
二 makefile 例項
serialstates-objs := serial_states.o
obj-m := serialstates.o
pwd := $(shell pwd)
kdir := /home/vec/mydisk1/soure/kernel/obj
all:
$(make) -c $(kdir) m=$(pwd)
clean:
rm -rf .*.cmd *.o *.mod
.c *.ko
.tmp_versions modules.order module.symvers
Webpack模組的匯出以及之間的依賴引用
模組化開發說白了就不必在html頁面,引用所有的js檔案。所有的js檔案都進行模組化設定,模組之間可以相互引用。webpack模組化開發是使用module.exports進行相關方法和屬性的匯出,提供其它模組使用。每個模組都有自己的作用域,並且每個模組的屬性和方法都是區域性的,其它的模組是無法使用,...
三 Webpack模組的匯出以及之間的依賴引用
一 模組化開發 模組化開發說白了就不必在html頁面,引用所有的js檔案。所有的js檔案都進行模組化設定,模組之間可以相互引用。webpack模組化開發是使用module.exports進行相關方法和屬性的匯出,提供其它模組使用。每個模組的 都有自己的作用域,並且每個模組的屬性和方法都是區域性的,其...
Webpack模組的匯出以及之間的依賴引用
一 模組化開發 模組化開發說白了就不必在html頁面,引用所有的js檔案。所有的js檔案都進行模組化設定,模組之間可以相互引用。webpack模組化開發是使用module.exports進行相關方法和屬性的匯出,提供其它模組使用。每個模組的 都有自己的作用域,並且每個模組的屬性和方法都是區域性的,其...