2440初始化存储器原理(接上一篇)

关于ARM开发过程中C语言如何使用及其需要注意的一些问题之数据类型基础(常用) 常用typedef声明新的类型名来替代已有的类型名,这主要是便于移植。例如,在程序中我们经常会看到: typedef unsigned int u32 ............. u32 var=3; 第1行用typedef声明了一个类型u32来替代unsigned int,这样比较方便,从u32可以看出来这是一个unsigned型数据(前面的u就是这个意思),后面的32表示的是一个32位的数据。 第3行用刚才的u32定义了一个变量var。 #define u32 unsigned int ....... 阅读详情

JLInk 调试加载的执行初始化存储器脚本(2440)

Setmem 0x53000000 0x00000000 32
Setmem 0x4A000008 0xFFFFFFFF 32
Setmem 0x4A00001C 0x000007FF 32
Setmem 0x53000000 0x00000000 32
Setmem 0x56000050 0x000055AA 32
Setmem 0x4C000014 0x00000007 32
Setmem 0x4C000000 0x00FFFFFF 32
Setmem 0x4C000004 0x00061012 32
Setmem 0x4C000008 0x00040042 32
Setmem 0x48000000 0x22111120 32
Setmem 0x48000004 0x00002F50 32
Setmem 0x48000008 0x00000700 32
Setmem 0x4800000C 0x00000700 32
Setmem 0x48000010 0x00000700 32
Setmem 0x48000014 0x00000700 32
Setmem 0x48000018 0x0007FFFC 32
Setmem 0x4800001C 0x00018005 32
Setmem 0x48000020 0x00018005 32
Setmem 0x48000024 0x008E0459 32
Setmem 0x48000028 0x00000032 32
Setmem 0x4800002C 0x00000030 32
Setmem 0x48000030 0x00000030 32

原理:

1、什么是存储控制器

      存储控制器是创建和控制其他存储设备的一种设备。S3C2440中存储控制器的起始地址为0x48000000结束地址为0x48000030。通过配置存储控制器提供的13个寄存器的具体数值来达到访问外围设备的目的。

2、如何得到外围设备的访问地址

      在说明得到外围设备地址之前,先说明一下什么是片选信号。读过微机原理的同志应该很清楚了。

      在S3C2440中分为nGCS0~nGCS7,共8个片选信号。分别对应了BANK0~BANK7,当需要访问外围设备的空间时(即访问BANKx 时),nGCSx 引脚输出低电平信号,这样选择相对应的BANKx外围设备来访问。(注:nGCS0~nGCS7在S3C2440手册中可以查找到相应的地址分配表)

      BANK访问地址=BANK起始地址+地址线地址。

3、存储控制器中寄存器的使用

3.1、存储控制器提供的13个寄存器

          BWSCON,BANKCONx(x=0~7),REFRESH,BANKSIZE,MRSRBx(x=6~7),共13个寄存器。在这些寄存器的配置中,当配置BANK0~BANK5的时候,只需要配置BWSCON和BANKCONx(x=0~5)即可。由于BANK6和BANK7嘤糜谕饨覵DRAM,所以配置的时候除配置BWSCON和BANKCONx(x=6~7)外,还需要配置REFRESH,BANKSIZE,MRSRB6和MRSRB7等4个寄存器。

BWSCON(R/WBusWidth & WaitStatusControl,位宽和等待寄存器)

        BWSCON共32位,BWSCON的高4位对应了外设的BANK7,然而BWSCON是每4位对应一个BANK,所以依次类推可以得到其余BANK6~BANK0的对应位数。

         STx(x= 0~7):启动/禁止SDRAM数据掩码引脚。对于SDRAM此位为0,对于SRAM此位为1。一般为0。

         WSx(x= 0~7):是否使用存储器的WAIT信号。通常设为0。 /*0 = WAIT disable*/

         DWx(x= 0~7):用2位来设置对应BANK位宽(数据总线宽度),00=8-bit;01=16-bit;10=32-bit;11=reserved

        其中,比较特殊的BANK0,它没有ST0和WS0,且DW0[2:1]为只读,由硬件电路跳线决定01=16-bit;10=32-bit。

