Uboot中点亮LED灯
2014-01-13 17:01
337 查看
《ARM Linux开发-warewin 2G/3G无线传输(DTU)和路由器—笔记》
1、硬件要求(1)AT91SAM9260平台
(2)PC6、PC10两个引脚连测试板的两个LED灯
2、U-boot版本
u-boot-1.3.4
3、实现过程
在源码 /u-boot-1.3.4/board/atmel/at91sam9260ek/at91sam9260ek.c文件的中做如下操作:
(1)定义LED灯管脚
#define RED_LED AT91_PIN_PC6 /* this is the power led */
#define GREEN_LED AT91_PIN_PC10 /* this is the user led */
PC6管脚连设备上的黄灯,PC10管脚连设备上的红灯。
(2)添加LED灯初始化函数
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
printf("coloured_led_init--------------------\n");
at91_set_gpio_output(RED_LED, 1);
at91_set_gpio_output(GREEN_LED, 0);
at91_set_gpio_value(RED_LED, 0);
at91_set_gpio_value(GREEN_LED, 1);
}
(3)调用LED灯初始化函数及置输出状态
如以下代码所示:在int board_init(void) 函数中红色字体为调用LED灯初始化函数及设置两个管脚输出为高电平。
int board_init(void)
{
#ifdef CONFIG_HAS_LCDC
// at91sam9260ek_smc0_init();
lcd_init();
...........................................................................
...........................................................................
#ifdef CONFIG_MACB
at91sam9260ek_macb_hw_init();
#endif
coloured_LED_init();
at91_set_gpio_value(RED_LED, 1);
at91_set_gpio_value(GREEN_LED, 1);
return 0;
}
4、编译调试
重新编译uboot并下载到设备上,开机运行uboot时就会看到设备上的这两个LED灯亮起。
相关文章推荐
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(点亮led灯)
- 嵌入式学习-uboot-lesson5-点亮LED
- 嵌入式学习-uboot-lesson9.2-C点亮LED
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(点亮led灯)
- x210v3开发板u-boot-2012.10移植之五---点亮led进行调试
- [ARM]第01次作业_建立Keil工程__点亮LED灯
- 3、树莓派3 Model B ——— 树莓派GPIO点亮第一个LED
- 一步步点亮LED1_硬件工作原理及原理图查阅
- 用RVCT编译STM32点亮LED
- uboot学习笔记(1.2点亮LED灯)
- u-boot移植时出现inline function 'coloured_LED_init' cannot be declared weak及相关错误时的解决办法!
- 嵌入式linux裸板开发--点亮LED
- STM32开发之点亮LED灯
- Esp8266进阶之路10 【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
- u-boot移植总结(二)LED点灯调试 和 u-boot加载地址
- tiny4412 裸机程序 二、汇编点亮LED灯
- (C51学习一)如何点亮led灯
- TQ2440 ADS 1.2 汇编点亮4个LED
- arm wince 如何点亮ep9315的两个led灯
- stm8s: GPIO配置,点亮LED!PB4,PB5引脚LED点不亮