uboot启动正常,加载内核kernel启…

 

先说现象吧:uboot能够正常启动,不过在kernel启动时却出现起不了的现象,停在这里

Uncompressing Linux.............................................................. done, booting the kernel。就是在这里停住了

 

分析原因:这个是由于时钟频率还未达到我们的要求,或者是时钟刚启动还未稳定造成的。

 

解决方法:就是在时钟初始化函数的末尾添加一个毫秒级延时即可。具体修改办法:

因为我的是s3c2416的板子

打开 /arch/arm/mach-s3c2416/clock.c  在文件的末尾

      for (ptr = 0; ptr < ARRAY_SIZE(init_clocks_disable); ptr++, clkp++)

     {

                ret = s3c24xx_register_clock(clkp);
                if (ret < 0) {
                        printk(KERN_ERR "Failed to register clock %s (%d)\n",
                               clkp->name, ret);
                       }


               (clkp->enable)(clkp, 0);

               msleep(2);  //sfx add  

      }

 

posted @ 2013-12-02 09:12  haotianling  阅读(624)  评论(0编辑  收藏  举报