修改PLL,解决eboot输出乱码的问题

直接烧写stepldr和eboot后,发现可以启动,但调试串口输出的都是乱码,即使修改了波特率也不行。原因是开发板使用的晶振是12MHz,而SMDK2440开发板使用的是16.9344MHz的晶振,需要修改启动代码中PLL的配置。

1  打开S3C2440 datasheet的《CLOCK & POWER MANAGEMENT》一章,找到PLL VALUE SELECTION TABLE,需要根据此表的参数配置PLL。

2  打开PLATFORM/SMDK2440A/src/bootloader/eboot/startup.s文件,修改MPLLCON和UPLLCON:

  1.  ;PLLVAL      EQU     (((0x6e << 12) + (0x3 << 4) + 0x1))
  2.  PLLVAL      EQU     (((0x7f << 12) + (0x2 << 4) + 0x1))
  3.  …
  4.  ldr     r0, = UPLLCON
  5.  ;ldr     r1, = ((0x3c << 12) + (0x4 << 4) + 0x2)  ;Fin=16.9344MHz, Fout=47.98MHz
  6.  ldr     r1, = ((0x38 << 12) + (0x2 << 4) + 0x2) ; Fin=12MHz, Fout=48MHz
  7.  str     r1, [r0]

3  修改PLATFORM/SMDK2440A/Src/Inc/bsp_cfg.h头文件:

  1. //#define S3C2440A_FCLK    399651840       // 399.65MHz
  2. #define S3C2440A_FCLK  405000000           // 405MHz

4  打开PLATFORM/SMDK2440A/Src/Kernel/Oal/startup.s文件,将MPLLCON和UPLLCON修改成与步骤2一样的值。

 


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值