基于PCI总线的DSP系统应用程序的更新
摘要:当需要更新DSP业务系统的应用软件时,为了避免利用仿真器所带来的不便和硬件损坏,采用了PCI总线技术来取代仿真器,完成系统应用程序的更新;针对带有外围FLASH的DSP系统,设计了一整套DSP外围FLASH启动流程和应用程序的PCI更新方法;通过实验证明,DSP业务系统可以通过上位机利用PCI总线完成DSP外围FLASH的应用程序的更新,同时在DSP上电启动时,也可以根据上位机的命令,选择贮存在FLASH中不同的应用程序加载运行。
关键词:DSP业务系统;PCI;FLASH自举;二级引导
在DSP嵌入式业务系统设备中,一般采用片外FLASH自举方式来实现DSP端应用程序的加载和启动。当DSP业务系统需要更新应用程序时,则可通过仿真器连接JTAG口来控制DSP,完成DSP外围FLASH的应用程序更新。然而,对于成型、交货的设备产品,DSP业务系统板上一般不会留有JTAG口,或在机箱中很难插拔仿真器;另一方面,对已交货产品经常插拔仿真器,会对硬件设备有所损伤,使设备硬件处于非控状态。
如果系统设计使用了PCI作为系统通信总线,则可以通过PCI来完成DSP业务系统应用程序的更新和加载。本设计以TI公司TMS320C6416T(简称C6416)芯片为例,来说明通过PCI总线来更新DSP系统应用程序的过程;同时本文也设计了一种C6416的上电启动方式。
1 C6416的PCI特性
1.1 C6416 PCI传输机理
C6416片内集成了PCI的控制器,通过PCI接口C6416可以完成同PCI总线上其他设备的数据交换。图1描述了C6416的结构框图。PCI接口通过EDMA控制寄存器可以访问C6416的片内存储器/Cache,或者通过EMIF接口访问片外存储器。
从图1可看出,PCI和EMIF接口都是通过EDMA传输控制器来与L2存储器/Cache联系的。EDMA传输控制寄存器主要用来控制L2存储器和设备外围间的数据通信,包括传输请求队列、地址产生器等;而通道控制器是用户可编程部分,用户可以设置相应的寄存器,方便的设置数据传输方式(一维、二维)、事件触发选择、传输通道选择等。
所有的EDMA传输请求可以由L2控制器、HPI/PCI和EDMA通道三种渠道发出。一个传输请求一旦递交,将通过链接通道移送到传输交叉开关(TC),在这里它将进行优先级设置与处理。请求链为请求提供了一个内在的优先机制。假定一个请求在同一周期中只递交一次请求,那么靠近TC的首先到达,最远的最后到达。但进入TC的请求,则会进入传输请求队列,按照队列优先级进行相应处理,如图2所示。
HPI/PCI自动产生传输请求来响应主机。这些请求具有Q2优先级且对用户是不可见的。HPI/PCI递交请求来进行固定模式的单一单元读、写和短数据猝发递增传输操作。
评论