全部博文(66)
分类:
2012-10-16 13:52:08
原文地址:Arm开发板实验(3)---- uboot设备驱动初始化 作者:fireaxe
如果需要,会再设置一次中断栈地址。
硬件平台相关的初始化,包括时钟、IO、Cache等的初始化。这部分在移植是要重点关注,需要根据芯片手册进行设置。
时钟主要是设置PLL、HCLK、PCLK等寄存器的值,可以通过第五章的时钟设置完成相关设置。
这里也是在设置timer,不知道为何叫中断初始化
5 init_baudrate, /* initialze baudrate settings */
初始化波特率,此处只是把波特率存储到全局变量中。
串口通过下面的代码进行设置:
/* value is calculated so : (int)(PCLK/16./baudrate) -1 */
reg = get_PCLK() / (16 * gd->baudrate) - 1;
/* FIFO enable, Tx/Rx FIFO clear */
uart->UFCON = 0x07;
uart->UMCON = 0x0;
/* Normal,No parity,1 stop,8 bit */
uart->ULCON = 0x3;
/* tx=level,rx=edge,disable timeout int.,enable rx error int.,
* normal,interrupt or polling
*/
uart->UCON = 0x245;
uart->UBRDIV = reg;
gd->baudrate是在init_baudrate中设置的,其实是宏CONFIG_BAUDRATE。如果想修改串口baudrate,可以修改该宏值。
初始化控制台。
设置dram的起始地址与长度。