读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,上面的操作过程只是本人的理解,可以读出里面的数据。可能还有很多出入的地方,欢迎提出意见,随时更新。

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网页分享后不想显示连接网址怎么办 魔兽世界肉弹随从的任务断了怎么办 在美发店上班被小混混打了怎么办 孩子上四年级了不知道写作业怎么办 运动完第二天恶心想吐怎么办 吃减肥药皮肤变差了怎么办 生了孩子子宫没恢复好怎么办 cf我是新手不知道怎么报点怎么办 挑战人物已经有了又刷到怎么办 小米手机账户验证码隐藏了怎么办? 苹果手机绑定的邮箱密码忘了怎么办 魔域手机版不要的装备怎么办 魔域永恒多了的幻兽装备怎么办 魔域怀旧版70星以后宝宝怎么办 天猫确认收货后不寄发票怎么办 足球运动员踢了一半想撒尿了怎么办 17个月宝宝0型腿怎么办 走的路多了腿疼怎么办 如果新兵老被老兵打怎么办求求个位 做古董拍卖诈骗被警察抓了怎么办 武汉个人社保怎么办停转到海南来 狗狗车祸前脚软组织受伤了怎么办 6岁儿童夜里盗汗惊战发抖怎么办 一个月大的小狗尾巴掉毛怎么办 口袋妖怪用修改器被ban了怎么办 联币金融提现不到账怎么办 秘密花园的手抄报怎么办?五年级 雷蛇鼠标不亮了怎么办呢 汽车后备箱的垫子好臭怎么办 摩托尾箱内衬味道太重怎么办 买房子把办贷款的单据丢了怎么办 鞋盒破损卖家拒绝退货怎么办 顺丰快递退回发件人签收失败怎么办 客户收到衣服后说衣服破损怎么办 纱窗被老鼠咬了个洞怎么办 双色印刷机开槽刀调不动怎么办 水管软管两端的螺帽下包生锈怎么办 棉花被子盖时间长了被芯变小怎么办 垫的被子发霉了啊没有地方晒怎么办 小孩拉尿在丝棉被棉怎么办 把兔子养大了竟然会咬人怎么办