BANKCONx(x= 0~5):用来控制外接设备的访问时序,默认设置0X0700可以满足使用需求。

BANKCONx(x= 6~7):只有BANK6和BANK7可以用来外接SRAM或SDRAM,所以在配置BANK6~BANK7会有所不同。

         MT[16:15]位:用来标识外接的设备是ROM/SRAM,还是SDRAM。 /*00 = ROM or SRAM;01 = Reserved;10 = Reserved;11 = Sync.DRAM */

         当MT=0b00时(即外接ROM):此时设置与BANKCONx(x= 0~5)并无多大差异。

         当MT=0b11时(即外接SDRAM):

         Trcd[3:2]:Time of RAS toCASdelay(内存行地址传输到列地址的延迟时间) /*00 = 2 clocks;01 = 3 clocks;10 = 4 clocks*/

         SCAN[1:0]:表示SDRAM列的地址,可根据具体芯片情况设置 /*00 = 8-bit;01 = 9-bit;10= 10-bit*/

REFRESH:刷新控制寄存器。

         REFEN[23]:使能控制SDRAM刷新功能。/*0 = Disable;1 = Enable (self or CBR/auto refresh)*/

         TREFMD[22]:SDRAM刷新模式。/*0 = CBR/Auto Refresh;1 = Self Refresh (休眠模式)*/

         Trp[21:20]:Time of SDRAM RASpre-charge(RAS预充电时间)。/*00 = 2 clocks;01 = 3 clocks;10 = 4 clocks;11 = Not support*/

         Tsrc[19:18]:Time of SDRAM SemiRowcycle(半行周期时间)。/*00 = 4 clocks;01 = 5 clocks;10 = 6 clocks;11 = 7 clocks*/      注:Reserved[17:11]:Not used.

          Refresh Counter[10:0]:SDRAM refresh count value(刷新计数值)。

BANKSIZE寄存器:

          BURST_EN[7]:ARM coreburst operation enable(ARM内核心突发操作使能)。/*0 = Disable burst operation;1 = Enable burst operation*/      注:Reserved[6]:Not used.

          SCKE_EN[5]:SDRAM power down mode enable control bySCKE。(SCKE power down模式使能)/*0 = SDRAM power down mode disable;1 = SDRAM power down mode enable*/

          SCLK_EN[4]:SCLK is enabled only during SDRAM access cycle for reducing power consumption. When SDRAM is not accessed SCLK becomes 'L' level(低电平). /*0 = SCLK is always active. 1 = SCLK is active only during the access (recommended).*/  注:Reserved[3]:Not used.

          BK76MAP[2:0]:设置BANK6~BANK7的大小。/* 010 = 128MB/128MB;001 = 64MB/64MB;000 = 32M/32M;111 = 16M/16M;110 = 8M/8M;101 = 4M/4M;100 = 2M/2M */

MRSRBx(x= 6~7):SDRAM模式设置寄存器。

          能做修改的只有CL[6:4]:代表SDRAM时序的一些参数。 /*000 = 1 clock;010 = 2 clocks;011=3 clocks;Others: reserved*/

 

 

 

 

2410内存控制器介绍(BWSCON)

http://blogold.chinaunix.net/u1/59572/showart_1914422.html

 

 

下面先转载手册对于内存控制器基本特点的概述:

 

— Little/Big endian (selectable by a software)

— Address space: 128Mbytes per bank (total 1GB/8 banks)

— Programmable access size (8/16/32-bit) for all banks except bank0 (16/32-bit)

— Total 8 memory banks

Six memory banks for ROM, SRAM, etc.

       Remaining two memory banks for ROM, SRAM, SDRAM, etc .

— Seven fixed memory bank start address

— One flexible memory bank start address and programmable bank size

— Programmable access cycles for all memory banks

— External wait to extend the bus cycles

