資源簡介
結(jié)合本作者博客 Linux簡單設(shè)備驅(qū)動(1):使用IO內(nèi)存操作GPIO–LED 的源代碼
代碼片段和文件信息
/*
本文件目標(biāo):
1.學(xué)習(xí)字符設(shè)備驅(qū)動??注冊主次設(shè)備
2.用IO內(nèi)存直接驅(qū)動GPIO?LED
*/
#include?
#include?
#include?
#include?//主次設(shè)備
#include?
#include?//釋放和分配設(shè)備編號
#include?//字符設(shè)備驅(qū)動
#include?//分配scull內(nèi)存使用
#include?//包含device_create函數(shù)??class結(jié)構(gòu)體的頭文件
//IO端口分配以及IO內(nèi)存分配??ARM內(nèi)核中與IO內(nèi)存一樣
#include?
//IO內(nèi)存讀寫
#include?
//CPU?物理地址
#include?
#define?CHRDEV_NAME?“tarkelc_chrdev“//所分配設(shè)備號的名稱
#define?DEVICE_NAME?“tarkelc_learn“//設(shè)備節(jié)點名稱(在/dev中)
#define?DRIVER_NAME?“tarkelc_driver“
#define?CLASS_NAME??“tarkelc_class“///sys/class中可查到
#define?Myled2?EXYNOS4_GPL2(0)
#define?Myled3?EXYNOS4_GPK1(1)
#define?GPL2base_PA?(EXYNOS4_PA_GPIO2+0x0100)
#define?GPK1base_PA?(EXYNOS4_PA_GPIO2+0x0060)
#define?GPL2LEN_PA??(0X20)
#define?GPK1LEN_PA??(0X20)
dev_t?mdev_t;
void?*p1;
void?*p2;
static?struct?class?*myclass;
//操作SPI寄存器結(jié)構(gòu)體
ty
評論
共有 條評論