博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下
阅读量:5970 次
发布时间:2019-06-19

本文共 1005 字,大约阅读时间需要 3 分钟。

1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000。ARM上电后会从SRAM处开始运行。

2,从NOR FLASH启动时,因为NORFLASH接在bank0。地址映射是0X00000000。所以ARM上电后直接运行NORFLASH里的程序。此时S3C2440内部SRAM地址为0X40000000。

3,ARM上电启动都是从0X00000000开始运行。但是对于复位程序入口,ResetEntry的值在ARM上电运行时是0X00000000,在JTAG仿真时是0X30000000。这个值很关键,在拷贝程序时会用到。

硬件上决定开机时从nand flash或nor flash启动,具体配置如下

则,相应的内存映射如下

SROM means ROM or SRAM type memory

关于Figure6-5图,需要做的说明是:

1,在jz2440开发板,SDRAM接在BANK6,它的起始地址恒定是0x30000000。

2,图中所示的列图是芯片认为的内存。即可以认为了是芯片内的内存。

3,对于OM[1:0]=00从nand flash启动nand flash不能统一地址到内存,上电后芯片自动将nand flash的前4k的内容复制到芯片内的前4k内存,然后芯片开始从0x00000000处运行,从0x00000000开始的拷贝过来的这4k内存内容负责将nand flash中的bootloader复制到芯片地址0x30000000处,继续执行的时候,BANK1,BANK2,,处都是没有接SROM的,因此,马上就会执行0x30000000处的代码。整个过程可以这样说,复制到芯片内部的SRAM4K代码将nand flash里的程序,包括bootloader复制到链接地址(链接地址就是SDRAM地址),然后去顺序执行。

4,对于OM[1:0]=01,10,是从nor flash启动,nor flash接到的是BANK0,它做为了此处的 SROM存在,它的起始地址便是0x00000000,芯片从0地址顺序执行。

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/otaku-lip/p/4765008.html

你可能感兴趣的文章
Nuxt 实践
查看>>
玩转Go语言之特殊的语法
查看>>
Object.defineProperty与双向绑定、数据监听
查看>>
CentOS Linux搭建SVN服务器
查看>>
工作中的CSS总结
查看>>
阿里PB级Kubernetes日志平台建设实践
查看>>
(最详细)小米8青春版的usb调试模式在哪里打开的教程
查看>>
(最详细)小米手机5s Plus的USB调试模式在哪里开启的经验
查看>>
看完就懂系列—动态规划
查看>>
使用 laravel 命令安装 Laravel
查看>>
组件和模块间Activity路由框架
查看>>
LeetCode每日一题: 单值二叉树(No.965)
查看>>
tapable源码分析
查看>>
Swift 4 无限滚动轮播图(UICollectionView实现)
查看>>
iOS 模型数组去重复
查看>>
G6 2.0 开源发布 -- 裂变·聚变
查看>>
高性能云服务器特惠
查看>>
前端开发实习生的第一天
查看>>
2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)
查看>>
全网最新 Skywalking 6.1.0部署进k8s 包含springcloud测试用例
查看>>