Part8-不用内存怎么行_2440内存初始化lesson2

发布者:清新微笑最新更新时间:2024-10-08 来源: cnblogs关键字:内存  内存初始化 手机看文章 扫描二维码
随时随地手机看文章

1、2440地址空间

先去找PCB原理图,看CPU引出的内存地址线和数据线的宽度。

说明内存的其实地址是0x30000000为起始地址。

初始化内存其实是去初始化存储器控制器,只有初始化好这个存储器控制器之后才能访问相应的芯片。

2、内存芯片的硬件连接

3、存储控制器

打开芯片手册,找到存储器控制器章节,

该寄存器分成了8个组,用于设置总线宽度和等待状态的寄存器,有8个组可控制8个BANK。

因为BANK7和BANK6用于接SDRAM的,因为原理图没有使用UB/LB,所以ST7位选择为0,WS7等待状态设置为0,DW7用于设置总线宽度,选择10为32位。BANK6的值与BANK的设置一样。

其他BANK不用保持默认值即可。

用于控制内存的寄存器,MT位用于控制内存使用的什么类型,我们用的SDRAM,值位11,

Trcd表示行列型号之间转换的延时,到底延时是多少,可以看上面的时序图

到具体使用的SDRAM里面去查看列地址数量,打开该芯片手册搜索column

为9位所以SCAN应该为01,

刷新寄存器

TREFMD刷新模式选择:选择自动刷新所以取值0,

Trp:准备充电的时间,从时序可以看出

2个时钟选择00;

Tsrc:行刷新时间,一般是7个时钟,选择11,

Refresh Counter:隔多长时间进行刷新一次,用这里来设置,

BURST_EN突发模式,使用起来,是指访问内存时一次性可以使用批量的数据;

SCKE_EN是否使能节点模式,使能起来

SCLK_EN选择推荐模式选择1;

BK76MAP:用于控制设置BANK6和7的大小的。应该选择001为64M

他们的取值是一样的。

CAL域:

选择011,

到这里内存控制器里面所有值已经列出来了。

手把手写代码:

对存储器控制器初始化之后,便可以使用我们的内存了。


关键字:内存  内存初始化 引用地址:Part8-不用内存怎么行_2440内存初始化lesson2

上一篇:Part8-不用内存怎么行_6410内存初始化lesson3
下一篇:4、MemorySubSystem

推荐阅读最新更新时间:2026-03-25 11:14

