BOOT模式
UC6580x-00的Boot模式为单机模式,通过D_SEL (PIO10)和BOOT_MODE (PIO12)引脚控制。根据D_SEL和BOOT_MODE的状态,Boot模式细分为三种情形:
- UART1和I2C1启动,此时UART1:PIO6/7,I2C1:PIO8/PIO9
- UART1启动,此时UART1:PIO11/12
- SPI slave启动,此时SPI Slave:PIO6至PIO9。
芯片启动时管脚功能配置及Boot模式说明参见下文。
BOOT_MODE仅在上电或RESETN被释放之前有效。RESETN被释放后,BOOT_MODE引脚可用作普通的PIO引脚。
启动时管脚功能配置
D_SEL | BOOT_ MODE |
Boot Mode |
固件启动后 | 说明 | |||
PIO 6/7 | PIO 8/9 | PIO 11/12 | |||||
1 | X | UART1和 I2C1启动 |
UART1 | I2C1 | X | 通过UART1 (PIO 6/7) 输出定位信息 |
|
0 | 1 | UART1启动 | X | X | UART1 | 通过SPI (PIO 6/7/8/9) 传输定位信息 |
UART1从 PIO11/PIO12 启动,无I2C1 启动 |
0 | 0 | SPI slave | SPI slave | SPI slave | X | 通过SPI (PIO 6/7/8/9) 传输定位信息 |
这三种Boot模式的启动过程如下:
步骤1 CPU检测接口的固件升级请求。
- UART1和I2C1启动模式
If | Then |
---|---|
CPU在上电或复位后的20 ms内检测到UART1的固件升级请求 | CPU开始自适应波特率并升级固件,升级完成后运行 |
CPU在上电或复位后的20 ms内检测到I2C1的固件升级请求 | CPU开始自适应I2C时钟并升级固件,升级完成后运行 |
CPU在上电或复位后的20 ms内未检测到UART1或I2C1的固件升级请求 | 进行步骤2 |
- UART1启动模式
If | Then |
---|---|
CPU在上电或复位后的20 ms内检测到UART1的固件升级请求 | CPU开始自适应波特率并升级固件,升级完成后运行 |
CPU在上电或复位后的20 ms内未检测到UART1的升级要求 | 进行步骤2 |
- SPI slave启动模式
If | Then |
---|---|
CPU在上电或复位后的20 ms内检测到SPI slave接口的固件升级请求 | CPU升级固件,升级完成后运行 |
CPU在上电或复位后的20 ms内未检测到SPI slave接口的升级要求 | 进行步骤2 |
步骤2 CPU顺序检查封装内嵌Flash以及外部Flash。
- CPU检测Flash
If | Then |
---|---|
CPU检测到封装内嵌Flash中的固件 | 读取内嵌Flash中的固件并运行 |
CPU检测到封装内嵌Flash中无固件 | CPU尝试读取外部Flash中的固件,并运行。 |