这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » FLASH 各位大侠,下面关于FLASH编程的论述对吗?

共2条 1/1 1 跳转至

FLASH 各位大侠,下面关于FLASH编程的论述对吗?

院士
2006-09-17 18:14:16     打赏
FLASH 各位大侠,下面关于FLASH编程的论述对吗?



关键词: FLASH     各位     大侠     下面     关于     编程     论述         

院士
2006-12-22 22:43:00     打赏
2楼
问 在一片文章中看到如下论述:
  Flash 的可自编程性Self-Programmability 是指用
Flash 存储器中的驻留软件或程序对Flash 存储器进行擦
除/ 编程但是要求运行程序代码的存储区与待编程
的存储区不在同一模块中因此只有一个片上Flash 存
储器模块的微处理器是不能在进行擦除/ 编程Flash 操
作的同时执行程序的。
  可其他文章中又说只有正在执行擦除/ 编程的扇区(块)不可由CPU访问,也就是说其他扇区中的程序还是可以执行的吗?
  请教,到底在擦除/ 编程FLASH时是整个FLASH无法访问还是单个扇区??谢谢! 1: 没人能帮我吗?呜呜呜 2: Flash在擦写时不能访问,这也是IAP是要关闭中断的原因。 3: 那么2104不能实现利用存在于FLASH中的程序来向FLASH中写数据了zlgARM你好,我是想利用lpc2104控制一个GPRS模块来制作一个无线数据传输终端,其中我想给该终端实现空中软件升级功能,即由远程服务器通过GPRS模块将代码下载到2104中,其中2104的UART1于GPRS模块连接,UART0与数据采集系统连接。我的思路是:在2104中运行一个程序(固化在FLASH中)正常情况下它将UART0接收到的数据通过UART1发出。当从UART1接收到某特殊字符如【PROMOTE】时则将此后UART1接收到的数据写入FLASH中的预定地址(此时的UART1接收的为欲升级的代码)。
   现在的问题是当程序将UART1接收到的数据写入FLASH时,无法再从UART1继续接收数据(因为此时FLASH不可访问),则远程服务器发送的代码丢失,无法完成空中软件升级。请教,可以用什么方法实现空中软件升级功能? 4: 个人看法我觉得可以在Flash的高扇区留一个扇区,专门存放升级用的程序。当正常程序接收到升级指令后,执行升级代码。
升级程序从串口不断接收数据包,每个数据包含512字节的程序代码和该代码在Flash中的存储地址(必须使用严格的算法对数据包检错)。然后根据数据包的信息,将该数据包中的代码数据写入Flash的指定位置。如果中途数据包出错,升级程序将自动申请重发。
我觉得在升级过程中,中断向量表非常重要,最好第一扇区不要升级,或者在擦除后马上恢复。否则如果在升级过程中系统意外复位,可能导致没有有效用户代码可以执行。
5: 请问yanhan在升级过程中升级程序是在FLASH中运行还是在RAM中?升级程序可以在FLASH中运行吗?

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]