今天在公司我们队长问我个问题,关于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控制器来进行的。

最新文章

  1. (转)关于URLDownloadToFile下载文件
  2. 安装Maven、Eclipse设置、添加地址JAR
  3. [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
  4. 【干货】分享总结:MySQL数据一致性 罗小波 星辉天拓
  5. opengl截图
  6. WARNING [Project: :app] To shrink resources you must also enable ProGuard
  7. [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索
  8. Scala 令人着迷的类设计
  9. this 指针
  10. Linux探索之路1---CentOS入坑笔记整理
  11. C语言中关于运算符优先级别
  12. PHP使用Apache中的ab测试网站的压力性能及mpm介绍
  13. Qt::带返回值的信号发射方式
  14. 一台机器上安装两个tomcat
  15. acm 比赛模板
  16. 复习_for循环嵌套 及 流程图梳理
  17. Day44 数据库的操作
  18. 配置ODBC DSN数据源,导出数据库数据到Excel过程记录
  19. MySQL-关于并发下的mysql_insert_id()
  20. 关于service相关知识的认识

热门文章

  1. FusionCharts Free 注意事项
  2. LINQ简介和LINQ to SQL语句之Where
  3. SQL Server 2008 报表服务入门
  4. swift创建对象use of undeclared type 自己的类
  5. iOS - 苹果健康架构 & 基于HealthKit的健康数据的编辑
  6. iOS开发那些事-iOS6苹果地图实用开发
  7. 关于datatable转换datatime类型的问题
  8. 如何让R代码按计划执行
  9. 20141104--SQL,查询习题,约束
  10. GForms开发平台