读NORFLASH ID初体验
来源:互联网 发布:智取威虎山 老八 知乎 编辑:程序博客网 时间:2024/05/17 23:22
最近在做一个程序的加密,平台为S3C2440,查了板子上所有的芯片只有NorFlash 有唯一的序列号。型号JS28F320J3D-75,属于INTEL兼容类型。芯片是16BIT格式,所以定义数据类型为short类型比较合适,如下:
#define sysAddress(offset) ((volatile unsigned short *)(norflash_base_addr)+offset)
norflash_base_addr为虚拟地址。Linux驱动程序不能直接访问物理地址,所以需要把物理地址映射到虚拟地址空间,可以用ioremap函数映射物理地址,函数原型
void *ioremap(unsigned long phys_addr, unsigned long size)
phys_addr:需要映射的起始物理地址,NorFlash 在地址空间的BANK0,起始地址为0。
size:为映射空间大小,JS28F320为4M,所以映射代码如下:
norflash_base_addr = (unsigned long)ioremap((unsigned long)0, 0x00400000);
之后就可以用sysAddress宏访问对应的虚拟地址间接访问物理地址了,读写NorFlash ID程序如下。
注意:0x81这儿的地址并不是norflash存储空间的地址,norflash系统信息都存在一个特定的空间,需要先发送命令才能读出来。可以把*sysAddress(0x00)=0x0090注释掉,再看看读出的内容,可见两者是不一样的。有个简单的方法:用H-JTAG读出整个flash的内容,对比0x81<<1(short类型,所以左移一位)和读出的内容。
SST的读写类似,只是命令稍有不同,代码如下:
读写其他内容按照命令表修改命令即可,这里有个详细代码http://www.hackchina.com/cont/44998,上面的操作过程只是本人的理解,可以读出里面的数据。可能还有很多出入的地方,欢迎提出意见,随时更新。
- 读NORFLASH ID初体验
- 慕课网:1-2.jquery初体验:#id选择器、
- iPhone X、面容 ID 视频上手体验
- Norflash Nandflash
- 关于norflash
- NorFlash学习
- JZ2440:norflash
- Norflash 驱动
- 关于norflash
- 初体验
- 初体验
- 初体验
- 初体验
- 初体验
- 初体验
- 初体验
- 新版python体验 竟支持ID 为非英文字符
- 2.6内核NorFlash驱动
- C#数据库入门-012:数据读取器
- xfire_namespaceuri canot be null
- Linux文件系统(三)—— 文件系统常用工具介绍
- C#数据库入门-013:数据集和数据适配器
- 多线程,重叠I/O,异步读写 命名通道服务器源码
- 读NORFLASH ID初体验
- 一些VC生成动态链接库的问题记载(不断更新中)
- ORACLE 性能调试 总结中ing
- windows平台.lnk文件感染技术研究
- 祝福所有朋友
- 查询数据库更改
- http文件头详解
- MARK关于临界区
- 开发环境搭建3:linux下tuxedo安装