关于6410的sd卡和nandflash启动的区别
2024-09-20 02:35:13
今天在公司我们队长问我个问题,关于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控制器来进行的。
最新文章
- (转)关于URLDownloadToFile下载文件
- 安装Maven、Eclipse设置、添加地址JAR
- [Python爬虫] scrapy爬虫系列 <;一>;.安装及入门介绍
- 【干货】分享总结:MySQL数据一致性 罗小波 星辉天拓
- opengl截图
- WARNING [Project: :app] To shrink resources you must also enable ProGuard
- [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索
- Scala 令人着迷的类设计
- this 指针
- Linux探索之路1---CentOS入坑笔记整理
- C语言中关于运算符优先级别
- PHP使用Apache中的ab测试网站的压力性能及mpm介绍
- Qt::带返回值的信号发射方式
- 一台机器上安装两个tomcat
- acm 比赛模板
- 复习_for循环嵌套 及 流程图梳理
- Day44 数据库的操作
- 配置ODBC DSN数据源,导出数据库数据到Excel过程记录
- MySQL-关于并发下的mysql_insert_id()
- 关于service相关知识的认识