C8051F020中Flash存储器的在线擦写方法_第1页
C8051F020中Flash存储器的在线擦写方法_第2页
C8051F020中Flash存储器的在线擦写方法_第3页
C8051F020中Flash存储器的在线擦写方法_第4页
C8051F020中Flash存储器的在线擦写方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、73Microcontrollers & E mbedded Systems 中存储器的在线擦写方法哈尔滨工程大学韩红芳孙守昌从存储器的结构可以知道,的存储器中,不仅具有的存储器(其地址为,该存储器可以用来存储程序代码和非易失性数据),还有一个附加的的扇区(该扇区位于)。的存储器中附加的的扇区在存储器中是双映射的,其逻辑地址范围是。许多单片机应用场合需要使用掉电不丢失内容的数据存储器,一般用来实现。为节省成本,可使用的作为数据存储器。存储器的读擦写操作单片机内部可以通过接口或者由软件使用指令对存储器进行在系统编程,每次一个字节。一个位一旦被清,必须经过擦除才能回到状态。在进行从新编程之

2、前,一般要将数据字节擦除(置为)。为了保证操作正确,写和擦除操作由硬件自动定时,不需要进行数据查询来判断写擦除操作何时结束。用软件对编程的过程中应该注意如下几点:存储器用,指令读取;存储器用,指令写入;页以字节分界,依此类推;写操作只能写入,因此在写一个字节之前包含该字节的页必须首先被擦除,使该页中的所有位都为;在进行擦除之前,必须将和置;页的擦除操作是将和置,并向该页字节中的任一字节进行写操作;含有读锁定字节和写擦除锁定字节的页不能由用户软件擦除,但是该页可以由用户软件写入,该页只能通过接口擦除。用软件对进行写操作时步骤如下:为了避免对存储器的误写,在为期间禁止中断;置位(),以允许存储器的

3、写擦除操作;置位()以允许扇区擦除;用指令向待擦除扇区的任何一个地址写入一个数据字节;清除,以禁止扇区擦除;置位(),以允许写入;用指令向刚擦除的扇区中所期望的地址写入数据字节,并重复该步直到结束(写入的字节数可以是一个字节到整个扇区的任何值);清除,以禁止写;重新允许中断。在线擦写程序下面给出中存储器存储区在线读写的程序。()在线读程序为了更改中存储器存储区中一个多字节数据集中的某一个字节,整个数据集必须首先被保存到一个临时的存储区;然后将扇区擦除,更新数据;最后将数据集写回到原扇区。的扇区规模使数据更新更加容易,可以使用内部数据作为临时存储区,而不浪费程序存储器空间。由于读操作是用指令实现

4、的,因此用于读操作的指针必须是类型。下面是将存储器中的数据拷贝到存放于内部的数组中的样例程序。();程序存储器空间的指针(),指向待读地址;(;);()在线写程序在对存储器进行写操作前,必须将其进行擦除。由于写操作是用指令实现的,所以用于写或擦除操作的指针必须是 80 备驱动程序使用时,将返回。如果是动态分配主设备号成功,此函数将返回所分配的主设备号。如果操作成功,设备名就会出现在文件里。初始化部分一般还负责给设备驱动程序申请系统资源,包括内存、中断、时钟、端口等,这些资源也可以在子程序或别的地方申请。在这些资源不用的时候,应该释放它们,以利于资源的共享。的设备注册函数设计如下。();(,);

5、端口的申请任何进程都可以访问任何一个端口。此时系统无法保证对端口的操作不会发生冲突,甚至会因此而使系统崩溃。因此,在使用端口前,也应该检查此端口是否已有别的程序在使用,若没有,再把此端口标记为正在使用,在使用完以后释放它。编写驱动程序时需要用到如下几个函数:(,);(,);(,);调用这些函数时的参数为:表示所申请端口的起始地址;为所要申请的从开始的端口数;为设备名,将会出现在文件里。返回表示端口空闲,否则为正在被使用。在申请了端口之后,就可以用如下几个函数来访问端口:();();(,);(,);其中和插入了一定的延时,以适应某些慢的端口。在用户程序调用、时,因为进程的运行状态由用户态变为核心

6、态,地址空间也变为核心地址空间。而、中的参数是指向用户程序的私有地址空间,所以不能直接访问,必须通过以下两个系统函数来访问用户程序的私有地址空间。(,);(,);由用户程序地址空间往核心地址空间复制,则反之。参数为复制的目的指针,为源指针,为要复制的字节数。定时机制的实现为防止看门狗电路意外复位,系统需要在固定的时间间隔内重置看门狗计数器的值,因此在系统中就需要用到定时器。在系统中,时钟是由系统接管的。如果设备驱动程序中需要使用时钟的话,就需要向系统申请定时器资源。定时器部分的系统调用主要由以下三个函数完成:();();();其中结构体的内容如下所示:类型。下面是将数组中的值写入到存储器的样例程序。();程序存储器空间的指针(),指向待写地址;一般指针;关中断;允许对进行写擦除;指向的首地址;擦除该扇区;禁止对的擦除;将数组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论