Supporting self-refresh and power down mode in SDRAM

bank6和bank7的大小必须一样,并且bank7的起始地址根据bank6的大小不同而不同

 

复位后S3C2410A的存储器映射图如下:

 

 

bank0(nGCS0)数据总线宽度由OM[1:0]决定:

OM[1:0]=   00 Nand Flash 模式

            01 16位

            10 32位

            11 测试模式

  2)以图2(带nWAIT信号)为例,描述一下处理器的总线的读操作过程,来说明Flash整体读、写的流程。第一个时钟周期开始,系统地址总线给出需要访问的存储空间地址,经过Tacs时间后,片选信号也相应给出(锁存当前地址线上地址信息),再经过Tcso时间后,处理器给出当前操作是读(nOE为低)还是写(new为低),并在Tacc时间内将数据数据准备好放之总线上,Tacc时间后(并查看nWAIT信号,为低则延长本次总线作y一个时钟周期),nOE 拉高,锁存数据线数据。这样一个总线操作就基本完成

 

 

图2  带nWAIT 信号的总线读操作

 



 

相关的寄存器

数据宽度和等待控制寄存器:

BWSCON       地址0x48000000

BWSCON每四位为一组,控制着bank0到bank7,以bank7为例这四位分别为:ST7[31],WS7[30],DW7[29,28]

ST7:启动/禁止SDRAM的数据掩码引脚,对于SDRAM,此位为0;对于SRAM,此位为1。

Determine SRAM for using UB/LB for bank 7.

0 = Not using UB/LB (The pins are dedicated nWBE[3:0])

1 = Using UB/LB (The pins are dedicated nBE[3:0])

nBE[3:0] is the 'AND' signal nWBE[3:0] and nOE.

WS7:是否使用存储器的WAIT信号,通常设为0

DW7:使用两位来设置存储器的位宽:00-8位,01-16位,10-32位,11-保留。

其他个bank与此一样,比较特殊的是bank0对应的4位,它们由硬件跳线决定,只读。

 

bank控制寄存器(BANKCONN:nGCS0-nGCS5) : reset value: 0x0700

BANKCON0     地址0x48000004

BANKCON1     地址0x48000008

BANKCON2     地址0x4800000C

BANKCON3     地址0x48000010

BANKCON4     地址0x48000014

BANKCON5     地址0x48000018    

BANK控制寄存器(BANKCONN:nGCS6-nGCS7) : reset value: 0x0700

BANKCON6     地址0x4800001C    

BANKCON7     地址0x48000020

 

各bank控制寄存器只使用[14:0]位,主要是控制读写时序各个参数的大小,如:Tacs,Tcos等。对于bank6和bank7,还要使用到[16:15]两位,用来控制bank6和bank7的存储模式,00表示使用rom或sram存储,11表示使用sdram存储。

 

对于本开发板,使用两片容量为32Mbyte、位宽为16的SDRAM组成容量为64Mbyte、位宽为32的存储器,所以其BWSCON相应位 为:0010。对于本开发板,BWSCON可设为0x22111110:其实我们只需要将BANK6对应的4位设为0010即可,其它的是什么值没什么影 响,这个值是参考手册上给出的。

 2.BANKCON0-BANKCON5:我们没用到,使用默认值0x00000700即可

 3.BANKCON6-BANKCON7:设为0x00018005

在8个BANK中,只有BANK6和BANK7可以使用SRAM或SDRAM,所以BANKCON6-7与BANKCON0-5有点不同:

  a.MT([16:15]):用于设置本BANK外接的是SRAM还是SDRAM:SRAM-0b00,SDRAM-0b11

  b.当MT=0b11时,还需要设置两个参数:

Trcd([3:2]):RAS to CAS delay,设为推荐值0b01

SCAN([1:0]):SDRAM的列地址位数,对于本开发板使用的SDRAM HY57V561620CT-H,列地址位数为9,所以SCAN=0b01。如果使用其他型号的SDRAM,您需要查看它的数据手册来决定SCAN的取值:00-8位,01-9位,10-10位

 

