zoukankan      html  css  js  c++  java
  • 关于6410的sd卡和nandflash启动的区别

          今天在公司我们队长问我个问题,关于cortex的sd启动流程和nandflash的启动流程,一下想不起来了,中午闲来无事就整理了整理当初6410的两种启动方式的区别。在这里写一下。有不对的请指点,我对Rom,Ram,Sram这些实在学不通。

      1,sd卡启动6410

        首先,sd卡启动0地址在Rom里面,上电后,程序从0地址开始执行,将sd卡的前8Kbootloader拷贝到Sram里面执行,这8Kbootloader会对进行一些设备的初始化,关闭看门狗,初始化nandflash,初始化时钟,初始化必要的硬件设备等等,执行完毕后,由Rom执行程序将整个的bootloader拷贝到内存(这里包括之前的8K),然后在内存执行bootloader,注意,此时将不再执行前8K,而是跳到某个函数地址开始执行。

      2,nandflash启动

        首先,nand启动呢,0地址不再是在Rom里,而是在一个叫stepstone控制器里。由它掌管执行指令的跳转和程序拷贝。之后的运行和sd卡基本是一样的。也是将bootloader的前8k拷贝到Sram里,之后同sd卡启动,只是执行地址跳转以及程序拷贝不由Rom控制而是由stepstone控制器控制了。

      综上,这两种启动方式的不同有两个:

      1,映射0地址不一样,sd卡0地址在ROM里,而nandflash启动的0地址在Sram里。

      2,sd卡启动是用ROM进行地址的跳转和程序的拷贝,而nandflash启动是用stepstone控制器来进行的。

  • 相关阅读:
    shell script入门
    perl环境配置以及Eclipse安装perl开发插件
    python注释
    Python中的sorted函数以及operator.itemgetter函数
    python 字典items和iteritems
    Python 字典(Dictionary) get()方法
    python numpy sum函数用法
    python numpy argsort函数用法
    python tile函数用法
    Shell之date用法
  • 原文地址:https://www.cnblogs.com/shanchen/p/3335735.html
Copyright © 2011-2022 走看看