嵌入式课件代码嵌入式课件代码完美版 4.docx

上传人:b****8 文档编号:9209202 上传时间:2023-02-03 格式:DOCX 页数:9 大小:266.40KB
下载 相关 举报
嵌入式课件代码嵌入式课件代码完美版 4.docx_第1页
第1页 / 共9页
嵌入式课件代码嵌入式课件代码完美版 4.docx_第2页
第2页 / 共9页
嵌入式课件代码嵌入式课件代码完美版 4.docx_第3页
第3页 / 共9页
嵌入式课件代码嵌入式课件代码完美版 4.docx_第4页
第4页 / 共9页
嵌入式课件代码嵌入式课件代码完美版 4.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

嵌入式课件代码嵌入式课件代码完美版 4.docx

《嵌入式课件代码嵌入式课件代码完美版 4.docx》由会员分享,可在线阅读,更多相关《嵌入式课件代码嵌入式课件代码完美版 4.docx(9页珍藏版)》请在冰豆网上搜索。

嵌入式课件代码嵌入式课件代码完美版 4.docx

嵌入式课件代码嵌入式课件代码完美版4

串口协议:

异步串行数据收发器

起始位:

一位低电平

数据位:

5、6、7、8

校验位:

奇偶校验

停止位:

1、1.5、2

空闲位:

给高电平

波特率:

115200

S5pv210

ULCON0线性控制寄存器0xE2900000

数据格式:

8n1

ULCON0=3

UCON0控制寄存器0xE2900004

UCON0=5

UFCON0FIFO控制寄存器0xE2900008

UFCON0=0

UMCON0Modem模式控制寄存器0xE290000C

UMCON0=0

UTRSTAT0收发数据状态寄存器0xE2900010

只读,通过读取

发送数据时,判断bit[1]1,可以发送UTRSTAT0&2

接收数据时,判断bit[0]1,可以接收UTRSTAT0&1

UTXH0发送寄存器0xE2900020

当确认可以发送数据时,将要发送的数据写入该寄存器

URXH0接收寄存器0xE2900024

当确认可以接收数据时,读取该寄存器获得接收的数据

UBRDIV0波特率设置寄存器0xE2900028

整数部分

UDIVSLOT00xE290002C

(小数部分*16)取整->查表

PCLK=66.5MHZ

配置GPIO,使对应管脚作为串口的发送和接收管脚

GPA0_0[3:

0]GPA0_1[7:

4]

GPA0CON[7:

0]&~0xFF|0x22

GPA0PUD[3:

0]0禁止上下拉电阻

 

Shell

要实现了一个命令解释器

要求:

命令行输入ledon,把LED1灯点亮

命令行输入ledoff,把LED1灯关闭

将整个uart的代码和部分led(只拷贝led.h和led.c)代码重新拷贝到一个shell_kuang目录中:

atoi

voiditoa(charbuf[],unsignedintnum);

将十进制的数字转换为对应16进制格式的函数

inti=100“0x64”

 

tarena#setenvipaddr192.168.1.6

tarena#saveenv

NandFlash闪存的使用

GPIO

UART

Datasheet/K9K8G08U0B.pdf

NandFlash的datasheet

1.什么是NandFlash

存储设备,用来存储整个系统,相当于PC中的硬盘

2.TPAD中采用了什么NandFlash

三星的K9K8G08U0B

3.如果才能操作NandFlash,主要就是对它的读操作,写操作,校验操作

需要阅读NandFlash的datasheet,该手册中会详细的描述如何对其进行操作。

即K9K8G08U0B.pdf

通过阅读NandFlash的数据手册,得知:

1)NandFlash主要的指标参数:

工作电压:

3.3V

容量:

(1G(主存储区)+32M(oob区))X8bit

读写操作:

按页(2K+64)X8bit

擦除操作:

按块(128K+4K)X8bit1块=64页

命令、地址、数据复用8个IO口

可以对存储块进行写,擦除锁定

可以100K次的写、擦除(并且可以提供1bit/528byteECC校验)

数据可以保存10年

使用命令操作NandFlash

存在唯一的ID号

引脚的封装信息

特性:

1.在没写数据之前,里面都是1

2.写数据的时候,是把1改成0,不能把0改成1

3.已经写过数据,再写数据前,需要先擦除

nanderase0100000

nandwrite200080000100000

4.存在位翻转(位交换)

5.出厂时有可能就存在坏块

6.擦写次数有限制。

2)NandFlash外观图

NandFlash有48个管脚,并不是每个管脚都是用了。

N.C:

没有使用的,无连接的管脚,可以不管

nCE:

片选信号,由于8根数据线也被网卡,内存使用,所以需要通过片选管脚来区分。

IO0-IO7:

数据线,传输命令,地址,数据

ALE:

当ALE高电平时,数据线上传输就是地址

CLE:

当CLE高电平是,数据线上传输是命令

当ALE,CLE都为低电平时,数据线上传输的是数据

nRE:

读使能,低电平有效

nWE:

写使能,低电平有效

nWP:

写保护,低电平有效

R/nB:

判断NandFlash的状态,

高电平:

Ready,准备就绪

低电平:

Busy,忙

Vcc:

接电源

Vss:

接地

前面加小n,表示该管脚低电平有效。

NandFlash的各个管脚与s5pv210处理器中的NandFlash控制器相连(所谓NandFlash控制器从表现形式上看,也就是一些s5pv210上的管脚,只是这部分管脚的主要功能就是用来控制NandFlash的),因此,其实我们并不用直接去操作NandFlash的管脚,而是通过操作NandFlash控制器,实现对NandFlash的操作。

3)NandFlash的内部组织结构:

NandFlash的内部结构:

(1)页:

构成NandFlash的基本单位,页大小固定

1page=(2K+64)bytes

每一页中又分main区和spare区,main区用于正常数据的存储,spare区用于存储一些附加信息,如好坏块标记,块的逻辑地址,ECC校验和等等。

(2)块:

由若干页构成,块大小固定

1block=64page=(2K+64)bytesX64=(128K+4K)bytes

(3)device:

若干块构成

1device=8192block=(128K+4K)bytesX8192

=(1G+32M)bytes

1G字节,用来存放主数据

32M字节,用来存放校验位与坏块标识等等

块号:

8192块,0~8191块

页号:

524288页,0~524287页

要表示NandFlash的容量,需要多少数据位来表示一个存储单元地址呢?

(1)页内地址:

页大小=2K=211,即使用11位表示就够了,由于每页还有64字节,所以需要再使用1位表示64字节,因此,要表示一页容量总共需要12位表示。

(2)页号:

总页号=8192块X64=8KX64=213X26=219,因此,需要使用19位来表示页号

因此,总共需要31位来表示一个存储单元的地址

因此,得出结论:

页号(行地址)A30-A12表示

页内地址(列地址)A11-A0表示

地址如何给出呢?

由于NandFlash是I/O接口,没有独立地址线,因此只能复用NandFlash上的8根IO线来发送地址

五个周期

1周期:

A0-A7

2周期:

A8-A110000

3周期:

A12-A19

4周期:

A20-A27

5周期:

A28-A3000000

此表为NandFlash的命令表,每种NandFlash的命令都可能是不一样的,因此,要参考NandFlash的datasheet。

由程序员直接操作的信号:

nCE片选信号

由硬件(NandFlash控制器)自动产生的信号:

IO0-IO7

ALE

CLE

nRE

nWE

R/nB

NandFlash控制器

S5pv210

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1