flash、SDRAM
gooogleman
学海无涯,上下求索。
展开
-
MMU代码分析(作者:wogoyixikexie@gliet)
MMU代码分析(作者:wogoyixikexie@gliet) ——以前我一直误以为MMU在OAL才开的,在bootloader是不开的,真是大错特错。这个也不怪我,因为有很多书都说在bootloader阶段是不开的。现在看看代码真是感慨万千。———————————————————————— 这两天,重新看了MMU和cache,对它有了一点了解,现在再把疑问放到论坛上来,希原创 2009-01-04 16:38:00 · 5340 阅读 · 0 评论 -
对一些内存名词术语的解释(bank ECC等)——转载
内存 : BANK Bank (内存库) 在内存行业里,Bank至少有三种意思,所以一定要注意。 1、在SDRAM内存模组上,"bank 数"表示该内存的物理存储体的数量。(等同于"行"/Row) 2、Bank还表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4转载 2008-12-19 11:29:00 · 2793 阅读 · 0 评论 -
K9F1208U0M(64M nand flash)手册阅读以及相关驱动程序分析
作者:wogoyixikexie@gliet 以前一直使用别人成功的FMD,早几天对一些细节以及编程方法一无所知,同时也有很多人问我flash相关问题,我好想在论坛指点江山,给养技术,可是感觉有些东西确实需要补补,今天就看个明白吧。NAND Flash Technical NotesInvalid Block(s) Invalid blocks are defined as原创 2008-12-18 14:37:00 · 6379 阅读 · 3 评论 -
nand flash结构以及读写分析——写的比较经典(转载)
今天在利用ARM7上的nandflash控制器驱动,ID已读取成功,擦写,读取等尚未完成,晚上就在网上查查相关的知识,觉得有一个不错,转贴如下:NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND D转载 2008-12-18 17:29:00 · 4258 阅读 · 3 评论 -
NAND FLASH ECC校验原理与实现——转载
NAND FLASH ECC校验原理与实现http://blog.csdn.net/nhczp/archive/2007/07/20/1700031.aspxECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采转载 2008-12-19 17:32:00 · 3884 阅读 · 0 评论 -
冷启动,重启,唤醒..........
CSDN-南京Wince研究生 说:昨天还是在stepldr中修改了CSDN-南京Wince研究生 说:把reset变成冷启动了,^_^wogoyixikexie@gliet 说:在那里改有什么用?CSDN-南京Wince研究生 说:有用啊wogoyixikexie@gliet 说:起来后我们控制不了了wogoyixikexie@gliet 说:说说看,你这样做,后面怎么利用它的?CSDN-南原创 2008-12-25 10:50:00 · 1683 阅读 · 0 评论 -
如何扩展ARM内存(OEMGetExtensionDRAM和pNKEnumExtensionDRAM函数可以解决问题)
如何扩展ARM内存(OEMGetExtensionDRAM和pNKEnumExtensionDRAM函数可以解决问题) //-----------------------------------------------------------------------------------------------------------// 日期:2009年3月19日 13:4原创 2009-03-19 13:37:00 · 3028 阅读 · 1 评论 -
wince5+2440的睡眠和唤醒——转载
wince5+2440的睡眠和唤醒说明:网上转载,也没有说明作者是谁,如果作者看到我转载了,请说一声,我会把你的大名写上。不管任何方式的系统挂起,最终都会调用OEMPowerOff()函数来实现.OEMPowerOff()函数由OEM来完成,这个函数也许会位于 power.c或者off.c的文件中.OEMPowerOff()是OEM来实现的,代码和流程也许不同,但基本按照下面的方法来完成.转载 2009-03-26 16:01:00 · 3893 阅读 · 1 评论 -
如何把如何给flash 分两个FAT区域
以前对这个问题一点都不了解,后来有人提示使用两个驱动来实现即可,后来想想,的确是妙招。现在Veabol 牛人给了注册表。先收藏起来,以后有用的。 [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/FlashDisk] "Prefix"="DSK" "Dll"="ONDisk.dll" "Order"=dword:1 "Index"=dword:3转载 2009-04-13 22:25:00 · 3593 阅读 · 1 评论 -
wince内存配置
WINCE的内存(包括SDRAM及FLASH)的配置包含两个方面:源代码(包括C和汇编)中的定义,及系统配置文件CONFIG.BIB中的定义。源代码中需要定义内存的物理及虚拟地址,大小,并初始化名为OEMAddressTable的结构数组,以告知系统物理地址与虚拟地址的对应关系,系统根据其设置生成MMU页表。而CONFIG.BIB中一般会将内存定义成不同的段,各段用作不同的用途。CONFIG.BI转载 2009-04-28 11:18:00 · 3579 阅读 · 2 评论 -
WinCE下面直接对Nand进行一些操作
有些时候我们需要在WinCE下面直接对Nand进行一些操作,比如erase,mask bad block,unmask bad block,或者一些基于block的数据操作。如果我们直接用Nand驱动去访问会造成一个问题,就是无法与系统的Nand驱动互斥访问,这样子很有可能会出现问题所以我们可以实现FMD_OEMIoControl这个函数来给我们直接提供一个接口由于通过DeviceIoContro转载 2009-09-03 00:31:00 · 2567 阅读 · 4 评论 -
Inand ,OneNand
iNAND,是一种小型的、便于集成的高速 NAND闪存SD接口芯片。嵌入式闪存对高档消费电子产品如 MP4 播放器、GPS通信设备、个人媒体播放器及移动电话来说是一种流行的存储解决方案。 SanDisk iNAND 是一个完整的子系统,在单个设备中集成了串行控制器和高速 NAND 闪存。iNAND 控制器节省了主系统 CPU 和 RAM 缓冲,从而确保了高可靠性并提供一个完整的磁盘式文件管理结构。转载 2010-03-02 09:52:00 · 3190 阅读 · 2 评论 -
关于飞凌2440(FL2440,OK2440-III,TE2440-II)的分区问题
最近,有几个客户问起关于飞凌2440(FL2440,OK2440-III,TE2440-II)的分区问题,我刚才抽时间看了一下,现在做如下解释: 一、v4版本bootloader,飞凌的ADS bootloader 给Linux,wince,以及bootloader都做了划分,bootloader源码的nand.c里面,有如下划分。//可更改删除分区,分区名字不可改static原创 2010-04-20 11:28:00 · 4115 阅读 · 1 评论 -
cache原理学习(作者:gooogleman)
作者:wogoyixikexie@gliet cache是ARM最难理解,也是最具有闪光点的地方之一,现在是解决他的时候了。 对于这么经典的东西,我还是引用ARM工程师的书籍吧,免得误人子弟。cache以及write buffer的介绍 A cache is a small, fast array of memory placed be原创 2008-12-29 16:28:00 · 10216 阅读 · 3 评论 -
ECC的代码实现——转载
ECC的代码实现数据校验介绍: 通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。 如果是时序或者电路方面有什么问题的话,错误数据的发生是无法通过数据校验来进行弥补的,而对于受外界干扰而产生的位翻转错误,则可以一定程度上通过HW或者SW的数据校转载 2008-12-17 16:41:00 · 1827 阅读 · 0 评论 -
nand flash坏块——转载
1.为什么会出现坏块 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。坏块的特性是:当编程/擦除这个块时,不能将某些位拉高,这 会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的相应位。2.坏块的分类 总体上,坏块可以分为两大类转载 2008-12-16 15:37:00 · 2410 阅读 · 0 评论 -
硬盘FAT文件系统原理的详细分析——转载
硬盘FAT文件系统原理的详细分析存储论坛网友/sjhf ◎ 2004-04-02 16:12 存储在线 导读:硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成,其中盘片和磁头密封在无尘的金属壳中。本文是从各个方面透彻的分析硬盘FAT的文件系统。希望对大家更好的了解硬盘有所帮助。关键词: FAT转载 2008-12-13 16:07:00 · 4434 阅读 · 0 评论 -
BIOS之内存控制器设置以及内存电路接口分析
作者:wogoyixikexie@gliet现在来看2440内存控制器初始化代码;Set memory control registers ldr r0,=SMRDATA ;be careful!, hzh ldr r1,=BWSCON ;BWSCON Address add r2, r0, #52 ;End address of SMRDATA0 ldr r3, [r0], #4 st原创 2008-11-12 17:08:00 · 6147 阅读 · 0 评论 -
add r0, pc, #OEMAddressTable-(.+8)指令引起的论坛讨论
作者:wogoyixikexie@gliet wangxin_801115在昨天发了个帖子,本来觉得很简单,没有想到引起了很大的关注。现在收集起来造福you and me。———————————————————————————————————————————————————add r0, pc, #OEMAddressTable-(.+8) ; (r0) = OEMAddres原创 2009-01-06 14:13:00 · 5831 阅读 · 0 评论 -
2440 wince 5.0 BSP之flash驱动分析
作者:wogoyixikexie@gliet这几天,使用立宇泰2440 开发板光盘的BSP放到手持机上,运行是没有问题了,但是却发现不了盘符。后来看串口打印信息,原来是页大小根本没有识别出来,本来是2048byte的,但是打印出来确实512byte。FMD::FMD_InitFMD::FMD_Init - pBSPArgs->nfsblk = 0xffffffff FMD:原创 2008-11-18 10:00:00 · 3564 阅读 · 1 评论 -
WINCE 下的FAL(flash abstraction layer)——转载
WINCE 下的FAL(flash abstraction layer) 今天同事翻出NAND flash 的驱动问我为啥不能编译出DLL,我一看OAK/BLOCK/MSFLASHFMD确实有问题,就顺便来研究下。 我们就以该目录下的FASL Code来做下分析。FASLD目录就是生成LIB,先看以下里面的SOURCE 文件: TARGETNAME=fasld_libT转载 2008-11-19 17:00:00 · 1949 阅读 · 0 评论 -
S3C2410&&WINCE6.0&&NBOOT (转载)
S3C2410&&WINCE6.0&&NBOOT S3C2410处理器支持将启动代码存储在NAND Flash中。为了实现这一功能,2410配备了一个名为“Steppingstone”的内部SRAM。在启动时,NAND Flash中第一个4K字节的内容将被加载到Steppingstone中并执行。这个工作由MCU主动完成,而我们只需将NAND Flash配置为Auto Boot模式即转载 2009-01-16 11:39:00 · 1924 阅读 · 1 评论 -
2440偶尔不能启动的原因——难道真的必须在bootloader阶段清零内存吗?
我的2440机器偶尔会出现不能启动的现象,并且每次都是挂在同一个地方,下面是启动信息Windows CE Kernel for ARM (Thumb Enabled) Built on Feb 8 2007 at 23:36:51ProcessorType=0920 Revision=0sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc80原创 2009-01-13 16:18:00 · 1685 阅读 · 1 评论 -
再次学习flash驱动——挖掘不能发现nand flash盘符的原因
作者:wogoyixikexie@gliet 2008-12-05 昨晚看以前优龙的老4.2BSP的flash驱动,发现和我现在不能发现这个盘符的驱动有些差别。下面这个函数是flash驱动加载的时候要执行的,作用是检测flash有没有坏块。我发现我在新的flash驱动中犯了严重的错误。等下会在代码中说明。DWORD FMD_GetBlockStatus(BLOCK原创 2008-12-05 13:41:00 · 4654 阅读 · 1 评论 -
如何在Windows CE.NET下使用大于256MB内存——转载
如何在Windows CE.NET下使用大于256MB内存实达网络科技有限公司瘦客户研究部 王贤俊 2003年03月21日 点击:1071Windows CE .NET是Windows CE 3.0的后继产品。Windows CE .NET为嵌入式市场从新设计,为快速建立下一代智能移动和小内存占用的设备提供了一个健壮的实时操作系统。Windows CE .NET具备完整的操作系统特性集包和转载 2008-12-08 11:42:00 · 1407 阅读 · 0 评论 -
在WinCE下,应用程序直接读/写/擦除flash设备的方法(转自:MVP作者:ARM-WINCE)
作者:ARM-WINCE 在网上的很多论坛中都看到有人提问:应用程序如何直接读写Flash的扇区,或者是类似的问题。总之,就是希望应用程序能够直接访问Flash设备,直接读写扇区的数据,或者作其他的操作。这几天没事,就尝试着做了一下,把我的方法介绍给大家。 先做个简单的介绍。WinCE支持Flash设备,一般指Nandflash或者是NORFlash,采用的架构一般是FAL+FMD转载 2008-12-09 15:48:00 · 2243 阅读 · 0 评论 -
从eboot菜单分析eboot功能实现原理
作者:wogoyixikexie@gliet 2008-12-10============================================================ 一直在用优龙的ADS bootloader,对eboot的认识还停留在在刚来公司时候的水平,貌似我只看过eboot的startup.s,现在使用优龙的bootloader遇到很多障碍,最原创 2008-12-10 10:44:00 · 8862 阅读 · 2 评论 -
k9f1g08 2K page nand flash驱动调试——转载自:作者shuiii
k9f1208secotr size = 512byte,block_pre_sector =32sector, block size = 512*32 =16K, device=4096block=64Mk9f1g08secotr size = 2k, block_pre_sector =64sector, block size = 2*64 =128K, device=1024bl转载 2008-12-10 17:34:00 · 3045 阅读 · 0 评论 -
OEMAddressTable 内存映射表是怎么被wince使用的(作者:wogoyixikexie@gliet)
作者:wogoyixikexie@gliet;------------------------------------------------------------------------------;; File: memory_cfg.inc;; This file is used to define g_oalAddressTable. This tabl原创 2008-12-12 17:11:00 · 2202 阅读 · 0 评论 -
从flash芯片名字识别flash容量
收集于论坛:帖主guetcwK 9 X X X X X X X X - X X X X X X X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1. Memory (K) 2. NAND Flash : 9 3. Small Classification (SLC : Single Level Cell, MLC : Multi Level Cel转载 2008-12-15 09:57:00 · 4224 阅读 · 0 评论 -
做完S3c2416 我想做的事情——找出为什么我的128M的SDRAM 的2440 机器比别人进口的64M的 2440 机器还慢!
不要使用原厂提供的SDRAM驱动,那些是很保守的参数; 自己按实际SDRAM硬件性能,重新调整这些参数,整体性能可以大大提升... 实际测试:在我的操作系统上,重新优化2440 SDRAM驱动后,性能确实大幅提升: http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=4844443 ——这里一些网友提示惊醒梦中人,我的原创 2011-12-07 14:55:27 · 2871 阅读 · 5 评论