一种支持ISP的Flash在嵌入式设计中的应用
1 引言
在基于VxWorks的嵌入式系统开发过程中,板卡支持包BSP(Board Support Package)的开发是非常重要而又闲难的一个环节。因为不能确定硬件系统是否正常丁作,而后续应用开发都是以此为基础。
在实际开发中,为了提高开发效率,大多是采用以一个与目标板硬件相似的BSP为模板,并在此基础上修改移植。在这个过程中.除了CPU以外,另一个重要的器件就是装有启动程序的Flash器件。
2 系统介绍
采用高性能PowerPC系列器件PPC440EPx为核心设计的一款符合CPCI标准的嵌入式单板计算机系统。
该系统集成了丰富的外设接口和调试接口,可用于设备控制、设备管理、通信设备中的通信控制、协议处理、路由处理和网关处理等。其主要是面向航空设备和军用车载设备的应用。
在调试阶段,系统的启动是通过执行Boot Flash中存储的bootrom映像文件完成的。Boot Flash器件采用ST公司的PSD835,通过EBC总线与PPC440EPx相连。EBC总线是PPC440EPx的并行总线。其可以与8位,16位或32位的外部设备通信,最多可支持6个不同时序要求的设备。其中,片选0分配给Boot Flash。上电时,PowerPC会自动访问BootFlash,进行系统初始化。操作系统是VxWorks,其映像文件放在NAND Flash中。
3 软件开发流程
软件系统的开发流程是:首先设计bootrom映像文件,并将其烧写到Flash器件中(该器件称为Boot ROM)。上电后,bootrom程序进行相应初始化后与Host主机通信,将操作系统映像文件下载到嵌入式系统平台的RAM中运行。如果程序不正确或需更新,则重新通过bootrom程序将新的映像文件下载到RAM中。
当所有程序都调试成功,整个系统作为产品发布。此时,则需将操作系统和应用程序映像文件烧写到在大容量的flash器件中(如NAND Flash),系统自动将从Flash中复制到RAM中执行。
4 bootrom设计方案的选择
bootrom应是一个短小精悍的程序,可初始化系统工作和通信接口(通常是串行接口和以太网接口);系统作为产品发布无需bootrom程序;调试 bootrom时,需频繁地将修改后的映像文件烧写到Boot ROM中。实现该Boot ROM电路有多种方案,如表1所示.
5 PSD835在嵌入式系统中的应用
5.1 硬件电路设计
该系统使用PSD835的主Flash作为Boot ROM。同时,还使用该器件的PLD资源实现一些控制和初始化配置功能。如图1所示,PSD835的存储器通过其CPU接口与PPC440EPx的外部总线接口(EBC)相连。
在设计实际硬件电路时,应注意以下几点:
(1)因为最终产品要通过NAND Flash启动,因此片选0可通过拨码开关或CPLD分别在PSD835和NAND flash的片选信号之间切换。PPC440EPx有8个bootstrap选项(设置CPU的时钟、启动、寄存器的初始值等),可以使用CPLD进行改变;
(2)PPC440EPx的EBC总线无复用地址和数据信号。因此,数据总线与F端口相连。低16位的地址总线与PSD835的ADIO15~AD100相连,高位地址与A端口相连;
(3)PPC440EPx的EBC的数据总线的最高位是Data0,地址总线的最高位是Addr2。连接时,注意不要将顺序接反;
(4)为了提高编程速度,添加了2个JTAG信号:TERR和TSTAT。
在基于VxWorks的嵌入式系统开发过程中,板卡支持包BSP(Board Support Package)的开发是非常重要而又闲难的一个环节。因为不能确定硬件系统是否正常丁作,而后续应用开发都是以此为基础。
在实际开发中,为了提高开发效率,大多是采用以一个与目标板硬件相似的BSP为模板,并在此基础上修改移植。在这个过程中.除了CPU以外,另一个重要的器件就是装有启动程序的Flash器件。
2 系统介绍
采用高性能PowerPC系列器件PPC440EPx为核心设计的一款符合CPCI标准的嵌入式单板计算机系统。
该系统集成了丰富的外设接口和调试接口,可用于设备控制、设备管理、通信设备中的通信控制、协议处理、路由处理和网关处理等。其主要是面向航空设备和军用车载设备的应用。
在调试阶段,系统的启动是通过执行Boot Flash中存储的bootrom映像文件完成的。Boot Flash器件采用ST公司的PSD835,通过EBC总线与PPC440EPx相连。EBC总线是PPC440EPx的并行总线。其可以与8位,16位或32位的外部设备通信,最多可支持6个不同时序要求的设备。其中,片选0分配给Boot Flash。上电时,PowerPC会自动访问BootFlash,进行系统初始化。操作系统是VxWorks,其映像文件放在NAND Flash中。
3 软件开发流程
软件系统的开发流程是:首先设计bootrom映像文件,并将其烧写到Flash器件中(该器件称为Boot ROM)。上电后,bootrom程序进行相应初始化后与Host主机通信,将操作系统映像文件下载到嵌入式系统平台的RAM中运行。如果程序不正确或需更新,则重新通过bootrom程序将新的映像文件下载到RAM中。
当所有程序都调试成功,整个系统作为产品发布。此时,则需将操作系统和应用程序映像文件烧写到在大容量的flash器件中(如NAND Flash),系统自动将从Flash中复制到RAM中执行。
4 bootrom设计方案的选择
bootrom应是一个短小精悍的程序,可初始化系统工作和通信接口(通常是串行接口和以太网接口);系统作为产品发布无需bootrom程序;调试 bootrom时,需频繁地将修改后的映像文件烧写到Boot ROM中。实现该Boot ROM电路有多种方案,如表1所示.

5 PSD835在嵌入式系统中的应用
5.1 硬件电路设计
该系统使用PSD835的主Flash作为Boot ROM。同时,还使用该器件的PLD资源实现一些控制和初始化配置功能。如图1所示,PSD835的存储器通过其CPU接口与PPC440EPx的外部总线接口(EBC)相连。

在设计实际硬件电路时,应注意以下几点:
(1)因为最终产品要通过NAND Flash启动,因此片选0可通过拨码开关或CPLD分别在PSD835和NAND flash的片选信号之间切换。PPC440EPx有8个bootstrap选项(设置CPU的时钟、启动、寄存器的初始值等),可以使用CPLD进行改变;
(2)PPC440EPx的EBC总线无复用地址和数据信号。因此,数据总线与F端口相连。低16位的地址总线与PSD835的ADIO15~AD100相连,高位地址与A端口相连;
(3)PPC440EPx的EBC的数据总线的最高位是Data0,地址总线的最高位是Addr2。连接时,注意不要将顺序接反;
(4)为了提高编程速度,添加了2个JTAG信号:TERR和TSTAT。
文章出处:作者:西南林学院计算机科学系 张晴晖 李俊萩 文菠 荣剑
