如图20为Bootloader模式流程图,下列是Bootloader模式分析。
1.至FlashMemory:
在这个模式中,DSP会先跳去执行内部的FlashMemory地址(0x3F7FF6),所以使用者必需在0x3F7FF6这个地址烧录一段跳至Boot 主程序的机械码,如:LB_c_int00。
2.至H0SARAM:
在这个模式中,BootROM软件将设定F2812装置然后直接跳去地址0x3F8000(在H0SARAM内存方块的第一个地址)。
3.至OTP内存:
在这个模式中,BootROM软件将设定F2812装置然后直接跳去地址0x3D7800(在OTP内存方块之第一个地址)。
4.标准串行Boot模式(SCI):
在这个模式中,经由SCI-A端口加载程序代码到on-chip内存里,执后在内存里执行Boot程序。
5.SPIEEPROMBoot模式:
在这个模式中,经由SPI埠从外部EEPROM加载程序代码和数据到on-chip内存里。
6.从GPIO埠Boot:
在这个模式中,利用GPIOB从外部来加载程序代码和数据,这个模式分别支持8位和16位的数据串。
本文如需正确应用需结合英文原版资料配合查阅
R:读取;R/W:可读可写;-0=重置后的值
NOTE:EALLOW-protected register
表6 LOSPCP 缓存器位元说明表。
| 位元 | 名称 |
功能描述 |
| 15-3 | Reserved | 保留 |
| 2-0 | LSPCLK | 这些位元设定低速外围频率比(LSPCLK)与SYSCLKOUT的关系:
如果LOSPCP≠0,LSPCLK=SYSCLKOUT/(LOSPCPx2) 如果LOSPCP=0,LSPCLK =SYSCLKOUT =000,低速频率= SYSCLKOUT/1 =001,低速频率= SYSCLKOUT/2 =010,低速频率= SYSCLKOUT/4( 预设值) =011 ,低速频率= SYSCLKOUT/6 =100,低速频率= SYSCLKOUT/8 =101,低速频率= SYSCLKOUT/10 =110 ,低速频率= SYSCLKOUT/12 =111 ,低速频率= SYSCLKOUT/14 |
PCLKCR(外围频率控制缓存器)是用来允许或禁能各个外围模块的频率,当外围要使用时就必需将其频率允许,如此一来外围才能使用,而若不需使用的外围,可以将其频率关掉,如此可以达到节省功率的作用。如表7 所示为PCLKCR缓存器的格式,缓存器的位元说明如表8所示。
表7PCLKCR缓存器位元格式表*。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| Reserved | ECAN ENCLK | Reserved | MCBSP ENCLK | SCIB ENCLK | SCIA ENCLK | Reserved | SPI ENCLK |
| R-0 | R/W-0 | R-0 | R/W-0 | R/W-0 | R/W-0 | R-0 | R/W-0 |
| 7-4 | 3 | 2 | 1 | 0 |
| Reserved | ADC ENCLK | Reserved | EVB ENCLK | EVA ENCLK |
| R-0 | R/W-0 | R-0 | R/W-0 | R/W-0 |
R:读取;R/W:可读可写;-0=重置后的值
NOTE:EALLOW-protected register
*如果外围区块没有使用,则此外围的频率将可以被关掉已达成最小的电力消耗
表8PCLKCR缓存器位元说明表:
| 位元 | 名称 |
功能描述 |
| 15 | Reserved | 保留 |
| 14 | ECAN ENCLK | 如果此位元被设定,在CAN 外围范围内的系统频率将 被致能。在低电力操作下,此位将被使用者或重置设为0。 |
| 13 | Reserved | 保留 |
| 12 | MCBSP ENCLK | 如果此位元被设定,在McBSP外围范围内的低速频率(LSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
| 11 | SCIB ENCLK | 如果此位元被设定,在SCI-B 外围范围内的低速频率(LSPCLK)将被致能。在低电力操作下,此位元将被使用者或经由重置设为0。 |
| 10 | SCIA ENCLK | 如果此位元被设定,在SCI-A 外围范围内的低速频率(LSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
| 9 | Reserved | 保留 |
| 8 | SPIA ENCLK | 如果此位元被设定,在SPI 外围范围内的低速频率(LSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
| 7-4 | Reserved | 保留 |
| 3 | ADC ENCLK | 如果此位元被设定,在ADC 外围范围内的高速频率(HSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
| 2 | Reserved | 保留 |
| 1 | EVB ENCLK | 如果此位元被设定,在EV-B 外围范围内的高速频率(HSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
| 0 | EVA ENCLK | 如果此位元被设定,在EV-A 外围范围内的高速频率(HSPCLK)将被致能。在低电力操作下,此位将被使用者或经由重置设为0。 |
2.3内存结构介绍
2.3.1TMS320F2812内存映
如图4为TMS320F2812内存映像。“Low64K”之内存地址范围映像到240x的数据空间地址,”High 64K”之内存地址范围映像到24x/240x的程序空间地址,24x/240x兼容程序代码只能在“High64K”内存区域执行。

图4TMS320F2812内存映像(MemoryMap)。
17
2.3.2外部内存接口(XINTF)
TMS320F2812的外部内存接口(XINTF)是非多任务异步总线,映像到5个固定的内存映像区段,其定义如图5 所示.外部内存接口(XINTF)提供19条地址线及16条数据线,每个区段最
大可以存取的内存范围为512Kx16,所支持的外部内存高达1Mx16
以上。

图5外部内存接口(XINTF)方块图。
2.4 32位元CPU Timers0/1/2
TMS320F2812有3个32位元的CPUTimer,如图7为CPU-Timers之方块图。CPU-Timer0 可以让使用者来应用,而CPU-Timer1和CPU-Timer2则被保留做为实时(Real-Time)OS(例如:DSP-BIOS)。这些CPU-Timers 不同于事件管理模块(EVA,EVB)内一般用途用(General-Purpose)Timers。CPU-Timer大致上的运作如下:32 位元的计数缓存器(TIMH:TIM)加载周期缓存器(PRDH:PRD)的值,计数缓存器是以TMS320F2812的SYSCLKOUT(150MHz)之速率递减,当计数到0时,Timer会产生一个中断信号。

辽公网安备21120202000012