S3c2440是三星公司推出的一款基于ARM920T的处理器,采用ARM内核,不同于单片机,无片上rom与ram,必须搭配相应的外围电路进行使用,现在,让我们从零开始进行这一块MCU的学习,为了入门简单方便,前期我不会搭载任何操作系统,本手册写到哪算哪.

1.       什么是nor flash启动和nand flash启动

在任何视屏教程里面,都会告诉你一个开关左右选择就能norflash启动或者nand flash启动,norflash启动能直接运行代码,nand flash启动不能直接运行代码,可是为什么呢?

要知道这一点,首先要明白nandflash和norflash的区别,首先,norflash是随机存储介质,也就是说,对norflash的操作时可以进行任意单字节的读写的,而nanaflash是块存储介质,对nandflash的读写只能以块的方式读写,也就是说,nand要修改一个字节,必须重写整个块

由此我们就可以知道,nand flash不可能作为代码直接执行的介质了,理论上,就算我们通过电路实现了nand flash执行代码也不可能,因为代码执行很重要的一点是可以随机的对任意一个字节的数据进行任意修改,而nand写一个字节要重写整个块,这速度太慢了,还有一个原因,因为某些工艺因素的影响,nandflash生产过程中就可能出现坏块,另外,nandflash在多次擦写中也可能出现坏块,所以这也决定了nand不可能实现直接运行代码,只能做存储器的功能,以下是nandflash电路(TQ2440)

位,地址线和数据线复用,依靠控制总线来切换地址数据时序,主要的控制线有

CLE:命令锁存使能线,输入命令时使用

ALE:地址锁存使能,输入地址时使用

nFCE:芯片使能,读写芯片时,这一位必须有效

NFRE:连接NRE
读使能,读数据之前,要先让nre有效

NFWE: 写使能,写数据的时候这根线有效

RNB :就绪/忙标志,主要用于发送完编程/擦除命令后,检测操作是否完成

WP :写保护使能

说完nandflash说说norflash,首先norflash的地址线和数据线是分开的,其次,是可以单字节读取写入的,另外,可靠性好,不易出现坏块,使用时间更长,(norflash上带的是通用sdram接口)

电路图如下,

位数据,所以没有接data0的必要,初始地址是0x00000000,

OE:读使能

WE写使能

片选接了GCS0,那么norflash寻址范围是多少呢?首先,选用的芯片是EN29系列,

该系列芯片说明书中说明

可见,NORFLASH是16M的,但是寻址范围是不是16M我们还需要确认NGCS0的选通时间,查看memory说明,有这样一段

的NGCS0分区大小为128M,驱动16M足足够了,所以,我们可以说,norflash启动,16M完全可用

接下来说一下SDRAM,电路图如下

可以看到,地址线和数据线是分离的,控制接口主要由以下几根线组成

CKE :INPUT控制norflash内部时钟的使能与禁止,从而进入三种状态,掉电,挂起,自刷新(为了保持内部数据,设备自身也需要一个时钟来进行数据自刷新,和外部读写时钟并不是一个概念)

CLK :INPUT外部读写时钟,用于外部读写同步

其他的控制总线想要明白必须要先明白SRAM的架构,虽然不用去设计,但是明白SDRAM架构看不懂这个电路图,来,我们说说

以下是标准4bank的SDRAM内部结构

其写入原理如下

要存取数据时,先选中一行( wordline加高电位),于是这一行上挂着的所有的行选通NMOS都导通,电容中的数据就沿着bitline进入感应放大器,经其放大后到达列选通NMOS处。接下来,当某根CSL置高后,相应的列选通NMOS就导通,数据沿着bifline继续向IO接口传,或者外面的数据立即写入存储阵列。当然,具体实现肯定更复杂,但是基本原理就是这样

那么,这些控制线什么作用呢

LDQM  UDQM:数据屏蔽,当LDQM
位被屏蔽UDQM高八位被屏蔽,这样就可以进行bank选择了(不管内存怎么设计,最终还是八位一个字节,所以需要屏蔽)

接下来我们看看SDRAM寻址,通过电路可以看到,WBE0 1 2
3分别四根线控制,也就是说,同一个地址,选择不同的WEB,可以依次读出0-7
8-15 16-23 24-31步(没有说各种控制总线过程,大家有兴趣可以研究)

连接的ba0 ba1

