NorFlash】的更多相关文章

前言:回校了,辦好手續就著手寫測試篇.初步的norflash控制器已經完成,通過硬件測試.目前的norflash完成扇区块擦除.单字节写.单字节读3个功能.博文最后附上源码. 总结:和之前的博文一样,里面的模块没有做时序分析,这一点会在今后的工程里面改进.另外在测试的过程中,发现写完一个字节后只需经过若干个系统时钟周期即可输出正确的写入内容(设置等待写完成的总线方向为输入,可以看到三态口的数据总线显示之前写入的数值,本人源码写入0xcc,可见stp2抓图).这一点和手册里给的单字节写需要9us的…
前言:经过几天修改,norflash控制器基本已经完成,通过仿真.完整的norflash包含2个模块:直接操作硬件的norflash_ctrl.v与控制ctrl模块的驱动norflash_driver.v.目前只具备扇区块擦除.单字节写.单字节读. 设计思路: norflash_driver模块:可以根据外部控制脉冲信号(可以是按键.开关.其他模块产生的脉冲信号)控制其在每个脉冲下产生相应的“指令.读写地址.待写数据.norflash请求”4种信号.指令可以预先用一个lut存储.用这种方式操作n…
摘要:今天驱动一款SPANSION公司生产的norflash——S29AL032D70,没有别的参考资料,大致了解一下norflash的内部cmos电路架构以及其用途之后,直接看手册吧. 如何看手册:拿到手册后满满的英文,很多人看了就泄气,那么如何在浩如烟海的英文里找到实际需要的信息,这一点很关键.因为毕竟是用Verilog建模,不像软件描述那么灵活,很多时候受限于硬件描述的瓶颈,因此一开始先给自己起点低一点,建模完成norflash的单块读写功能,至于其他比如CFI里面的其他功能可以以后完善.…
由于喜欢折腾,我是在linux下使用jlink的,既然JLinkExe可以进行内存读写操作,loadbin等操作,并且通过指定命令文件支持批量指令输入,那么首先jlink是可以直接访问内部存储器的,包括它的RAM和各种Soc上外设如存储控制器,串口配置寄存器等,但是不能直接访问外部存储器,如Norflash.这样一来,先关狗,设好时钟,然后通过wmem32一系列命令,操作存储控制器,这样就可以访问SRAM,然后loadbin到内存,再写回到norflash,或者nandflash,其中nandf…
NANDFLASH: Nand-flash内存是flash内存的一种,1989年,东芝公司发表了NAND flash结构.其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案.Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机.MP3随身听记忆卡.体积小巧的U盘等. NORFLASH: NOR flash是intel公司1988年开发出了NOR flash技术.NOR的特点是芯片内执行…
在淘宝上买修改openwrt的路由器,基本上都是改的16MB flash,那么为什么不改到1GB呢? 现在U盘的价格也很便宜啊. 于是我调查了一下,发现flash分为两种,NorFlash与NandFlash. 一般路由器需要一个bootloader来启动,一开始上电启动的时候,从0x00开启运行代码, 这个bootloader代码一般是可写的,不是固化在ROM里的,是烧写在flash里面的. 那么需要从flash里面运行代码这一点,就决定了路由器需要采用NorFlash,而不是NandFlas…
读取速度:nor > nand 写入速度:nand > nor 擦除速度:nand 4ms,nor 5s nand的擦除单元更小,相应的擦除电路更少. nand的实际应用方式比nor复杂,nor 可以直接使用,并可以在上面直接运行代码,而nand 需要i/o接口. 我们平时使用的u盘大都使用的是nand flash,而nand flash 又分三种,分别是:slc,mlc,tlc,它们的速度不同,造价不同,寿命不同. 很多人以很便宜的价格买到了容量很大的u盘,实际用不了多久就坏了,估计用的就是…
在mini2440的教程中,在构建nandflash系统的时候是首先通过supervivi借助dnw烧写uboot.bin到nand flash 第零块, 由于我使用的是64位操作系统,usb驱动没安装成功,就尝试了其他方法烧写uboot.bin到nandflash,尝试了N多种方法都失败了, 静下心来一想,既然NORFLASh中的uboot可以启动,为什么不直接通过uboot烧写呢,于是就试了一下,UBOOT下用tftp下载到内存,然后用nand write 指令烧写,成功了…
  Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反. (1)闪存芯片读写的基本单位不同        应用程序对NorFlash芯片操作以“字”为基本单位.为了方便对大容量NorFlash闪存的管理,通常将NOR闪存分成大小为128KB或64KB的逻辑块,有时块内还分扇区.读写时需要同时…
转自:http://www.aiuxian.com/article/p-2796357.html 电子产品如果没有了电,就跟废品没什么区别,是电赋予了他们生命,然而程序则是他们的灵魂. 小时候一直很好奇,一个个死板的电子产品为什么一上电以后就能够工作了呢?为什么一个小小芯片就能够运行我们编写的程序呢?一个开发板从刚上电到整个操作系统能够运行起来是怎么办到的呢?这些东西困扰了好久,参考了好多资料现在才慢慢弄明白其中一些原理. 我们现在接触的大多数电子产品都是使用数字电路设计出来的,数字电路的精髓就…