2812有两种运行模式,微处理器(Microprocessor)模式和微计算机(Microcomputer)模式,复位时,芯片判断XMP/MC引脚上的电平,当该引脚为高电平时,芯片进入微处理器模式,当为低电平时则进入微计算机模式。在微处理器模式下,芯片需要从第7外部接口区引导运行(XINTF Zone 7)。只有在微计算机模式下,芯片才会从内部Boot Rom引导。XMP/MC引脚的状态在复位时锁存入芯片配置寄存器XINTCNF2中MP/MC位,复位后,XMP/MC引脚上的电平就不再有效,芯片将不再关心其状态。用户可以通过改变XINTCNF2的MP/MC位来重新配置芯片运行模式。
当为微计算机模式,芯片从内部Boot Rom引导;Bootloader通过检测四个通用IO口得状态来确定使用哪种引导模式。四个IO状态及对应的引导模式如下表所示:
GPIOF4(SCITXDA) GPIOF12(MDXA) GPIOF3(SPISTEA) GPIOF2(SPICLK) 引导模式
PU No PU No PU No PU GPIO是否内部拉高
1 X X X Flash引导模式,跳转到Flash地址X3F7FF6
0 1 X X SPI引导模式,调用SPI_Boot,从外部串行SPI EEPROM 启动
0 0 1 1 SCI引导模式,调用SCI_Boot从SCI-A引导启动
0 0 1 0 H0 SARAM引导模式,跳转到H0 SARAM地址0x3F8000
0 0 0 1 OPT引导模式,跳转到OPT地址0x3D7800
0 0 0 0 并行引导模式,调用Parallel_Boot从通用IO口B口启动