TQ2440背光控制

2021-07-04 03:29:30 字數 1538 閱讀 9626

控制lcd背光就是控制s3c2440的lcd控制的lcd_pwren腳lcdcon5暫存器pwren位控制lcd是否輸出。

對linux_2.6.30.4核心進行移植。新建乙個backlight.c檔案放到「drivers/video」目錄下。內容如下:

#include

#include

#include

#define device_name"bkl"

#define s3c2440_lcd_base0x59000000

#define s3c2440_lcdcon1(s3c2440_lcd_base + 0x00)

volatile int *lcdcon1 = null;

static int tq2440_backlight_ioctl(

struct inode *inode, 

struct file *file, 

unsigned int cmd, 

unsigned long arg)

}static struct file_operations dev_fops = ;

static struct miscdevice misc = ;

static int __init dev_init(void)

static void __exit dev_exit(void)

module_init(dev_init);

module_exit(dev_exit);

module_license("gpl");

module_author("www.embedsky.net");

module_description("backlight control for embedsky sky2440/tq2440 board");

然後修改「drivers/video/kconfig」檔案,在1984行新增如下內容:

config fb_s3c2410_debug

bool "s3c2410 lcd debug messages"

depends on fb_s3c24x0

help

turn on debugging messages. note that you can set/unset at run time

through sysfs

config tq2440_backlight

bool "embedsky sky2440/tq2440 board backlight control"

depends on fb_s3c24x0

help

backlight control for embedsky sky2440/tq2440 board.

再修改「drivers/video/makefile」檔案,在115行新增:

obj-$(config_tq2440_backlight)+= backlight.o

修改完成以後配置核心映象

配置完以後編譯出核心映象。

編寫lcd背光控制程式和編輯makefile檔案。最後測試lcd背光開關。

《TQ2440載入Hello world驅動模組》

經過將近乙個月都時間終於按照手冊把linux核心移植完了,接下來要開始驅動模組的移植了,在網上查了一些資料,總結如下 目標平台 tq2440 arm9 核心版本 linux 2.6.25 前提 宿主機上已安裝交叉編譯工具,因為這個在linux核心移植的時候就使用過了,這裡就不說了。進入正題 1 首先...

TQ2440移植strace工具

一 以下是網上的乙個方法,但是不適合tq2440 主要是主機靜態連線的庫我沒有,呵呵 strace工具是乙個非常強大的工具,是除錯程式的好工具。要移植到arm平台,就需要使用交叉編譯工具編譯生成靜態鏈結的可執行檔案。具體步驟如下 2.解壓。3.配置。configure host arm none l...

tq2440 的dma裸機驅動

dma是一種提高cpu效率的工具。如果讓cpu去負責搬運資料,效率是十分低下的,因為在這個過程中,cpu就只能做這麼一件事。因此dma就應運而生。只要告訴dma,要搬運的資料源位址,以及要搬運到 去的位址,何種方式,使能它,dma就會獲取匯流排控制權,自動地搬運資料,從而解放cpu,提高效率。tq2...