REFRESH控制寄存器:

REFRESH      地址:x48000024

REFRESH(SDRAM refresh control register):设为0x008e0000+ R_CNT

地址0其中R_CNT用于控制SDRAM的刷新周期,占用REFRESH寄存器的[10:0]位,它的取值可如下计算(SDRAM时钟频率就是HCLK):

R_CNT = 2^11 + 1 – SDRAM时钟频率(MHz) * SDRAM刷新周期(uS)

在未使用PLL时,SDRAM时钟频率等于晶振频率12MHz;SDRAM的刷新周期在SDRAM的数据手册上有标明,在本开发板使用的SDRAM HY57V561620CT-H的数据手册上,可看见这么一行“8192 refresh cycles / 64ms”:所以,刷新周期=64ms/8192 = 7.8125 uS。

对于本实验,R_CNT = 2^11 + 1 – 12 * 7.8125 = 1955,

REFRESH=0x008e0000 + 1955 = 0x008e07a3

 

BANKSIZE寄存器:

BANKSIZE     地址0x48000028

BURST_EN    [7]    ARM核突发操作允许

                   0--禁止突发操作

                   1--允许突发操作

Reserved    [6]    不使用

SCKE_EN     [5]    SCKE允许控制

                   0=SDRAM SCKE 禁止

                   1=SDRAM SCKE 允许

SCLK_EN     [4]    SCLK仅在减少功耗期间SDRAM存取周期内允许,当SDRAM不进行

                   存取时,SCLK变'L'电平

                   0=SCLK总是激活

                   1=SDRAM仅在存取期间激活(推荐)

Reserved    [3]    不使用

BK76MAP     [2:0]   BANK6/7存储映射

                    010=128MB/128MB    001=64MB/64MB

                    000=32MB/32MB      111=16MB/16MB

                    110=8MB/8MB        101=4MB/4MB

                    100=2MB/2MB

 

位[7]=1:Enable burst operation

位[5]=1:SDRAM power down mode enable

位[4]=1:SCLK is active only during the access (recommended)

位[2:1]=010:BANK6、BANK7对应的地址空间与BANK0-5不同。BANK0-5的地址空间都是固定的128M,地址范围是 (x*128M)到(x+1)*128M-1,x表示0到5。但是BANK7的起始地址是可变的,您可以从S3C2410数据手册第5章“Table 5-1. Bank 6/7 Addresses”中了解到BANK6、7的地址范围与地址空间的关系。本开发板仅使用BANK6的64M空间,我们可以令位 [2:1]=010(128M/128M)或001(64M/64M):这没关系,多出来的空间程序会检测出来,不会发生使用不存在的内存的情况——后面 介绍到的bootloader和linux内核都会作内存检测。

位[6]、位[3]没有使用

 

SDRAM模式寄存器设置寄存器(MRSR):

MRSRB6       地址0x4800002C

MRSRB7       地址0x48000030

能让我们修改的只有位[6:4](CL),SDRAM HY57V561620CT-H不支持CL=1的情况,所以位[6:4]取值为010(CL=2)或011(CL=3)。

存储器控制器与SDRAM(S3C2440) S3C2440属于统一编址,即存储器和外设统一编址。 CPU可以通过寻址的方式来访问诸如a.GPIO、b.UART、IIC、c.NOR、NAND、网卡等不同的设备。 问:那么CPU是如何访问各个不同的寄存器的呢? 答:CPU只管发出一个地址给内存控制器,内存控制器根据该地址选择不同的模块,然后从模块中得到数据或者发送数据到模块中。 S3C2440存储器控制器概述 –大/小端(通过软件选择) –地址... 阅读详情

相关推荐

SDRAM 的工作原理 (基于JZ2440开发板)

