TS201S型DSP引导程序加载方法研究
发布时间:2007/8/20 0:00:00 访问次数:421
摘要:介绍ADI公司TigerSHARC系列DSp的引导程序加载原理与应用。给出TigerSHARC系列DSP程序加载的几种模式,主要以TS20lS型DSP为例说明单DSP系统程序加载的过程和方法。该设计在TigerSHARC系列DSP中具有通用性。可以方便地应用于其他DSP引导程序加载的设计。
关键词:DSP;TigerSHARC;引导程序;加载;接口;TS201S
随着DSP技术的发展,DSP的功能越来越强,类型也越来越多。由于DSP内部结构的特点,DSP的算法程序一般都存储在外部的非易失性存储器中,在系统上电后,要将算法程序从外部存储器加载到DSP中,再进行相应的数据算法处理。
TS20lS是ADI公司TigerSHARC系列中集成了定点和浮点计算功能的高速DSP。处理器工作在600MHz,单周期能执行4条指令,每秒能进行3.4亿次乘累加和2.8亿次浮点操作,是面向通信和视频领域的高端DSP。TS201S包括24Mbit的片内DRAM;1个14通道的DMA控制器:4个链路口可用于和其他DSP进行无缝联接。以组成一个多DSP处理器系统,每个链路口的数据率可达1GB/s;集成SDRAM控制器最大支持256M x 32bit的内存容量,方便和外部SDRAM连接。TS20lS非常适合对大数据量数据处理实时性要求高的应用领域。
TigerSHARC系列的DSP接口丰富,其引导程序的加载方法也非常灵活,可根据实际系统设计的需要灵活选用。
1 TigerSHARC系列DSP的引导模式
DSP的引导就是在DSP系统复位的情况下从DSP外部存储器装载算法程序代码的过程。TS201S支持二种引导模式:主引导(master boot)模式和从引导(slave boot)模式。
在主引导模式下,TS201S作为主动方,用外部口输出地址、读、引导方式选择(BMS)等控制信号,从EPROM或Flash中加载代码。在从引导模式下,TS201S作为被动方,不向外部输出控制信号,外部主机或其他设备向TS201S的主机、链路口传送要加载的代码,TS201S仅启动若干DMA通道,并执行第一个DMA所接收的加载核。
另外,TS201S还可以选择一种“非引导”模式,或利用TS20lS的(仿真器)EZ—ICE加载程序,这种方式可直接将程序加载进TS201S内部的RAM或外部的RAM中,DSP直接从RAM中运行程序,常用于DSP的调试过程。
通过对TS20lS的BMS引脚的设置,可将DSP的引导过程设置成主引导模式或从引导模式。在DSP复位期间,如果BMS低电平,则选择主引导模式,DSP从外部EPROM或Flash中加载程序;若BMS引脚为高电平,则进入从引导模式,DSP为空闲状态,等待主机或链路口加载程序。2种引导模式都有相同的加载过程。具体步骤如下:
(1)TS201S自动启动一个DMA.自动把256个字(32位)传送到内部存储器的地址0x00-0xFF。
(2)TS201S执行上述256个字的指令(加载核),加载核启动其他DMA,把后续指令和数据加载到内部和/或外部存储器中。
(3)加载核自我覆盖,执行DSP算法程序。
2 单TS201S的程序加载接口设计
TigerSHARC系列中的TS20lS作为单个DSP使用时,主要有3种引导方式。
2.1外部EPROM引导
外部EPROM引导为主引导模式,是最常用的引导模式。在该模式下,BMS引脚和RD引脚作为EPROM的片选和输出使能引脚。EPROM的8位数据线接TS201S的DATA0-DATA7。TS20lS最大支持16M的EPROM地址空间,其低位地址引脚与EPROM的地址引脚相连。对于多处理器共享总线的系统,可用一个EPROM对所有TS201S加载。图1所示为ST公司的Flash(DSM2150)与TS201S程序加载接口设计实例。
复位后,DMA通道0被自动配置好,DMA相应的2个TCB寄存器(Transfer Control Block)被初始化,然后从8位的外部EPROM地址0开始,把一个256字的加载核传送到内部存储器地址0x00-0xFFo。DMA通道0的中断矢量初始化为内部存储器地址0x00。当DMA通道0传送完成时,产生中断,TS20lS开始从0x00执行加载核。然后,加载核通过一串单字DMA传送将后续应用代码和数据加载。最后,加载核启动一个256字的DMA,使其自身被用户应用程序代码覆盖。当该DMA过程完成时,DMA通道0的中断矢量人口地址为内部存储器地址0,用户的应用代码从地址0开始执行。TS20lS的外部接口是32位数据宽度,所以TS201S在通过DMA通道加载程序时,自动使用8到32位的专用打包方式,低位在前,完成从EPR()M的DMA读。只有DMA通道0支持该专用打包方式,所以引导程序必须用DMA0。
另外,在算法应用程序运行阶段,内核不能用指令使能BMS的方式直接对EPROM进行访问,但可通过DMA通道方式访问。这是因为EPROM是字节寻址空间,它不属于TS201S的存储器空间。外部EPROM所占的最大存储空间为16M字节,由于E-PROM是慢速外设,对EPROM的每一个读访问,TS201S都要等待16个周期。TS201S对外部E-PROM的读时序如图2所示。
2.2主机引导
采用主机(HOST)引导模式时,32位或64位主机通过外部的数据和地址总线完成对TS201S的引导。在主机引导方式下TS201S可用任何
摘要:介绍ADI公司TigerSHARC系列DSp的引导程序加载原理与应用。给出TigerSHARC系列DSP程序加载的几种模式,主要以TS20lS型DSP为例说明单DSP系统程序加载的过程和方法。该设计在TigerSHARC系列DSP中具有通用性。可以方便地应用于其他DSP引导程序加载的设计。
关键词:DSP;TigerSHARC;引导程序;加载;接口;TS201S
随着DSP技术的发展,DSP的功能越来越强,类型也越来越多。由于DSP内部结构的特点,DSP的算法程序一般都存储在外部的非易失性存储器中,在系统上电后,要将算法程序从外部存储器加载到DSP中,再进行相应的数据算法处理。
TS20lS是ADI公司TigerSHARC系列中集成了定点和浮点计算功能的高速DSP。处理器工作在600MHz,单周期能执行4条指令,每秒能进行3.4亿次乘累加和2.8亿次浮点操作,是面向通信和视频领域的高端DSP。TS201S包括24Mbit的片内DRAM;1个14通道的DMA控制器:4个链路口可用于和其他DSP进行无缝联接。以组成一个多DSP处理器系统,每个链路口的数据率可达1GB/s;集成SDRAM控制器最大支持256M x 32bit的内存容量,方便和外部SDRAM连接。TS20lS非常适合对大数据量数据处理实时性要求高的应用领域。
TigerSHARC系列的DSP接口丰富,其引导程序的加载方法也非常灵活,可根据实际系统设计的需要灵活选用。
1 TigerSHARC系列DSP的引导模式
DSP的引导就是在DSP系统复位的情况下从DSP外部存储器装载算法程序代码的过程。TS201S支持二种引导模式:主引导(master boot)模式和从引导(slave boot)模式。
在主引导模式下,TS201S作为主动方,用外部口输出地址、读、引导方式选择(BMS)等控制信号,从EPROM或Flash中加载代码。在从引导模式下,TS201S作为被动方,不向外部输出控制信号,外部主机或其他设备向TS201S的主机、链路口传送要加载的代码,TS201S仅启动若干DMA通道,并执行第一个DMA所接收的加载核。
另外,TS201S还可以选择一种“非引导”模式,或利用TS20lS的(仿真器)EZ—ICE加载程序,这种方式可直接将程序加载进TS201S内部的RAM或外部的RAM中,DSP直接从RAM中运行程序,常用于DSP的调试过程。
通过对TS20lS的BMS引脚的设置,可将DSP的引导过程设置成主引导模式或从引导模式。在DSP复位期间,如果BMS低电平,则选择主引导模式,DSP从外部EPROM或Flash中加载程序;若BMS引脚为高电平,则进入从引导模式,DSP为空闲状态,等待主机或链路口加载程序。2种引导模式都有相同的加载过程。具体步骤如下:
(1)TS201S自动启动一个DMA.自动把256个字(32位)传送到内部存储器的地址0x00-0xFF。
(2)TS201S执行上述256个字的指令(加载核),加载核启动其他DMA,把后续指令和数据加载到内部和/或外部存储器中。
(3)加载核自我覆盖,执行DSP算法程序。
2 单TS201S的程序加载接口设计
TigerSHARC系列中的TS20lS作为单个DSP使用时,主要有3种引导方式。
2.1外部EPROM引导
外部EPROM引导为主引导模式,是最常用的引导模式。在该模式下,BMS引脚和RD引脚作为EPROM的片选和输出使能引脚。EPROM的8位数据线接TS201S的DATA0-DATA7。TS20lS最大支持16M的EPROM地址空间,其低位地址引脚与EPROM的地址引脚相连。对于多处理器共享总线的系统,可用一个EPROM对所有TS201S加载。图1所示为ST公司的Flash(DSM2150)与TS201S程序加载接口设计实例。
复位后,DMA通道0被自动配置好,DMA相应的2个TCB寄存器(Transfer Control Block)被初始化,然后从8位的外部EPROM地址0开始,把一个256字的加载核传送到内部存储器地址0x00-0xFFo。DMA通道0的中断矢量初始化为内部存储器地址0x00。当DMA通道0传送完成时,产生中断,TS20lS开始从0x00执行加载核。然后,加载核通过一串单字DMA传送将后续应用代码和数据加载。最后,加载核启动一个256字的DMA,使其自身被用户应用程序代码覆盖。当该DMA过程完成时,DMA通道0的中断矢量人口地址为内部存储器地址0,用户的应用代码从地址0开始执行。TS20lS的外部接口是32位数据宽度,所以TS201S在通过DMA通道加载程序时,自动使用8到32位的专用打包方式,低位在前,完成从EPR()M的DMA读。只有DMA通道0支持该专用打包方式,所以引导程序必须用DMA0。
另外,在算法应用程序运行阶段,内核不能用指令使能BMS的方式直接对EPROM进行访问,但可通过DMA通道方式访问。这是因为EPROM是字节寻址空间,它不属于TS201S的存储器空间。外部EPROM所占的最大存储空间为16M字节,由于E-PROM是慢速外设,对EPROM的每一个读访问,TS201S都要等待16个周期。TS201S对外部E-PROM的读时序如图2所示。
2.2主机引导
采用主机(HOST)引导模式时,32位或64位主机通过外部的数据和地址总线完成对TS201S的引导。在主机引导方式下TS201S可用任何