最近在做一个程序的加密,平台为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:为映射空间大小