ARM学习之Nand FLash控制器

发布者:EuphoricMelody最新更新时间:2018-07-21 来源: eefocus关键字:ARM  Nand  FLash控制器 手机看文章 扫描二维码
随时随地手机看文章

今天学习了Nand Flash的一些内容。在此做下回忆和总结:

1.什么是Nand Flash? 
答:Nand FLash是一种非易失性的存储性介质,一般用于保存嵌入式系统运行所必需的操作系统、应用程序、用户数据等,地位和PC上的硬盘类似。一般来说,它的接口引脚不像SDRAM那样多(SDRAM有20多根),一般也就是十几根。以三星公司的K9F1208U0M为例,如下所示。 
这里写图片描述

正因为它的数据引脚较少,所以它的命令、地址、数据都是公用这一组IO引脚再配上ALE、CLE等其他使能信号进行传输的。操作Nand Flash(读、写、擦除)也和简单,基本上是按照传输命令、传输地址、最后读写数据这样一个流程实现的。这些命令在具体的芯片手册上都会有。 
就像上面说的,命令、地址、数据都是通过那一组IO引脚传输的,不过对于S3C2440芯片来说,它为我们准备好了一组寄存器(NFCON、NFCONT等),我们只要操作具体的寄存器就可以实现上述流程。

2.static在嵌入式编程中的作用? 
答:今天在看代码的时候,看到了用static修饰的静态函数。有点疑惑,所以查阅了解了一下。 
有一篇CSDN博客上讲的挺详细的,先摘录如下(http://blog.csdn.net/janeqi1987/article/details/46998603): 
static从本质来讲就两个作用: 
(1)、限定存储域 
(2)、限定作用域

第一、限定存储域:被static修饰的变量无论是局部变量还是全局变量都将被编译器存放在静态区。而实际上在gcc编译完生成的ELF格式文件中并没有静态区这个概念,所谓静态区是我们在概括讨论程序数据段的一种泛称。实际上编译器会根据具体情况把被static修饰的变量分为两类:当变量被定义并初始化为非零值的时候,变量将放在.data段;当否则为初始化或初始化为零的时候将放在.bss段。我们在不深入讨论的时候暂且可以将此两段概括为静态区。而放在静态区的变量由于存储域的原因导致生命周期很长,长度为程序(确切讲应该是该程序运行后的进程)的一次运行过程,而普通局部变量由于在运行过程中被系统分配在栈区所以生命周期只是一次函数的调用过程。


第二、限定作用域:由于静态还是普通局部变量本身的作用域就是函数内部,因此static的作用域主要是对全局变量和函数的限定。被staitc修饰的全局变量或函数都被编译器标记为仅在本文件中使用,由于编译器在编译过程中是以.c结尾的源文件为单位依次生成以.o结尾的目标文件,所以最后连接器在连接过程中将不允许被static修饰的变量或函数的地址对外链接。这样既可以防止全局变量或函数的重名问题,又可以防止由于无关的全局变量误操作引起的程序逻辑问题。因此static就限定了变量或函数的作用域。


volatile在嵌入式编程中的作用? 

答:volatile是不稳定的意思,它是一个变量修饰符,用来指示编译器不要对此修饰符修饰的变量进行优化,否则可能会出现错误。简单来说,当有些变量从内存中读入到寄存器中的时候,可能会保留一个备份,下次操作此变量的时候就不用在此从内存中读取,直接使用这个备份寄存器中的值就可以了(这是由编译器优化实现的)。但是在涉及到多线程或者有关硬件编程的时候,对有些变量不需要这些优化(可能是为了保持数据的稳定性、一致性),就用到了这个修饰符。

4.一个小的发现:以前在编程的时候,定义了一个结构体之后,都是用这个声明的结构体定义一个变量,由系统给我们分配这个变量的空间(动态或静态)。今天在看代码的时候,发现在底层的编程中,有的时候可以直接给变量赋一个指定的值(长知识了)。如下图所示,

这里写图片描述

关键字:ARM  Nand  FLash控制器 引用地址:ARM学习之Nand FLash控制器

上一篇:ARM学习之时钟体系结构
下一篇:ARM学习之GPIO实现流水灯

推荐阅读最新更新时间:2024-03-16 16:09

研华坚固抗震Arm核心模块 协助打造医疗手术“黑科技”
在国家鼓励医疗器械自主创新、攻克关键“卡脖子”技术的背景下,我国超声软组织切割止血系统行业技术取得重大突破,国产化进程加快。 超声软组织切割止血系统(设备)一般由主机和附件组成。主机主要为换能器和刀头提供能量,附件包括超声换能器、超声刀头和脚踏开关。该设备通过超声刀把超声能量聚集到人体内,利用焦点处超声波热效应,在靶区形成高温,导致蛋白质变性,从而达到手术效果。 超声软组织切割止血系统应用需求 进口超声手术刀价格昂贵,且其使用不在医保的报销范围内,患者经济负担较重。在需求和政策等因素推动下,部分国内企业开始发力研发超声软组织切割止血系统,替代进口设备未来可期。 国内某医疗企业,在微创手术器械超声能量平台领域有
[医疗电子]
研华坚固抗震<font color='red'>Arm</font>核心模块 协助打造医疗手术“黑科技”
ARM启动流程分析
学习ARM(Advanced RISC Machines)的启动流程,主要从三方面入手,启动方式、地址布局以及启动流程。对2440、6410以及210的启动过程总结如下表所示。 对于S3C2440,其启动方式包括Nor Flash 和Nandflash两种
[单片机]
<font color='red'>ARM</font>启动流程分析
arm-linux之为开发板写上电自启动程序之方法
开发环境 开发板:AM335 虚拟机:ubuntu 14.04 编译器:gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf 开发板内核:linux 4.4.12 首先开发板的文件使用的是systemd 并没有/etc/rc.local文件 所以要想修改rc.local这一简单的操作已经不存在 但是也是可以用systemd和initd两种方式解决这个问题 1.systemd 我这里是修改自带的service root@am335x-evm:/etc/rc5.d# ls /lib/systemd/system/rc-local.service /lib/systemd/sy
[单片机]
Cortex—M3的异常处理机制研究
  引 言    Cortex —M3是ARM公司第一款基于ARMv7一M的微控制器内核,在指令执行、异常控制、时钟管理、跟踪调试和存储保护等方面相对于ARM7有很大的区别。尤其在 异常处理 机制方面有很大的改进,其异常响应只需要12个时钟周期。NVIC(Nested Vectored Inteirupt Contmller,嵌套向量中断控制器)是Cortex—M3 处理器 的一个紧耦合部件,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(pre-emption)、尾链(tail—chaining)、迟到(1ate—arriving)技术的使用,大大缩短了异常事件的响应
[单片机]
意法半导体支持ARM mbed操作系统,加快物联网创新
市场领先的STM32微控制器、传感器、通信接口和电源管理产品是物联网产业的理想选择,可加快产品研发及上市速度 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)宣布,旗下STM32系列ARM Cortex -M微控制器及市场领先的传感器、通信接口和电源管理产品支持ARM mbed IoT产品平台及最新版ARM mbed操作系统。STM32微控制器的开放式开发环境已十分强大,现在mbed平台又为该环境带来一个标准的操作系统、云端服务及协助创新企业研发新物联网应用的开发工具。 ARM物联网事业部市场副总裁Zach Shelby表示
[物联网]
浅谈μCOSII在Cortex-M3核的ARM处理器上的移植
随着科学技术的发展,嵌入式技术已被广泛应用到汽车电子、无线通信、数码产品等各个领域。嵌入式操作系统及嵌入式处理器技术发展迅猛,嵌入式操作系统典型代表有μCOS—II、μClinux、Winclow CE、VxWorks等;嵌入式处理器包括ARM、MIPS、PowerPC等。 1 软硬件开发环境及处理器介绍 1.1 软件硬开发环境 本移植过程使用的软件环境是RealView MDK开发套件,此产品是ARM公司最新推出的针对各种嵌入式处理器的软件开发工具,该开发套件功能强大,包括了μVisiON3集成开发环境和RealView编译器。使用的硬件平台是深圳英蓓特公司推出的全功能评估板STMl03V100,其上所采用的处理器是S
[工业控制]
浅谈μCOSII在Cortex-M3核的<font color='red'>ARM</font>处理器上的移植
嵌入式设计方案:ARM9多串口服务器
  以ARM920T 为内核的S3C2440A 作为主控制器和以太网控制芯片DM9000AEP 设计硬件平台; 构建并移植适合嵌入式串口服务器系统的嵌入式Linux 操作系统,利用Linux 完善的TCP/IP 协议设计ARM 端的多线程网络服务器程序。设计实现RS-232C 串口与以太网口数据的双向传输,使现有的智能仪器设备成功接入以太网。   随着计算机网络的发展和物联网的兴起,将智能仪器接入网络已成为一种趋势,以实现数据的共享与远程管理。但是目前大多智能仪器使用的是异步串行通信接口RS-232C /485 /422,因此迫切需要一种能将异步串行通信协议转换为以太网TCP /IP 协议的协议转换器,使现有的串行通信设备方便地接入
[单片机]
嵌入式设计方案:<font color='red'>ARM</font>9多串口服务器
Arm 宣布推出全新汽车技术,可缩短多达两年的人工智能汽车开发周期
新闻 重 点 : 支持功能安全的全新 Arm 汽车增强 (AE) 处理器将为 AI 驱动的用例带来先进的 Armv9 架构技术和服务器级性能 Arm 针对汽车应用的未来计算子系统将进一步缩短高性能汽车系统的开发时间、降低成本,并带来最大的灵活性 Arm 生态系统首次实现在物理芯片就绪前就可基于虚拟原型解决方案启动软件开发,由此可缩短多达两年的开发周期 Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称“Arm”)今日携手生态系统合作伙伴推出最新的 Arm 汽车增强 (AE) 处理器和虚拟平台,让汽车行业在开发伊始便可应用,助力缩短多达两年的开发周期。 Arm 高级副总裁兼汽车事业部总经理 Dipti Vac
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved