TMS320F2812复位机制解析

下载需积分: 3 | DOC格式 | 44KB | 更新于2024-08-04 | 199 浏览量 | 0 下载量 举报
收藏
"本文主要探讨了TMS320F2812微控制器的复位过程,包括复位向量的工作原理以及InitBoot和SelectBootMode两个关键函数的功能。" 在TMS320F2812这款嵌入式微控制器中,复位过程是非常关键的一个环节,它确保系统在启动时能够正确地执行初始化和进入用户程序。复位向量位于地址0X3FFFC0,其内容由MP/-MC引脚的电平状态决定。如果引脚为高电平(1),则复位向量指向外部Zone7的0X3FC000地址;如果引脚为低电平(0),则向量指向内部ROM的0X3FB50地址,这里执行InitBoot函数。 InitBoot函数是复位后的第一个执行体,它的主要任务包括: 1. 初始化器件:设置工作模式,如OBJMODE、AMODE、MOM1MAP、DP、OVM、SPM和SP等寄存器,以便于后续操作。 2. 虚拟读取CSM密码初值:这可能涉及到安全机制,用于保护程序代码和数据不被非法访问。 3. 调用SelectBootMode函数:这是一个内部固化的函数,负责确定引导模式。 4. 函数执行完毕后,返回用户程序的入口地址,从而开始执行用户自定义的代码。 SelectBootMode函数则进一步检查SPICLKA、SCITXA和GPIO34的电平状态,根据这些状态来确定不同的引导模式,如: - 引导至内部Flash:当SPICLKA、SCITXA和GPIO34均为高电平时,程序将从内部Flash的0x3FF6地址开始执行。 - SCI-A引导:若SPICLKA和SCITXA为高,GPIO34为低,则通过SCI-A接口加载数据流。 - SPI-A引导:若SPICLKA为低,SCITXA和GPIO34为高,则从SPI-A接口的外部SPI EEPROM加载程序。 - I2C引导:若SPICLKA和SCITXA为低,GPIO34为高,则从I2C总线上的0x50地址加载数据。 - eCAN-A引导:若SPICLKA为低,SCITXA为高,GPIO34为低,程序会通过eCAN-A邮箱1加载。 - 引导至M0:若SPICLKA和GPIO34为低,SCITXA为高,程序将从M0SARAM的0x000000地址开始执行。 - 引导至OTP:若SPICLKA和SCITXA为低,GPIO34为高,程序将从OTP存储区的0x3D7800地址开始执行。 - 并行I/O引导:若所有三个引脚都为低,程序会从GPIO0到GPIO15加载数据。 这些引导模式的设计使得TMS320F2812具有高度的灵活性,可以根据不同应用场景选择合适的启动方式,比如在需要更新程序或配置时,可以通过各种接口加载新的数据。这种复位和引导流程对于嵌入式系统的可靠性和可扩展性至关重要。

相关推荐

hziee30
  • 粉丝: 0
  • 资源: 6
上传资源 快速赚钱