[国嵌攻略][051][NandFlash原理解析]】的更多相关文章

扮演角色 相当于嵌入式设备的硬盘 NandFlash分类 1.SCL(single level cell):单层式存储 2.MLC(multi level cell):多层式存储 3.SCL在存储格上只存储一位数据,而MLC则存放两位数据 MLC与SLC对比 1.价格 由于MLC采用了更高密度的存储方式,因此同容量的MLC价格上远低于SLC 2.访问速度 SLC的访问速度一般要比MLC快3倍以上 3.使用寿命 SLC能进行10万次的擦写,MLC能进行1万次擦写 4.功耗 MLC功耗比SLC高15…
NandFlash读数据方式 1.页读,读出页中主数据区的所有数据,提供页地址(行地址) 2.随机读,读出页中指定的存储单元的数据,提供页地址(行地址)和页内偏移(行地址) 代码编写 1.根据NandFlash中的读时序图写出工作流程,可以通过在芯片手册中搜索operation找到相关描述 2.主要关心的是IO脚上时序的变化 3.初始化闪存分为初始化闪存控制器和闪存芯片 4.对位操作 4.1.清零 x &= ~(y<<z)   对x的z位开始的y清零 4.2.置1 x |= y<…
MMU功能解析 1.Memory Management Unit(存储器管理单元) 2.两个进程读取同一个地址能读到不同的值.因为进程访问的是虚拟地址,通过MMU转换成不同的物理地址.不同的进程通过MMU有不同的映射规则 3.如果MMU没有工作,那么在程序中使用的是物理地址.为避免程序物理地址冲突,在系统中会使用虚拟地址 4.MMU最重要的作用就是把虚拟地址转换成物理地址,其次就是控制访问权限 MMU地址转换 1.在ARM核手册的内存管理部分有相关描述 2.MMU把32位的虚拟地址转换成物理地址…
初始化 打开/drivers/mtd/nand/s3c2410.c找到nand flash驱动程序代码,找到模块初始化函数s3c_nand_init,找到platform_driver中的probe函数. 1.使能时钟 2.进行物理地址到虚拟地址转换 3.硬件纠错初始化 4.搜索nand flash 5.注册分区信息 nand flash读操作 nand flash读写函数位于通用驱动/drivers/mtd/nand/nand_base.c.nand flash的读函数位于nand_read的…
Nand Flash支持按页写和随机写两种方式,在下面实现的是按页写.闪存在写数据时,只能写入1,不能写入0,所以写函数必须和擦除函数一起使用,并且擦除函数是按块擦除. /******************************************************************** *名称:write_page_flash *参数: * page 页号 * buf 写缓存,2048字节 *返回: * state 成功:0 * 失败:1 *功能:按页写闪存 *******…
LCD硬件体系 1.LCD液晶屏 液晶属于一种有机化合物,分子形状为长棒状,在不同的电流作用下,分子会有规律旋转,这样对光线产生一定的控制形成一个像素,而很多像素右可以构成完整的图像. LCD是Liquid Crystal Display的简称.液晶显示器按驱动方式可以分为TFT.GF.STN等种类,其中TFT屏在嵌入式系统中经常使用. 2.LCD驱动芯片 LCD驱动芯片是控制液晶分子发生变化的模块,它为液晶分子的偏转提供电压.通常情况下,LCD驱动芯片都与液晶屏面板做到一块电路板上. 3.LC…
tty概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备. 1.串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备.Linux把每个串口端口都看作是一个字符设备.这些串口设备所对应的设备名称是/dev/ttySAC0,/dev/ttySAC1... 2.控制台终端(/dev/console) 在Linux系统中,计算机的输出设备通常被称为控制台终端(console),这里特指printk信息输出到的设备./dev/co…
进程与程序 1.程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体. 2.进程:是一个执行中的程序,它是一个动态的实体. 进程四要素 1.有一段程序供其执行.这段程序不一定是某个进程所专有,可以与其他进程共用. 2.有进程专用的内核空间堆栈. 3.在内核中有一个task_struct数据结构,也就是通常所说的进程控制块(PCB).有了这个数据结构,进程才能成为内核调度的一个基本单位,接受内核的调度. 4.有独立的用户空间. 如果有独立的用户空间,那么是进程:如果没独立的用户空间,…
[一跃进入C大门] 跳转方式 1.相对跳转:b或bl指令,通过计算两个地址之间的差值来给pc赋值相对跳转 2.绝对跳转:ldr指令,通过给pc直接赋值,完成绝对跳转 代码编写 1.在汇编代码中直接使用绝对跳转,跳转到C代码中,然后在C代码中通过点亮LED来验证 2.210在跳转到C程序时,需要注意复制代码时,要跳过校验信息.要不然跳转到内存时,前16个字节为头信息,整个起始地址向后偏移了16个字节,就找不到正确地址了 [C与汇编混合编程] 为什么需要C与汇编混合编程 1.汇编语言:执行效率高,编…
数据库系统构成 在计算机系统中,保存数据的方式一般有两种: 1.普通文件方式 2.数据库方式 相比于普通文件方式,使用数据库来管理大批量数据具有更高的效率与安全性. 数据库系统一般由三个部分构成 1.数据库 2.数据库管理系统 3.数据库访问应用 sqlite属于数据库管理系统.在数据库中,数据都是以表的形式存在.表与表之间,可能存在关系.sql(结构化查询语言),是一种特殊的编程语言,用于访问数据库中的数据. 移植sqlite到开发板 1.解压 tar zxvf sqlite-autoconf…