dm6446 初始化流程

来源:互联网 发布:最好企业网络投资理财 编辑:程序博客网 时间:2024/04/30 10:51

一、初始化流程

      •RBL阶段(ARM ROM Boot Loader)
       –DM6446 有4种启动方式:NAND Flash,EMIFA(NOR ),HPI和UART。
       –系统复位后,保存在片内ROM的RBL 程序开始运行,RBL 程序根据BTSEL[1:0]管脚的电平来判断相应的启动方式。
       –如果是BTSEL=00 表明是NAND 启动方式,RBL 程序便从外接NAND Flash中读取UBL 的数据到内部RAM中(UBL 最大可达14K ),然后转至UBL 代码运行。其它启动方式请参考DM6446 数据手册。


     •UBL阶段(User Boot Loader)
      –即u-boot 阶段。
       -U-boot中最初阶段主要完成系统时钟,DDR频率的初始化,准备加载C 程序运行的环境,这时候程序运行在ARM RAM 中。
      –拷贝u-boot 代码到DDR中,并跳转到C 程序的start_armboot处运行。


     • Kernel
      –U-boot传递引导参数到Linux Kernel ,Kernel 会根据从u-boot 传递过来的参数决定启动Kernel 的方式。比如可以通过TFTP下载Kernel 执行;从烧写到Flash中的Kernel 启动执行等。等Kernel 起来后,Kernel 同样会根据u-boot 提供的参数来挂载根文件系统。

0 0
原创粉丝点击