正确理解flash ROM导入器(第二部分)

ZDNet软件频道 时间:2003-07-29 作者:ZDNet China |  我要评论()
本文关键词:embedded
上一次,我们已经讨论了flash只读存储器导入器的关键作用,并阅读了导入器要运行的不同步骤,现在让我们继续查看flash只读存储器导入器其他的关键作用。
本文译自Builder.com,未经许可请勿转载Flash ROM(只读存储器)导入器对使用非容易丢失的、可重复编写的flash只读存储器的装置的开发起着重要的作用。上一次,我们已经讨论了flash只读存储器导入器的关键作用,并阅读了导入器要运行的不同步骤,包括:初始化硬件,检查checksums(校验和),返回新程序的代码等。现在让我们继续查看flash只读存储器导入器其他的关键作用。

在RAM中执行flash程序

绝大多数的flash只读存储器不能在写入的同时读出(那些“读写同时进行”的装置除外),所以你不能把flash程序复制到RAM(具体的是不能将全部的导入器复制到RAM),特别是在解锁、更改、重新编程flash只读存储器之前。

返回一个新的flash只读存储器图象

如果你有足够的RAM(请注意在导入过程中绝大多数的RAM是“空”的),所以flash可重新编程的代码可以在重新对ROM装置编程之前返回所有的flash只读存储图象到RAM。这一方式可以在解锁、更改、重新编程之前核实只读存储器图象的校验和。

不要将导入块本身包含在新的flash只读存储器图象文件中,因为一般不会随意对flash只读存储器重新编程。如果你不能将所有的图象从RAM导入到ROM,你将很有必要更改和重新编写导入块,因为这些数据都会传递到导入器。

请注意务必在编写flash只读存储器之后验证校验和,以确保所有的工作都能正常运行。

从导入器传递到文件

如果flash只读存储器已经核实程序的代码是正确,可以通过程序中特定位置实现对程序的控制。程序中特定位置可以是其他导入器的起始位置,其他导入器也是执行系统的初始化和准备高等级的环境。因为其他导入器位于flash只读存储器的区域内,你可以随意对程序进行修改。

从ROM复制程序到RAM

如果在RAM中运行程序代码,在起动RAM程序之前有时候需要将程序代码从flash只读存储器复制到RAM。如果可能,你应该还要安排其他导入器执行这样的复制。

这对你在以后的修改是有好处的,特别是当你需要更改RAM位置时。例如,软件修改只需要复制flash只读存储器部分代码到RAM,所以你应该不要把这些代码放在受保护的块中。

最后,不要忘记,当flash只读存储器不受任何损坏时,将一些调用导入器的方式包含在程序中,这样你才可以在一般的装置中执行软件的更新。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134