SDRAM 介绍 SDRAM (Synchronous Dynamic Random Access Memory,同步动态随机存储器),即内存。DDR 内存,DDR2内存,DDR3内存是SDRAM的升级,大部分显卡上的显存也是SDRAM; 内存一般是代码的执行空间,程序则是以文件的形式保存在硬盘里面的。运行程序之前,操作系统先将程序载入内存,在内存里面执行程序。由于内存是RAM(随机访问),可...

weixin_42547860的博客 970

SDRAM设置

内存控制器 看芯片原理图SDRAM上面数据线有LDATA0-15 16根线,所以上面SDRAM存储结果逻辑图, 每一个格子都代表16位的数据 选中当中的某个格子的步骤 先发出片选信号选择SDRAM芯片,然后选择那个BANK,选择ROW,选择Column 举例分析 str R0,=0x3000 000 ldr R1,[R0] 将0x3000 000 发送给村控制器 内存控制器: 1、根据地址发出相对应的片选型号 2、根类型(SDRM)拆分地址    a、BANK 地址  

weixin_43471255的博客 870

嵌入式系统原理 第四章 嵌入式存储器系统

嵌入式系统原理 第四章 嵌入式存储器系统

2301_77086146的博客 757

初识内存控制器和SDRAM【一文了解】

原文链接:https://blog.youkuaiyun.com/qq_36243942/article/details/85596249 目录 1.引入内存控制器 2.不同位宽内存设备之间的连接 3.如何确定芯片的访问地址 4.分析读写NOR FLASH的读写时序 5.SDRAM初识 6.编程读/写 SDRAM 附录:源代码 1.引入内存控制器 我们RAM芯片是如何操作GOIO管脚的,是如何控制

qq_41882586的博客 3657

S3C2440启动代码中应用程序执行环境的初始化

