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

ZDNet软件频道 时间:2003-07-25 作者:ZDNet China |  我要评论()
本文关键词:embedded
Flash ROM(只读存储器)导入器在嵌入式装置程序设计中起着重要作用。现在让我们看看flash只读存储器导入器运行的特定行为。
本文译自Builder.com,未经许可请勿转载 Flash ROM(只读存储器)导入器在嵌入式装置程序设计中起着重要作用。这些嵌入式装置使用的是非容易丢失的、可重复编写的flash只读存储器。

导入器的代码是系统重置之后CPU最先运行的代码,所以它起到对装置进行初始化的作用。它也能够将flash只读存储器的其他部分进行重新设置,包括在flash只读存储器发生损坏情况下的主程序的代码。

因为这些关键的作用,导入器通常会占据flash只读存储器中的特定导入块,这些特定导入块一般是突发擦除或损坏的硬件保护。

现在让我们看看flash只读存储器导入器运行的特定行为。

初始化硬件

系统重新设置之后,导入器立即运行基本的硬件初始化。这一过程包括访问RAM,建立块,PLLs,以及配置其他关键的外围设备。

从起动块来运行初始化设置是一个好办法,你也可以使用其他的初始化方法来加强程序代码的完整性。

检查checksums(校验和)

硬件设置之后,你可以运行程序代码。在导入过程中,你不能单纯地相信flash只读存储器中的内容,因为存储器中可能受得一些来自外界的损坏。所以,导入器应该计算程序的校验和或者CRC,然后利用代码中存放的校验和进行比较。

你可以使用(或编写)一个程序来计算或者存储一个校验和到flash只读存储器的图解文件。当然一定确保校验和存储在一个固定的偏移量,这样导入器才可以查找到它。

返回新程序的代码

如果校验和测试表明的是一个受损坏的ROM,导入器就进行flash可重新编程的块。这一过程中可以通过装置的接口来获取一个新的flash的ROM二进制图象。一般常常选择的是RS232系列,USB接口,或者以太网接口,这正如拥有一台标准PC机的用户可以将新的ROM图象传递到你的装置上。

许多嵌入装置都支持一些复杂的接口,如USB 或者 Ethernet+TCP/IP的协议。但这些都不是导入器中最容易的执行方式。最简单的执行方式是:使用UDP协议而不是TCP协议。

下一章,我们将继续讲述flash只读存储器,我们将讨论如何从RAM执行flash程序,返回一个新的flash ROM图象,从导入器过滤到程序,从ROM复制程序到RAM。



责任编辑:炒饭

欢迎评论或投稿


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