分类:
2010-01-25 16:56:22
MTK Boot ROM 设计说明
整理:longfeey
Boot ROM
每个MTK BBC都内嵌有Boot ROM,用于储存简单的启动程序员。复位时如果boot引脚(GPIO0)被拉低,内部Boot ROM则被选择。Boot ROM里面储存着一个通过串口下载的小程序,此特性可用于下载或工厂测试。
1.1 描述
Boot ROM 的目地是用于解释从串口接收到的命令。外部下载Host用于加载“下载代理”到SRAM,并且从内存执行。Boot ROM 在没有off-chip 内存或外部Flash没有初始化时可以方便使用。
1.2 配制
栈空间分配如下:
Boot ROM 不使用中断,在复位进IRQ,IFQ全部被屏蔽。
UART1被预定义为通信通道,基配制如下:
8 Bit
无给奇偶校验
1 位停止位
波特率:MCU 在13M 时9600 baud, MCU在26M时19200 baud.
除了以上的配制,复位时BOOT ROM 代码没有对默认寄存器进行修改。
1.3 命令
默认情况下,Boot ROM根据接收到的数据响应其处理。Boot ROM和Host之间的通信有握手协议。
下表列举了所有Boot ROM所支持的命令:
命令中包括一二个参数和数据,以MSB-first规则进行传输。
Start命令是进行其它操作之前第一个要处理的命令,如果Boot ROM没有收到start命令,则其它的命令永远也不会执行。