嵌入式學習筆記(十二) lEDS 驅動

2021-10-06 12:23:44 字數 2068 閱讀 1536

/*三星平台的gpio標頭檔案*/

/*三星平台exynose 系列標頭檔案*/

#include

#include

/*三星4412平台標頭檔案*/

#include

/*linux 申請標頭檔案*/

#include

#defind driver_name "hello_ctl";

#include

#include

// 驅動註冊的標頭檔案和裝置註冊的標頭檔案和解除安裝函式

#include

module_license

("dual bsd/gpl");

module_author

("xubaipei"

)struct platform_driver_hello_driver=};

static

struct file_operation hello_ops =

;static

struct miscdevice hello_dev =

;static

int hello_ioctl (

struct file *file ,

unsigned

int cmd,

unsigned

long arg)

if(arg >1)

gpio_set_value

(exynos4_gpl2(0

),cmd;

return0;

}static

inthello_release

(struct inode *inode,

struct file * file)

static

inthello_open

(struct inode *inode,

struct file * file)

static

inthello_probe

(struct platform_device *pdv)

// 三星平台配置 from to 設定為輸出

s3c_gpio_cfpin

(exynos4_gpl2(0

),s3c_gpio_output)

;gpio_set_value

(exynos4_gpl2(0

),0)

;return0;

}static

inthello_remove

(struct platform_device *pdv)

static

inthello_suspend

(struct platform_device *pdv)

static

void

hello_shutdown

(struct platform_device *pdv)

static

inthello_resume

(struct platform_device *pdv)

module_init

(hello_init)

;module_exit

(hello_exit)

;static

inthello_init

(void

)static

inthello_exit

(void

)

//將核心中的led 驅動去掉,編譯並燒寫

char

* device_node =

"/dev/hello_ctl"

;int

main

(void

)printf

(,hello_node)

;ioctl

(fd,1,

1);sleep(3

);ioctl

(fd,0,

1);sleep(3

);ioctl

(fd,0,

1);close

(fd)

;}

修改makefile 中生成檔案為led.o 編譯執行

嵌入式學習筆記(五) 驅動註冊

defind driver name hello ctl include include 驅動註冊的標頭檔案和裝置註冊的標頭檔案和解除安裝函式 include module license dual bsd gpl module author xubaipei struct platform dri...

嵌入式學習筆記

嵌入式系統定義 技術角度以應用為中心,以計算機技術為基礎,軟硬體可裁剪,應用系統對功能,可靠性,成本,體積,功耗,和應用環境有特殊要求的專用計算機系統系統角度 設計完成複雜功能的硬體和軟體並使其緊密契合在一起的計算機系統 實時在規定的時間內,完成規定的動作 紅帽linux 基本命令 ls 檢視當前目...

嵌入式學習筆記

1 3 買了兩本書鳥哥的 鳥哥的linux私房菜基礎學習篇 第三版 和偉山東的 嵌入式linux應用開發完全手 冊 暫時看不懂 4 看了王剛的 linux系統移植 第二版 實現了windows和linux虛擬機器的檔案的共享 2014 11 02 主機可以ping通虛擬機器,虛擬機器ping不通主機...