rk3288-cc上編寫一個hello world

1、編寫一個hello world驅動

懶,不寫了linux

2、編寫Kconfig和Makefile

咱們在kernel/driver目錄下建立一個hello目錄函數

而後建立一個Kconfig文件:spa

config HELLO
    tristate "Hello world for Firefly"
    help
        Hello for Firefly

而後建立一個Makefile文件:code

obj-$(CONFIG_HELLO)    += hello.o

接着在上一級目錄裏,就是driver目錄Kconfig加入:blog

source "drivers/hello/Kconfig"

而後從新編譯內核,製做鏡像,燒錄。ip

觀察啓動輸出是否有打印信息get

 

3、GPIO設置

GPIO經常使用系統調用函數,位於include/linux/gpio.h:input

1. 申請GPIO
static inline int gpio_request(unsigned gpio, const char *label)

2. 設置GPIO電平
static inline int gpio_set_value(unsigned int gpio, int value)

3. 獲取GPIO電平
static inline int gpio_get_value(unsgined int gpio)

4. 設置GPIO爲輸出,並設置電平
static inline int gpio_direction_output(unsigned gpio, int value)

5. 設置GPIO爲輸入
static inline int gpio_direction_input(unsigned gpio)

 ROC-RK3328-CC 的 GPIO 驅動是在如下 pinctrl 文件中實現的:io

kernel/drivers/pinctrl/pinctrl-rockchip.c
相關文章
相關標籤/搜索