当前位置: 代码迷 >> 驱动开发 >> 自己做了个tq2440核心板,出现crc error - System halted有关问题
  详细解决方案

自己做了个tq2440核心板,出现crc error - System halted有关问题

热度:27   发布时间:2016-04-28 10:41:57.0
自己做了个tq2440核心板,出现crc error -- System halted问题
烧好之后出现这个现象,网上说是主频太高了,我想修改下cpu主频,我也不知道是不是这个原因导致这个现象!
我全用的是天嵌的uboot和内核
##### EmbedSky BIOS for SKY2440/TQ2440 #####
 Press Space key to Download Mode !
 Booting Linux ...
 Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00300000 ...
 Bad block at 0x260000 ,will be skipped
 Bad block at 0x280800 ,will be skipped
 Copy Kernel to SDRAM done,NOW, Booting Linux......
 Uncompressing Linux........................................................................................................................................................
 crc error
 -- System halted
 我降低主频的方法是,我先修改了uboot的主频,我的方法是
 #define S3C2440_MPLL_400MHZ ((0x5c<<12)|(0x01<<4)|(0x02))      //HJ 200MHz
 #define S3C2440_MPLL_405MHZ ((0x7f<<12)|(0x02<<4)|(0x01))      //HJ 405MHz
 #define S3C2440_MPLL_440MHZ ((0x66<<12)|(0x01<<4)|(0x01))      //HJ 440MHz
 #define S3C2440_MPLL_480MHZ ((0x98<<12)|(0x02<<4)|(0x01))      //HJ 480MHz
 #define S3C2440_MPLL_200MHZ ((0x5c<<12)|(0x01<<4)|(0x02))
 #define S3C2440_MPLL_100MHZ ((0x5c<<12)|(0x01<<4)|(0x03))
 #define S3C2440_UPLL_48MHZ ((0x38<<12)|(0x02<<4)|(0x02))      //HJ 100MHz
 #define S3C2440_CLKDIV  0x03    /* FCLK:HCLKCLK = 1:2:4, UCLK = UPLL */  //HJ 100MHz
 #define S3C2440_CLKDIV136 0x07    /* FCLK:HCLKCLK = 1:3:6, UCLK = UPLL */  //HJ 133MHz
 #define S3C2440_CLKDIV188 0x04    /* FCLK:HCLKCLK = 1:8:8 */
 #define S3C2440_CAMDIVN188 ((0<<8)|(1<<9)) /* FCLK:HCLKCLK = 1:8:8 */
 修改了cpu主频为200 ,比例改为1:2:4
uboot可以运行,内核没改动,加载内核后还是不行,出现与开始相同的错误现象,
但就是不知道在内核里怎么修改与这个匹配的主频,请教下哈
 
 
------解决方案--------------------
元芳,CSDN新论坛上线!你怎么看?
------解决方案--------------------
核心板做的多么 
------解决方案--------------------
已经解决,费了很久时间调试,原来是nandflash坏的,所以呀,以后的研发人员记住哈,有坏块可能是ic坏的
  相关解决方案