软件版本:练习程序
例程路径:F:\code\004
硬件平台:JZ2440(S3C2440)
- 问题描述: 初始化PLL的寄存器时,NOR启动程序执行有问题,NAND启动正常
- 解决:调试代码发现在PLL初始化程序部分对于寄存器的初始化顺序有先后要求,nor启动的时候代码里是跑在nor上边的,如果时钟初始化的不正常,会导致nor的读写出问题,而nand启动,代码跑在sram里,那些时钟影响不到sram,因此nand无影响。NOR启动时,应该配置好各个时钟频率的分配,再配置MPLL产生时钟。因为一开始默认FCLK=HCLK=PCLK,它们支持的最大频率都不同,所以得先设定它们的频率分配,才能避免出现问题
- 结论:初始化时钟的代码 CLKDIVN(0x4C000014)的初始化必须要放在 MPLLCON(0x4C000004)之前初始化,否则在使用Nor启动的时候系统无法正常运行,而Nand不受限制。