在单片机开发中NOR_FLASH的应用

发布者:ShimmeringMoon最新更新时间:2018-11-19 来源: eefocus关键字:单片机开发  NOR_FLASH 手机看文章 扫描二维码
随时随地手机看文章

 在单片机开发中,NOR_FLASH常用的有4M和8M的大小:


4M的FLASH在程序中可以这样表示:Ptr < 0x220000


8M的FLASH在程序中可以这样表示:Ptr < 0x400000(最大只能读到0x3fffff)


有了这个关系,在判断NOR_FLASH好坏的方法上我们可以采用计算checksum的方式来校验。


在程序中,我们一般把地址的指针定义为unsigned short *ptr 类型。然后通过指针不断的往后移动可以简引用获取到FLASH中的每一个byte,如果此时定义成unsigned short类型,那么用一个temp变量来接收的话,一次是可以接收到2个byte的数据,如果此时定义成unsigned long类型,同样用temp变量来接收这时一次性可以读到4个byte的数据,所以在处理数据方面可以采用位运算来进行处理。


以下这段程序是每1024byte获取前16个byte的数据依次累加返回,注意,这里累加是以word的形式累加,1 word = 2byte,所以读512相当于读了1024byte


注意,这里的单片机是16位的,其它的可能不同,不要类比,需要重新计算相应数据类型的值。


1.png


关键字:单片机开发  NOR_FLASH 引用地址:在单片机开发中NOR_FLASH的应用

上一篇:关于STC单片机IO口的状态
下一篇:如何为单片机的按键加一个锁防止多次触发

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

