主题 : uboot 蜂鸣器长鸣 复制链接 | 浏览器收藏 | 打印
Science has no nationality ; Knowledge belongs to everyone
级别: 新手上路
UID: 11575
精华: 0
发帖: 22
金钱: 120 两
威望: 30 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2009-12-12
最后登录: 2012-11-03
楼主  发表于: 2010-02-08 19:28

 uboot 蜂鸣器长鸣

刚学习uboot的移植,下到nand flash里重启后一直在响,请问uboot在哪里可以把它给禁止了
级别: 新手上路
UID: 5352
精华: 0
发帖: 22
金钱: 120 两
威望: 24 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2009-04-19
最后登录: 2011-06-14
1楼  发表于: 2010-02-15 14:36
根据原理图,蜂鸣器是用GPB0控制的,

我用的是tekkaman移植的U-boot-2009.08的版本,

在这个版本中有两处设定了U-boot启动的时候蜂鸣器响,
第一个地方是在:
board\mini2440\mini2440.c这个文件,
#if defined(CONFIG_MINI2440_LED)
        gpio->GPBDAT = 0x00000181;
#endif


第二个地方是lib_arm\board.c的display_banner 函数:
#if defined(CONFIG_MINI2440_LED)    
        S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
        gpio->GPBDAT = 0x101; //tekkamanninja
#endif

解决办法:
步骤一:修改第一个地方的board\mini2440\mini2440.c文件:
改为:
#if defined(CONFIG_MINI2440_LED)
        gpio->GPBDAT = 0x00000180;
#endif


步骤二:再检查文件中的start_armboot函数,是否存在如下代码:
#if defined(CONFIG_MINI2440_LED)    
        gpio->GPBDAT = 0x0; //tekkamanninja
#endif

这样就是U-boot系统启动的时候蜂鸣器响一会,启动结束停止,就不会出现长鸣现象了。

如果不想蜂鸣器响,将lib_arm\board.c的display_banner 函数中的:
#if defined(CONFIG_MINI2440_LED)    
        S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
        gpio->GPBDAT = 0x101; //tekkamanninja
#endif
改为:
#if defined(CONFIG_MINI2440_LED)    
        S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
        gpio->GPBDAT = 0x100; //tekkamanninja
#endif
[ 此帖被xiaoxin86在2010-02-15 14:45重新编辑 ]