S3C2440启动代码中应用程序执行环境的初始化一、基础知识          我们编写的源文件(.c 或.s)经过ARM 编译器的编译生成ELF 格式的目标文件(后缀名为.o),目标文件经过ARM 连接器连接以后生成ELF 格式的映像文件(后缀名为.axf),此时的映像文件还包含一些调试信息,我们还需要通过fromelf 工具将其转换成适合在ROM 或RAM 中运行的二进制代码(后缀名为.bin

ce123的技术博客 6249

掌握ARM9与S3C2440核心板设计:原理图到PCB

ARM公司设计的处理器架构广泛应用于嵌入式系统中,以低功耗、高性能和低成本闻名。ARM架构采用精简指令集计算(RISC)原则,允许其在保持高效运算能力的同时降低能耗。在现代嵌入式系统设计中,电源管理模块是至关重要的。S3C2440微控制器作为一款广泛应用于便携式设备和移动设备的处理器,其电源管理模块的设计目标是确保系统运行的稳定性和持久性,同时最小化能耗。电源管理涉及的主要原则包括:能效优化:合理地分配和管理电力资源,以提供最优的处理性能和最低的能耗。动态电源调整。

weixin_35916518的博客 973

第6课,SDRAM

注:以下内容学习于韦东山老师arm裸机第一期视频教程如果想要完全了解SDRAM,参考: 高手进阶,终极内存技术指南-完整/进阶版    一.SDRAM的访问方法        1.1 SDRAM结构图                        a.由4个BANK组成,可以看作是表格            b.里面的每个格子有16位数据(2440接有两片SDRAM,每一片提供16位数据)    ...

qq_36521904的博客 963

mini2440开发板S3C2440处理器JFlash与JLink烧录配置实战

JLink调试器本质上是一个高速USB-to-JTAG/SWD协议转换设备,它将PC端调试指令转换为目标处理器可识别的底层电信号,并通过标准调试接口注入到目标芯片内部。该过程涉及多个层次的协议栈交互,包括物理层电平驱动、数据链路层状态机切换以及调试逻辑核心(Debug Access Port, DAP)的操作控制。mini2440开发板采用标准20-pin ARM JTAG插座,其关键信号定义如下:引脚号信号名方向功能说明4TCK输入。

weixin_35748962的博客 1196

剖析nWE, nWBE, nBE三者之间的关系

存储器扩展彻底研究——剖析nWE, nWBE, nBE三者之间的关系1.存储器扩展地址、数据线的连接方法重点参见2440手册,主要涉及地址对齐问题,较容易理解,此处不作论述。2. nWE, nWBE, nBE三者之间的关系(1)nWE为写使能信号。(2)nWBE为“写字节使能(write byte enable)”信号,而nBE 为高/低字节选择信号。nWBE与nBE共用引脚,可以

咕唧咕唧shubo.lk的专栏 4551

深度学习CV八股文

深度学习CV八股文一、深度学习中解决过拟合方法L1和L2正则化DropoutDropout正则化Inverted Dropout(反向随机失活)Dropout起到正则化效果的原因:Dropout的缺点eargstopping ( 早停法 )二、深度学习中解决欠拟合方法三、梯度消失和梯度爆炸解决梯度消失的方法解决梯度爆炸的方法四、神经网络权重初始化方法Xavier指数加权移动平均数五、梯度下降法梯度下降SGD(随机梯度下降法)Momentum(动量梯度下降)Nesterov Momentum自适应学习率算法A

填坑 2万+

整理笔记——二极管

二极管是一种由半导体材料制成的一种具有单向导电性能的电子元器件,二极管的核心是PN结。加在二极管两端的电压和通关的电流被成为,二极管的伏安特性曲线​​​二极管的正向特性:起初正向电压较小时,正向电流几乎没有,称之为死区,此时二极管处于截止状态。当电压差超过截止电压(0.5V或者0.7V),电流随着电压上升,开始增加缓慢,随后急剧增大,二极管的电阻变小进入导通状态,此时电压变化较小。二极管的反向特性:起初反向电流很小,不随电压二变化,此时成为反向饱和电流;当方向电压达到二极管的反向击穿电压。

#include 811

Mini2440裸机开发之存储器控制器

一、Mini2440地址空间 1.1 存储器控制器介绍 在之前的文章中,我们已经介绍过S3C2440自带4KB SRAM和2MB的NOR FALSH。片内4KB的内存其实是很小,为了能够运行操作系统和更大的应用程序,需要在处理器存储接口上进行扩展,如SDRAM、SRAM、ROM、FLASH等。ARM提供一个存储管理器部件,为访问外部存储设备提供存储地址信号和控制信号,即存储器控制器。 这里顺带提...

Graceful_scenery的博客 236

银河麒麟V10离线升级OpenSSH实战:从编译到回滚全流程

OpenSSH作为Linux系统远程登录的核心组件,其版本升级直接关系到系统安全与等保合规。在信创环境下,银河麒麟V10自带的OpenSSH版本往往无法满足漏洞扫描与安全加固要求,而离线编译升级涉及依赖处理、编译参数、服务替换与回滚方案等多个技术环节。本文围绕银河麒麟V10(x86_64)平台,详细讲解OpenSSH离线升级的完整实操流程,包括环境摸底、依赖包安装、源码编译、配置文件兼容性处理、服务重启验证以及常见问题排查,并分享批量升级与安全加固的工程经验,帮助运维人员在不断网、不重装的前提下一次成功完成

weixin_30582943的博客 386

s3c2440#SDRAM#初始化

一、引脚说明  JZ2440的SDRAM接线图   可以看到两块SDRAM并行接入到开发板,一共有27条地址线,32条数据线(各16条) (1)CLK:SDRAM工作的时钟,并且所有的输入信号都是在CLK的上升沿进行检测的,也就是说我们给SDRAM给的任何命令,一定要在CLK的上升沿保持稳定,以免SDRAM获取我们给出的命令时出现错误。 (2)CKE:时钟使能信号,高电平(激活)、低电...

Leo_skyline的博客 539

STM32在六轴机械臂实时控制中的选型与分层架构设计

嵌入式实时控制系统中,微控制器的选型直接决定运动控制精度与系统可靠性。其核心在于匹配确定性中断响应、低延迟外设协同与工业协议栈支持等硬性指标。STM32凭借Cortex-M内核的NVIC调度能力、成熟HAL库及CAN FD/高级定时器等专用外设,在机电一体化场景中成为伺服控制中枢的首选。相比ESP32等通用MCU,STM32在硬实时性、EMC认证生态和工业总线兼容性上具备不可替代优势。本文围绕GTB六轴机械臂项目,详解基于STM32F407的硬件抽象层配置、FreeRTOS任务调度、事件队列解耦及闭环控制数

jupi8的博客 755

PCB工艺-SI9000-模型选择

本文介绍了PCB设计中常用的阻抗计算模型,主要包括外层、内层和嵌入式三类共12种计算模型,涵盖单端/差分、共面等不同场景。针对阻抗计算中的关键参数,文章提供了经验值参考:表层走线厚度0.035mm(1.4mil),内层0.0152mm(0.6mil);并列出常见PP材料的介电常数(3.8-4.5)和成品厚度(3-7.5mil)。作者建议90%的设计问题可通过上述模型解决,层叠参数建议咨询PCB厂家获取。

weixin_50120208的博客 1384

s3c2440 sdram初始化

1. 内存类接口 内存控制器作用: CPU把地址发送给内存控制器----》内存控制器根据地址选择不同的模块—》把数据发送给模块/从模块中取出数据 2.不同位宽设备的连接 3.时序图分析 4.SDRAM初始化 关于SDRAM的知识可以参考: (1)寄存器设置 ① BWSCON = 0x02000000 ② BANKCON6 = 0x8001 ③ REFRESH = 0x8404F5 ④ ...

Utotao的博客 570

C++软件调试与异常排查从入门到精通专栏介绍与文章汇总

根据近几年排查软件异常的实践与经验,系统地讲解了C++软件异常常见原因与常用排查方法,以图文并茂的方式给出具体的分析实例,带领大家逐步掌握C++软件异常排查的相关技术与要领。

dvlinker的技术专栏 23万+

S3C2440 SDRAM内存驱动

++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: http://blog.youkuaiyun.com/mr_raptor/article/details/6555786 ++++++++++++++++++++++++++++++++++++++++++   SDRAM(Synchronous Dynamic R

mr_raptor的专栏 1万+

主流反爬虫、反作弊防护与风控对抗手段

主流反爬虫、反作弊风控防护中的核心设计点与对抗策略

吴秋霖的博客 2555

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

3-arm裸机存储器控制器之SDRAM

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之...

xunmengxiaozi的博客 884

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

基于mini2440的Linux内存布局分析

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由...

diantai2158的博客 170

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Uboot 内存初始化(2440)

Uboot 内存初始化(2440) 内存分类,DRAM:需要定期充电(刷新),否则数据会丢失,存取速度慢。SRAM:具有静止存储功能的内存,不需要定期刷新操作就能保存它内部存储的数据,存取速度快,CPU内部的steppingstone部分使用,但是成本高,开发板很少使用。板载内存一般使用DRAM,DRAM又分为SDRAM,DDR,DDR2。 SDRAM(Synchronous Dynamic

wangbin1990的专栏 3074

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

S3C2440-裸机篇-08 | 使用S3C2440操作SDRAM(配置内存控制器)

1. 前言 提起SDRAM,大家都会觉得太难了,要编程写出SDRAM的控制时序更是难上加难,对的,没错!一年前我也是这样想的,学习这一节内容的时序觉得非常难,视频看了好几遍不太懂,对于SDRAM的控制原理更是没看懂,一年后回过头来再看视频,茅塞顿开,看不懂的原因是因为:我自己把它想的太难了,其实,它很简单,总共也就5行代码,设置5个寄存器即可。 简单的原因要归功于S3C2440内部的内存控制器,它...

Mculover666的博客(嵌入式) 2105

S3C2440 SDRAM内存驱动 .

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM

嵌入精灵 1426
上一篇: Jlink + ADS调试 S3C2440
下一篇: S3C2440 USB 设备控制器(转)
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值