首先四字节对其寻址(32位数据线),那么DAT0 DAT1的寻址线肯定是0,所以没有接上的必要,24
25 26决定最高位,如果为64M r601 r604接上,地址线24-25连接,CPU设置0x30000000为基地址的话,最高地址是0x33FFFFFF,(0x30000000-0x33ffffff)
= 0x3ffffff个字节,一共就是64M字节

注意,这中间涉及到一个比较复杂的解码过程,就是将物理地址解码成总线地址,(两个数据),并不是说25
26连接了地址空间就绝对是0X36FFFFFF了,具体过程,请查阅相关资料

S3C2440硬件连接解析的更多相关文章

  1. 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能

    “ 小程序升级实时音视频录制及播放能力,开放 Wi-Fi.NFC(HCE) 等硬件连接功能.同时提供按需加载.自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求.” 0 ...

  2. 转 s3c2440硬件学习----内存管理单元MMU

    本篇基本是韦东山书上的 一.内存管理单元MMU介绍 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查.MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访 ...

  3. Go 自带的 http/server.go 的连接解析 与 如何结合 master-worker 并发模式,提高单机并发能力

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  4. S3C2440的RTC解析

    位二-十进制交换码(BCD)值数据给CPU.这些数据包括年.月.日.星期.时.分和秒的时间信息.RTC单元工作在外部32.768kHz晶振并且可以执行闹钟功能 实时时钟模块保存的数据是DCD码形式. ...

  5. S3C2440的SPI解析

    位串行数据的频率.如果只希望发送,则接收数据可以保持伪位(dummy).此外如果只希望接收,则需要发送伪位'1'数据 使用SPI主要需要以下寄存器 选择SPI模式,中断模式,查询模式等SCK选择,主从 ...

  6. S3C2440看门狗解析

    个PCLK周期的复位信号 也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断 ...

  7. S3C2440硬件IIC详解

    S3C2440A RISC微处理器可以支持一个多主控IIC 总线串行接口.一条专用串行数据线(SDA)和一条专用串行时钟线(SCL)传递连接到IIC总线的总线主控和外设之间的信息.SDA和SCL线都为 ...

  8. openjtag 的硬件连接踩坑历程

    这个事情踩了不少坑,这个要记录一下: 1 代码的下载和编译按照下面的来:https://github.com/pulp-platform/pulp-debug-bridge 注意点: A 要最好使用p ...

  9. TMS320DM642学习----第一篇(硬件连接)

    DSP设备型号:SEED-DTK-VPM642(目前实验室用途:视频处理,图像处理方向,预计搭载目标跟踪以及云台防抖等算法) 官网链接:http://www.seeddsp.com/index.php ...

随机推荐

  1. php下载文件的一种方式

    <?php ob_start(); // $file_name="cookie.jpg"; $file_name="abc.jpg"; //用以解决中文不 ...

  2. 利用未文档化API:RtlGetNtVersionNumbers 获取系统版本号

    问题一:Windows SDK 8.1版本中的VersionHelper.h文件当中没有IsWindows10ORGreater,所以当你用IsWindows8Point1ORGreater判断出版本 ...

  3. L2,breakfast or lunch

    express: what a day多么糟糕的天气 I‘m coming to see you我将要来看你 what a lot of trouble he is causing他犯了多少错误啊 w ...

  4. hdu_5418_Victor and World(状压DP+Floyd)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5418 题意:给你n个点,和一些边,找一条路径经过全部的点,并回到起点,问最小的花费是多少, 题解:m& ...

  5. ab测试 uwsgi遇到的问题

    1 请求并发数目较大时,接收到的数目小于发送的数目 1.1 描述:uwsgi正常返回302跳转 ab -n 5000 -c 250 -g test.log "192.168.50.20:90 ...

  6. c# 执行js的方法

    http://www.cnblogs.com/wuhuacong/archive/2010/11/08/1871866.html 为了有效阻止恶意用户的攻击,一般登录都会采用验证码方式方式处理登录,类 ...

  7. WiresShark 图解教程1

    Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...

  8. filters

    http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/admin_hbase_filtering.h ...

  9. Spring+Struts集成(第二种方案)

    在上一篇文章中我们了解到了第一种Spring跟Struts集成的方案,但此集成方案的不足是WEB层中知道Spring的相关内容,因为需要去主动的查找对象:BeanFactory.方案二便是通过依赖注入 ...

  10. App installation failed There was an internal API error.

    工程名为汉字的时候,真机调试会出现这种问题.模拟器没有问题. 如图: 解决办法: