关于AM335x的启动理解

2019-07-17 13:52发布

本帖最后由 xzp114 于 2017-1-19 19:42 编辑

    关于AM335x的启动,相信很多从嵌入式走过来的朋友都知道一个大概的流程,基本思路就是boot来引导系统的启动。之前使用的是2416+Nor+nand,有Nor就一切都好办,烧写boot到Nor偏移0,则系统从Nor开始读入8K的内容到内部的Sram,这段boot就是完成将系统的代码读入到ddr上运行这个功能。但是AM335x在没有Nor只有Nand的时候,这就有点麻烦,nand的寻址方式比较复杂,此时系统的启动流程如下:
    芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img
    AM335x 中bootloader被分成了 3 个部分:
    第一级 bootloader:引导加载程序,板子上电后会自动执行这些代码,如选择哪种方式启动(NAND,SDcard,UART。。。),然后跳转转到第二级 bootloader。这些代码应该是存放在 176KB 的 ROM 中。
    第二级 bootloader:MLO(SPL),用以硬件初始化:关闭看门狗,关闭中断,设置 CPU 时钟频率、速度等操作。然后会跳转到第三级bootloader。MLO文件应该会被映射到 64 KB的 Internal SRAM 中。
    第三级 bootloader:uboot.img,C代码的入口。
    其中第一级 bootloader 是板子固化的,第二级和第三级是通过编译 uboot 所得的。
关于启动的一些说明和工具,在下面的固件中,希望能帮到大家!

AM335X StarterWare Booting And Flashing.rar (864.23 KB, 下载次数: 29) 2016-12-24 11:08 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。