先说现象吧: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  

      }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-06-29
  • 2021-08-27
  • 2022-12-23
  • 2021-10-28
猜你喜欢
  • 2021-11-12
  • 2022-12-23
  • 2021-10-15
  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案