您现在的位置: 主页 > MCU > 单片机技术应用 > S3C2440 Linux驱动移植——LED heartbeat -
本文所属标签:
为本文创立个标签吧:

S3C2440 Linux驱动移植——LED heartbeat -

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

[导读]开发板:TQ2440内核:Linux 2.6.32PC OS:Ubuntu 11.04 本文将对LED驱动的移植进行说明,本文的LED用于实现heartbeat,也就是系统启动以后,led会想人类的心脏一样,按固定频率进行闪烁。除非系统死机,否则LED是不会

开发板:TQ2440

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

内核:Linux 2.6.32

PC OS:Ubuntu 11.04


本文将对LED驱动的移植进行说明,本文的LED用于实现heartbeat,也就是系统启动以后,led会想人类的心脏一样,按固定频率进行闪烁。

除非系统死机,否则LED是不会停止闪烁的。

1. 配置内核,如下图


2. 修改代码


TQ2440开发板提供了4个LED可供用户控制,本文用其中一个LED实现heartbeat功能。

该LED和GPB5号管脚相连。

打开文件arch/arm/plat-s3c24xx/common-smdk.c

将smdk_pdata_led4修改为


staticstructs3c24xx_led_platdatasmdk_pdata_led1/*smdk_pdata_led4*/={

.gpio=S3C2410_GPB(5),//S3C2410_GPF(4),

.flags=S3C24XX_LEDF_ACTLOW|S3C24XX_LEDF_TRISTATE,

.name="led1",//"led4",

.def_trigger="heartbeat",//"timer",

};

由于这是板子上的第一个led,所以将名字也修改为LED1。


将smdk_led4结构体更名为smdk_led1。


将smdk_devs数组修改为如下:


staticstructplatform_device__initdata*smdk_devs[]={

&s3c_device_nand,

&smdk_led1,

//&smdk_led5,

//&smdk_led6,

//&smdk_led7,

};



最后修改smdk_machine_init函数如下:


void__initsmdk_machine_init(void)

{

/*ConfiguretheLEDs(evenifwehavenoLEDsupport)*/

s3c2410_gpio_cfgpin(S3C2410_GPB(5),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_GPB(5),1);

//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();

}



3. 验证

编译内核,烧入后,并运行。

系统启动后,LED开始闪烁,同时可以在sys文件系统中看到该LED。如下:

[root@yj423 leds]#pwd
/sys/class/leds
[root@yj423 leds]#ls
led1




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > S3C2440 Linux驱动移植——LED heartbeat -
 

"S3C2440 Linux驱动移植——LED heartbeat -"的相关文章

网站地图

围观()