您现在的位置: 主页 > MCU > 单片机技术应用 > TX2440A的led驱动 -
本文所属标签:
为本文创立个标签吧:

TX2440A的led驱动 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读] 自己照着移植文档把对NAND FLASH驱动和yaffs2文件系统的支持的Linux系统编译出来,然后把内核镜像烧入FLASH,然后再把光盘的root_2.6.31.bin镜像烧入FLASH。这样就在目标板建立起了测试驱动的最基本的环境。同时,

自己照着移植文档把对NAND FLASH驱动和yaffs2文件系统的支持的Linux系统编译出来,然后把内核镜像烧入FLASH,然后再把光盘的root_2.6.31.bin镜像烧入FLASH。这样就在目标板建立起了测试驱动的最基本的环境。同时,编译的源码也就成了宿主机的编译驱动的内核树环境。

本文引用地址: http://www.21ic.com/app/mcu/201807/784654.htm

编译驱动时可以使用:make -C /.../.../linux-2.6.31/ SUBDIRS=$PWD modules

注意:要有Makefile文件;/.../.../linux-2.6.31/ 为内核树目录

如果要编译TX2440A的led驱动的话,即光盘里的TX2440_led.c源文件,在Makefile文件里有一句:

obj-m := TX2440_led.o即可。

编译led驱动是还需注意的是:要修改源码中arch/arm/plat-s3c2440/common-smdk.c源文件。在arch/arm/plat-s3c24xx/common-smdk.c中将GPF0-GPF3设为输出,全部输出低电平。只需在smdk_machine_init函数里修改

void__initsmdk_machine_init(void)

{

/* Configure the LEDs (even if we have no LED support)*/

s3c2410_gpio_cfgpin(S3C2410_GPF(0), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(1), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(2), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(3), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(4), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(5), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(6), S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPF(7), S3C2410_GPIO_OUTPUT);


s3c2410_gpio_setpin(S3C2410_GPF(0),0);

s3c2410_gpio_setpin(S3C2410_GPF(1),0);

s3c2410_gpio_setpin(S3C2410_GPF(2),0);

s3c2410_gpio_setpin(S3C2410_GPF(3),0);

s3c2410_gpio_setpin(S3C2410_GPF(4),1);

s3c2410_gpio_setpin(S3C2410_GPF(5),1);

s3c2410_gpio_setpin(S3C2410_GPF(6),1);

s3c2410_gpio_setpin(S3C2410_GPF(7),1);


if(machine_is_smdk2443())

smdk_nand_info.twrph0 =50;


s3c_device_nand.dev.platform_data = &smdk_nand_info;


platform_add_devices(smdk_devs,ARRAY_SIZE(smdk_devs));


s3c_pm_init();

}

该代码是通过codehl软件生成的代码在用word打开复制来的。

由这大家也可想到,其实也可以在驱动中添加在smdk_machine_init函数中添加的代码。效果也相同。




              查看评论 回复



 

网站地图

围观()