硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8480|回复: 4
收起左侧

[客户分享] 16位带宽的NOR Flash可以像SRAM那样,直接进行字节,半字和字的读取,无需做奇地址

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-9-20 11:11:16 | 显示全部楼层 |阅读模式
以前对于NOR Flash的访问基本都是2字节对齐进行读取,基本都是没问题的,没有实际测试过字节读取,
今天实际测试了下,也是没有问题,而且不需要做字节对齐(也就是保证NOR Flah的16位访问模式)
===============================================================
NOR Flash的前6个字节存入如下数据:

NOR_WriteHalfWord(0x0000, 0xDD36);
NOR_WriteHalfWord(0x0002, 0x235a);
NOR_WriteHalfWord(0x0004, 0xCDFE);
1.png

---------------------------------------------------------------------------------------
下面是字节,半字和字的读取:

uint32_t *pulBuf;   
uint16_t *puiBuf;
uint8_t  *pucBuf;
2.png
----------------------------------------------------------------------------------------
读取结果如下:
3.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-9-20 11:53:19 | 显示全部楼层
但是写数据的话,只能是16bit模式。这点也特别注意。
16bit和8bit对应的是不同的写入命令:
1.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-9-20 12:20:09 | 显示全部楼层
可以正确读取的原因分析:
1. FSMCDE 16BIT访问模式说明:
1.png

============================================================
2. 比如我们读取16BIT NOR Flash地址0x6400_0001地址的字节数据,实际上NOR Flash接收到地址
应该是0x6400_0000,由于是16BIT访问,所以直接读出的就是两个字节,而高字节对应的数据就是地址
0x6400_0001所以对应的数据。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-9-20 13:09:53 | 显示全部楼层
16bit或者8bit访问模式,写操作该怎么写还是怎么写,因为地址错位是由内部完成的。
对于16bit的写操作,简单的理解就是最低的地址位被屏蔽掉了。
(对于16bit,用户可以在程序上面任意操作NOR Flash的写地址,但最终给NOR Flash的地址是
  HADDR[25:1],也就是HADDR[0]没有起作用了)
1. 对于扇区擦除操作,写入扇区的绝对首地址即可。
NOR_EraseSector(0x00000)  //128KB
NOR_EraseSector(0x20000)  //128KB
NOR_EraseSector(0x40000)  //128KB
....................................
........................................
1.png

2.  写入数据的时候也要注意,因为每次写入的是2字节的数据,下次写入的时候注意地址,比如:

NOR_WriteHalfWord(0x0000, 0xDD36);
NOR_WriteHalfWord(0x0002, 0x235a);
NOR_WriteHalfWord(0x0004, 0xCDFE);
实际写入结果就是在1楼贴的图。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2015-9-20 14:39:36 | 显示全部楼层
1.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 06:51 , Processed in 0.303915 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表