Part8-不用内存怎么行_2440内存初始化lesson2
1、2440地址空间 先去找PCB原理图,看CPU引出的内存地址线和数据线的宽度。 说明内存的其实地址是0x30000000为起始地址。 初始化内存其实是去初始化存储器控制器,只有初始化好这个存储器控制器之后才能访问相应的芯片。 2、内存芯片的硬件连接 3、存储控制器 打开芯片手册,找到存储器控制器章节, 该寄存器分成了8个组,用于设置总线宽度和等待状态的寄存器,有8个组可控制8个BANK。 因为BANK7和BANK6用于接SDRAM的,因为原理图没有使用UB/LB,所以ST7位选择为0,WS7等待状态设置为0,DW7用于设置总线宽度,选择10为32位。BANK6的值与BANK的设置一样。 其他BANK不用保持默
[单片机]
Part8-不用<font color='red'>内存</font>怎么行_<font color='red'>2440</font><font color='red'>内存</font><font color='red'>初始化</font>lesson2
初始化(时钟初始化/内存初始化/steppingstone to SDRAM/bss段初始化)
1. 时钟初始化 1.1 时钟初始化分析 1)晶振频率 2)有几个PLL 3)PLL会产生那些时钟 4)产生的时钟是干什么的 eg: S3C2440: 1)晶振12MHz    2)有MPLL、UPLL 3)MPLL产生FCLK、HCLK、PCLK UPLL产生UCLK 4) S3C6410: 1)晶振12MHz 2)有APLL、MPLL、EPLL 3)APLL产生ARMCLK MPLL产生HCLKx2、HCLK、PCLK、CLKJPEG、CLKSECUP EPLL产生CLKUART、CLK
[单片机]
<font color='red'>初始化</font>(时钟<font color='red'>初始化</font>/<font color='red'>内存</font><font color='red'>初始化</font>/steppingstone to SDRAM/bss段<font color='red'>初始化</font>)
Part8-不用内存怎么行_6410内存初始化lesson3
1、6410地址空间 外设区:从0x70000000-0x7FFFFFFF有256MB 主存储区:从0x00000000-0x6FFFFFFF有1972MB 对于主存储区: 静态存储区可以接我们的NOR Flash以及One nand等等设备,它的6*128MB意思是有6个BANK,每个BANK有128MB. 动态存储区:它的起始地址为0x50000000,是内存的起始地址,故我们把DDR的内存放到了动态存储区。 2、内存芯片硬件连接 用的两块128MB的芯片形成了256MB的内存容量。 3、芯片手册导读 打开芯片手册找到DRAM控制器章节, (注意2440对存储器控制器的初始化过程没有固定的顺序的!) 中文版芯片手册
[单片机]
Part8-不用<font color='red'>内存</font>怎么行_6410<font color='red'>内存</font><font color='red'>初始化</font>lesson3
ok6410内存初始化
•DRAM:它的基本原件是小电容,电容可以在两个极板上保留电荷,但是需要定期的充电(刷新),否则数据会丢失。缺点:由于要定期刷新存储介质,存取速度较慢。 •SRAM:它是一种具有静止存取功能的内存,不需要定期刷新电路就能保存它内部存储的数据。其优点:存取速度快; 但是缺点是:功耗大,成本高。常用作存储容量不高,但存取速度快的场合,比如steppingstone. 在嵌入式硬件体系中,除了CPU内部的”垫脚石”采用SRAM外,板载内存一般会采用DRAM,而DRAM又可以分为SDRAM,DDR,DDR2等。 SDRAM(Synchronous Dynamic Random AccessMemory):同步动态随机存储器. 同步:
[单片机]
ok6410<font color='red'>内存</font><font color='red'>初始化</font>
C51和MDK的ROM大小及变量绝对地址初始化
#1. C51的ROM大小 Keil编译完之后,显示的Program Size: data=9.0 xdata=8 const=15 code=180,则 The Total ROM(const + code + code-gap + const-gap) is 199BYTE 实际生成的bin文件大小: 在.MAP中的C O D E M E M O R Y 中 code-gap为0,cosnt-gap为4,则const + code + const-gap=15 + 180 + 4 = 199,刚好和实际生成的bin文件大小一致。 #2. C51的ROM大小优化 如果实际编译显示的const + code远小于实际的Bi
[单片机]
C51和MDK的<font color='red'>ROM</font>大小及变量绝对地址<font color='red'>初始化</font>
关于ARM9 S3C2440 wince6.0 内存 128M的使用问题
S3C2440 原先的时候接两块32M的SDRAM 片选都连接到nGCS6上。现在改成两块64M的SDRAM片选也是nGCS6上。 软件的修改分为四个大块: 1、 Stepldr: (1)startup.s中主要是 ldr r0,=0x30000000 ; Start address (physical 0x3000.0000). 一目了然,不再解释 (2)option.h #ifdef BSP_SDRAM_128M #define _ISR_STARTADDRESS 0x3
[单片机]
S3C2440内存情况在NAND FLASH或者NOR FLASH启动的情况下
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。这个值很关键,在拷贝程序
[单片机]
S3C<font color='red'>2440</font>的<font color='red'>内存</font>情况在NAND FLASH或者NOR FLASH启动的情况下
s3c2440裸机-内存控制器2-不同位宽外设与CPU地址总线的连接
不同位宽设备的连接 我们先看一下2440芯片手册上外设rom是如何与CPU地址总线连接的。 8bit rom与CPU地址线的连接 8bit*2 rom与CPU地址线的连接 8bit*4 rom与CPU地址线的连接 16bit rom与CPU地址线的连接 16bit*2 rom与CPU地址线的连接 从上面的图中,我们知道可以对2片位宽为8bit的外设扩展级联成1个16bit的外设,同理可用4片位宽为8bit的外设进行级联成1个32bit的外设... 从上面的图中,我们还看见一个规律: 当外设总线位宽为8bit时, 外设A0接CPU的地址总线ADDR , A - ADDR ...A - AD
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved