九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 5510|回复: 1
打印 上一主题 下一主题

2440修改12M为16.9344M

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-17 21:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
12M晶体更改为16.9344M晶体的步骤:

一:换Uboot;
   option.inc中,修改定义外部晶体为16.9344M
;(2) Select XTaL
;XTAL_SEL        SETA         12000000   
XTAL_SEL         SETA         16934400
   option.inc中,FCLK修改为39965184M
FCLK                  SETA         399651840
;FCLK                 SETA         400000000
   option.inc中,修改CLKDIV_VAL的值为7,即136分频,这时SDRAMCLK133M
         [FCLK = 399651840  ;lqm added for K390.
;CLKDIV_VAL  EQU 5       ;7.这里修改为7后,PCLK66.7M,程序运行不稳定!!!         
CLKDIV_VAL   EQU7       ;7.这里修改为7后,PCLK66.7M,程序运行不稳定!!!
M_MDIV           EQU 110   ;Fin=16.9344MHz
M_PDIV             EQU 3
                   [CPU_SEL = 32440001
M_SDIV             EQU 1                 ;2440A
                   |
M_SDIV             EQU 1                 ;2440X

二:换Eboot
   startup.s中,修改锁相环寄存器值:
PLLVAL     EQU     (((0x6e << 12) +(0x3 << 4) + 0x1))                  ;//2440A.lqmchanged for FIN=16.9344M for 399.65M.
;PLLVAL     EQU     (((0x3e << 12) +(0x2 << 4) + 0x1))        ; 2440A
Startup.s 中,修改SDRAM的相关参数:
B6_MT      EQU     (0x3)    ; SDRAM
;B6_Trcd    EQU     (0x2)    ; 4clk
B6_Trcd    EQU        (0x1)  ; 3clk.lqm changed.
B6_SCAN    EQU     (0x1)    ; 9bit
; Bank 7
; Note - there is no memory connected to Bank 7
B7_MT      EQU     (0x3)    ; SDRAM
;B7_Trcd    EQU     (0x2)    ; 4clk
B7_Trcd    EQU        (0x1)  ; 3clk.lqm changed.
B7_SCAN    EQU     (0x1)    ; 9bit
三:在Src文件夹中添加BOOTPART文件夹,用于生成BOOTPART.lib文件。
    这部分主要是将public下的代码移过来,需要更改source文件下的lib库指定路径。
四:修改bsp_cfg.h头文件的S3C2440A_FCLK等定义值。
/*
#define S3C2440A_FCLK           400000000
#define S3C2440A_HCLK           (S3C2440A_FCLK/4)   // divisor 4
#define S3C2440A_PCLK           (S3C2440A_FCLK/8)   // divisor 8
*/
// lqm changed for FCLK:HCLK:PCLK=1:3:6.2010-06-09
#ifdef CRYSTAL12M
#define S3C2440A_FCLK                      400000000
#else
#define S3C2440A_FCLK           399651840
#endif
#define S3C2440A_HCLK           (S3C2440A_FCLK/3)   // divisor 4
#define S3C2440A_PCLK           (S3C2440A_FCLK/6)   // divisor 8
五:修改fmd.cpp中的nand flash保留块,由104变为0.
NAND_Flash_Chip_t g_NandFlash_Chip_set[]=
{
         {0xEC76,/*K9S1208*/
         FALSE,
         0,//*/40,//104,//0,//62M //lqm changed for reserve bootpart.10-04-13.lqmchanged from 104 to 40 for erase pic area.10-07-07
                   {NAND,4096,512*32,32,512},
                   FMD_ReadSector1208,
                   FMD_WriteSector1208,
                   FMD_EraseBlock1208,
                   IsBlockBad1208,
                   MarkBlockBad1208
         },
……
}
六:通过JTAG仿真时,如果bootloader没有起来,先要初始化一次SDRAM,换用16.9344M晶体后,用以前的12M的初始化程序无法启动,这时需要修2440init.mcp工程,修改为16.9344M后问题解决。

说明:由于该文档系项目结案后的总结,可能有些修改的地方有遗漏,需要补充。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-11-23 00:06 , Processed in 0.021169 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表