裸机编程时序的调整涉及对时钟配置和复位信号的处理,以下是一些关键步骤和注意事项:
上电复位信号(nRESET)
上电后,nRESET复位信号拉低,此时CPU无法取指令工作。
nRESET复位信号结束后变为高电平,CPU开始工作。此时,CPU的主频FCLK等于振荡器(osc)的频率。
配置PLL(相位锁环)
-PLL用于将FCLK倍频成新的时钟。需要配置lock time以确保PLL正确锁定。
配置MPLL(主PLL)以得到FCLK。MPLL的公式为:FCLK = 2 * m * Fin / (p * 2^s),其中m、p和s是配置参数。
配置时钟分频器(HCLK和PCLK)
根据应用需求,可以配置HCLK(高速时钟)和PCLK(并行时钟)的频率。例如,配置FCLK:HCLK:PCLK = 400:100:50(MHz)。
参考手册和芯片配置表
在配置时钟和PLL时,应参考S3C2440的数据手册和参考手册,以获取推荐的配置值和参数设置。
示例配置
MPLL配置:
m = MDIV + 8 = 92 + 8 = 100
p = PDIV + 2 = 1 + 2 = 3
s = SDIV = 1
FCLK = 2 * 100 * 12 / (3 * 2^1) = 400MHz
lock time配置:
LOCKTIME(0x4C000000)= 0xFFFFFFFF
将lock time的值写入到锁定时间寄存器。
验证和测试
在完成时钟配置后,应进行验证和测试,确保CPU和工作频率按预期运行。
通过以上步骤,可以有效地调整裸机编程的时序,确保系统稳定运行。建议在实际操作中仔细遵循芯片手册和参考手册的建议,并进行充分的测试和验证。