文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Arm开发板实验(3)---- uboot设备驱动初始化

Arm开发板实验(3)---- uboot设备驱动初始化

时间:2010-09-05  来源:fireaxe

Chapter 7:uboot中的设备初始化
1 cpu_init,         /* basic cpu dependent setup */

如果需要,会再设置一次中断栈地址。


2 board_init,            /* basic board dependent setup */

硬件平台相关的初始化,包括时钟、IO、Cache等的初始化。这部分在移植是要重点关注,需要根据芯片手册进行设置。

时钟主要是设置PLL、HCLK、PCLK等寄存器的值,可以通过第五章的时钟设置完成相关设置。


3 interrupt_init,              /* set up exceptions */

这里也是在设置timer,不知道为何叫中断初始化


4 env_init,         /* initialize environment */


5 init_baudrate,             /* initialze baudrate settings */

初始化波特率,此处只是把波特率存储到全局变量中。


6 serial_init,             /* serial communications setup */

 串口通过下面的代码进行设置:

/* 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,可以修改该宏值。


7 console_init_f,           /* stage 1 init of console */

初始化控制台。


8 dram_init,             /* configure available RAM banks */

设置dram的起始地址与长度。

相关阅读 更多 +
排行榜 更多 +
XLM币最具爆发力的安全交易所欧易okex下载

XLM币最具爆发力的安全交易所欧易okex下载

金融理财 下载
XEM币最安全隐私链的全球交易所欧易okex下载

XEM币最安全隐私链的全球交易所欧易okex下载

金融理财 下载
WAVES币最新上线的优质交易所欧易okex下载

WAVES币最新上线的优质交易所欧易okex下载

金融理财 下载