51单片机开发主要方法
ISD51 (在线调试器)为8051编程用户提供了新的监控调试技术。将 ISD51 进行配置后与您的用户程序连接起来用户就可以通过8051的一个串口直接在芯片上调试程序了。ISD51的软件和硬件可以工作于最小模式。它可以运行于带有外部或内部程序空间的系统并且不要求增加像冯.诺伊曼架构的数据存储器等的特殊硬件部件。ISD51 可以工作在像 Philips LPC 系列之类的微型单片机上并且可以完全访问其 CODE 和 XDATA 地址空间。 ISD51硬件需求,一个8051兼容串口, 500-700字节的程序代码在相应数量的特殊积存器中运行,6字节堆栈空间,1字节IDATA RAM,为每个软件断点预留2字节IDATA RAM
[单片机]
Arduino单片机使用和开发问题记录
1、将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上查遇到这个问题的人比较多,有说驱动问题的,有说IDE设置问题的。具体到我遇到的这个情况,原因是板子上插了RF24无线传输模块(也许线还没有插对),拔掉以后再上传程序就正常了。 2、nRF24L01+无线透传使用问题 Arduino官网上似乎推荐Mirf这个库,遇到一个问题,接收端运行几分钟后停止响应;试了另外一个RF24库,遇到传输不稳定的问题,一时没有解决,还是回到Mirf了,之前的停止响应问题没有再出现。 这个论坛关于无线透传的讨论不少,虽然用arduino的不多。 Mi
[单片机]
Arduino<font color='red'>单片机</font>使用和<font color='red'>开发</font>问题记录
用PComm开发PC机与单片机的通信程序
摘要:介绍了分布式控制系统中上位PC机与下位单片机异步串行通信的通信协议;同时介绍了在VC++6.0环境下用PComm编写的PC机通信程序来实现上位机和下位机异步串行通信的方法,给出了PComm编程实例和下位机程序模块流程图。 关键词:分布式控制系统;异步;串行通信;PComm 在由一台PC机(上位机)和多台单片机(下位机)构成的分布式控制系统中,单片机主要负责实时数据采集,并将初步处理后的数据通过串行口传送给PC机以便由PC机串行口的命令对单片机进行控制,同时通过打印机或显示器向用户随时提供各种统计报表和整个控制过程的具体数据。在这样的分布式控制系统中,单片机与微机之间的多路通信是整个系统的关键,本文将介绍在提高通信的准
[单片机]
单片机开发板是什么?
单片机开发板是什么呢?简单来说,它是指集成了许多单片的外围器件,如LED 灯,数码管,按键,行列式按键,步进电机,伺服电机,液晶显示等等用来学习,实验,开发等使用的板子,是一种实验设备(单片机编程)。 单片机开发板是在正式批量生产产品前,对产品进行设计和开发时使用的单片机,当我们对理论知识的学习有了一定的基础,单片机开发板就是我们实践的工具(pic单片机),通过单片机开发板我们可以做一些实验,从而掌握所学的知识。实际应用中,单片机开发板有以下优势: (1)利用一个单片机开发板就可以编制不同的程序实现各种各样的功能,不用为了一个实验焊一块电路板了. (2)在开单片机发板上设计,调试好程序,就能方便地移植到产品上,只是有时要作适
[单片机]
MPLAB® X集成开发环境现已支持AVR®单片机
通常使用Microchip的PIC®单片机(MCU)并利用MPLAB生态系统进行开发工作的设计人员现在可以轻松评估AVR® MCU并将其融入到应用中。今天,随着美国微芯科技公司(Microchip Technology Inc)推出MPLAB® X集成开发环境(IDE)5.05版,目前暂属测试版,可支持大部分AVR MCU。未来的MPLAB版本还将加入更多增强的功能以及对其他AVR MCU的支持。当前和未来的AVR器件将继续受Atmel Studio 7和Atmel START支持。 MPLAB X IDE 5.05版提供跨平台且可扩展的统一开发体验,兼容Windows®、MacOS®和Linux®操作系统,设计人员可以
[嵌入式]
MPLAB® X集成<font color='red'>开发</font>环境现已支持AVR®<font color='red'>单片机</font>
PIC单片机开发技巧汇总
美国微芯公司(Microch{p Technology Inc.)开发的CM0S工艺PIC系列8位单片机(RISC微控制器),特别是采用内置第二代Flash存储器(40年存储寿命)的微控制器在快速应用 方面具有独到之处。由于其易用性和高可靠性,该系列微控制器稳居8位单片机全球出货量之首。PIC系列单片机具有指令集简洁、简单易学、速度高、功能强、 功耗低、价格低廉、体积小巧、适用性好及抗干扰能力强等特点,大量应用于汽车电气控制、电机控制、工业控制仪表和仪表、通信、家电、玩具、低功耗的测控应 用等领域,在国内越来越受到广大设计者的欢迎,微芯公司的单片机已经成为目前单片机世界的主流产品。 PIC 8位单片机内已经包含运算器、存储
[单片机]
PIC<font color='red'>单片机</font><font color='red'>开发</font>技巧汇总
基于单片机的非接触式高压验电器的开发
      设计思想与总体方案       1 非接触式验电器的设计思想       本次开发的验电器主要用于铁路中高压输电线路的监测工作,其设计要求是监测铁路中高压线路的运行情况,要求能正确判断高压线是否带电,并将有电、无电信号通过发光二极管显示出来,同时还要发出相应状态的语音提示信息。       另外,验电器通常安装在室外,因此本装置还要满足室外工作的要求。       2 总体设计方案和框图       本验电器以SPE61A单片机作为检测和控制核心。装置采用铜片式传感器监测高压线附近电场,将电场信号转化为电压信号后送往信号处理电路,信号处理电路将该模拟信号转换成直流的有电、无电的状态信号送往单片机。单
[单片机]
基于<font color='red'>单片机</font>的非接触式高压验电器的<font color='red'>开发</font>
基于S3C2410单片机串口应用程序的开发
  0 引言   ARM ADS全称为ARM Developer suite(ARM开发套件)。是ARM公司推出的ARM系列处理器集成开发工具,使用非常广泛,目前最高版本的是1.2,它取代了早期的ADS1.1和 ADS1.0。它除了可以安装在Windows NT4、Windows98和Windows95操作系统下,还支持Windows XP和Windows Me操作系统。ADS由命令行开发工具、ARM实时库、GuI开发环境(CodeWarrior和AXD)、实用程序和支持软件组成。有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。命令行开发工具完成将源代码编译,连接成可执行代码的功能,包手舌:a
[单片机]
基于S3C2410<font color='red'>单片机</font>串口应用程序的<font color='red'>开发</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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