控制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...