公开/公告号CN101789265A
专利类型发明专利
公开/公告日2010-07-28
原文格式PDF
申请/专利权人 芯通科技(成都)有限公司;
申请/专利号CN200910312763.9
发明设计人 周祺睿;
申请日2009-12-31
分类号G11C16/10;
代理机构成都九鼎天元知识产权代理有限公司;
代理人熊晓果
地址 610041 四川省成都市高新区天府大道南延线高新孵化园6号楼3层
入库时间 2023-12-18 00:05:42
法律状态公告日
法律状态信息
法律状态
2015-02-25
未缴年费专利权终止 IPC(主分类):G11C16/10 授权公告日:20121114 终止日期:20131231 申请日:20091231
专利权的终止
2012-11-14
授权
授权
2012-05-30
著录事项变更 IPC(主分类):G11C16/10 变更前: 变更后: 申请日:20091231
著录事项变更
2010-09-22
实质审查的生效 IPC(主分类):G11C16/10 申请日:20091231
实质审查的生效
2010-07-28
公开
公开
技术领域
本发明涉及PowerPC系列处理器,尤其是涉及一种对PowerPC系统FLASH快速编程的方法。
背景技术
PowerPC系列处理器在各种通信电子产品中有着广泛的应用,在这些嵌入式应用中,一般使用FLASH存储代码和数据。FLASH芯片在出厂时是没有任何内容的,需要使用者自行对其进行编程,当然也可以要求FLASH厂商或者第三方按照客户的要求写入定制的数据,但这样需要有一定数量的订单或者是支付一定的费用。在实际应用中,往往是在完成了PCB的装配之后,再通过板上的处理器对其进行编程的。
对已经装配在PCB上的FLASH编程,可以将在设计PCB时将FLASH的引脚引至一个插座,使用编程器通过该插座对其编程。但FLASH的引脚数目很多(尤其是NOR-FLASH),这种方法并不实用。也可以利用处理器的JTAG接口,通过该接口可以传输要编程的数据和控制其总线进行编程操作,但这种方法的缺点是使用较昂贵的调试器和复杂的IDE软件操作,效率很低。使用一种快速的FLASH编程的方法可以大大的提高效率和降低成本。
发明内容
本发明的目的是提供一种生产效率高、成本低的对PowerPC系统FLASH快速编程的方法。
为了达到上述目的,本发明采用如下技术方案:一种对PowerPC系统FLASH快速编程的方法,首先利用PowerPC处理器Boot Sequencer的寄存器初始化功能从外部启动小型的Bootloader I,即利用Boot Sequencer配置寄存器的功能加载和运行一个小型的BootloaderI;其次,Bootloader I使用串行接口从存储器存储下载FLASH镜像文件或者是功能完整的BootloaderII,即BootloaderI启动后通过SPI等串行接口下载第二级Bootloader II或者是直接下载FLASH镜像文件,如果Bootloader I是使用串行接口从存储器存储下载BootloaderII,则BootloaderII通过高速接口下载镜像文件,即Bootloader II可以通过更高速的接口下载文件尺寸更大的镜像文件,如果Bootloader I使用串行接口从存储器存储下载FLASH镜像文件,则烧写结束。
所述Bootloader II烧写JFFS这样的文件时,对剩余FLASH扇区进行CLEAN-MARKER的标记。
所述串行接口为SPI接口或NAND FLASH接口或SD接口或MMC接口等插接件易于连接的接口。
所述高速接口为以太网或高速同步串口或USB接口或蓝牙接口。
本发明中,许多PowerPC处理器都包含一个叫做Boot Sequencer功能模块,它可以初始化处理器的一些关键寄存器配置。它的初始化功能工作原理大致如下:当处理器复位后,如果硬件引脚选择了BootSequncer(是启动顺序的)模式,内部的Boot Sequencer模块开始从外部的IIC存储器取出寄存器配置数据(包括寄存器的地址和数据),然后把对应的数据写入相应的地址里。利用这个功能也可以对处理器的SDRAM(同步动态随机存取存储器)控制器进行正确的配置,然后将一个小型的Bootloader I拷贝到SDRAM中去,并执行。利用这个小型的Bootloader I可以通过SPI等接口将存储在外部存储器的FLASH镜像数据或是功能完善的BootloaderII烧写到FLASH中去。之所以使用一个小型的Bootloader I,是因为IIC总线的能够访问的空间有限,最大只能访问64KB的地址空间,再加上Boot Sequencer需要同时存储地址和数据,Bootloader I的大小有非常严格的限制,也只能实现有限的功能。SPI等接口的存储器则可以存储较大的文件。Bootloader II将支持高速的通信接口,如以太网等,可以将体积更大的文件下载到本地,并烧写到FLASH中去。对于像JFFS这样的文件系统,还可以在其分区的剩余扇区写入CLEAN-MARKER的标记。这样系统在初次对文件系统进行写入的时间会大大的降低。
IIC接口和SPI接口引脚很少,将IIC存储器、SPI存储器和启动跳线接口以子卡或者工装的形式连接到主板上,当主板复位之后,上述编程步骤便可以自动完成,极大的减少了操作的步骤和时间。
本发明的有益效果是:可以大大提高生产效率和降低成本,编程步骤可以自动完成,极大的减少了操作步骤和操作时间。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为嵌入式PowerPC系统的FLASH分区示例图;
图2为存储器连接示意图;
图3为一级Bootloader(Bootloader I)烧写FLASH的流程图;
图4为两级Bootloader(Bootloader II)烧写FLASH的流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
一种对PowerPC系统FLASH快速编程的方法,首先利用PowerPC处理器Boot Sequencer的寄存器初始化功能从外部启动小型的BootloaderI,取决于是否利用Boot Sequencer加载可执行的程序数据;其次,Bootloader I使用SPI等串行接口从存储器存储下载FLASH镜像或者是功能完整的BootloaderII,接口不仅限于SPI接口,接插件易于连接的接口都行,如NANDFLASH接口或SD接口或MMC接口,在此步骤中,如果Bootloader I是使用SPI等串行接口从存储器存储下载FLASH镜像文件,那烧写结束。如果Bootloader I是使用SPI等串行接口从存储器存储下载功能完整的BootloaderII,最后,Bootloader II还会通过以太网等高速接口传输更大的数据文件,即Bootloader II还会通过以太网等高速接口下载镜像文件,高速接口不仅限于以太网口,还可以是高速同步串口或USB接口或蓝牙接口。
在Bootloader II烧写JFFS文件时,对剩余FLASH扇区进行CLEAN-MARKER的标记,不仅限于JFFS文件系统,只要该文件系统需要在空闲扇区作出标志都可以。
一般的嵌入式PowerPC系统的FLASH数据如图1所示,各个分区可以作为单独的文件保存,也可以将FLASH镜像制作成一个文件。当整个FLASH镜像不超过SPIROM的大小时,可以通过BootloaderI直接烧入,超过尺寸时,可以通过Bootloader II通过网络分别传输各个分区的镜像,然后烧写到FLASH。整个系统的连接如图2所示,启动配置跳线、IIC ROM和SPIROM通过连接器连接到主板。
当SPIROM存储整个FLASH镜像时,整个编程过程如图3所示。MPU复位之后,BootSequencer通过IIC总线将SDRAM控制器的寄存器配置好,随后将Bootloader I的代码搬移到SDRAM并运行。BootloaderI将SPI ROM中的FLASH镜像读出,然后烧写到FLASH中去。整个操作完成,移去连接器后重启系统,MPU便可以从FLASH里启动了。
当整个镜像较大时,每个分区的内容分成单独的文件。整个编程过程如图4所示,前面的步骤与上一种情况相似。不同的是,BootloaderI将SPIROM里的Bootloader II搬移到内存并运行。Bootloader II的功能完善,支持高速网络设备,它将每个分区的镜像文件下载并写入FLASH。针对JFFS类型的文件系统时,还将空闲扇区的标志写入,而后整个操作完成。
BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
机译: 具有flash-rom控制装置的PC系统和用于保护存储在flash-ROM中的BIOS的方法
机译: 快速FLASH EPROM编程和预编程电路设计
机译: 快速FLASH EPROM编程和预编程电路设计