BootROM
在download 模式下,支持3种download interface, UART, USB 和SDIO. 通过使用BootROM 命令循环与主机协商以接受DA. 需要通过这三种接口获取和设置数据以进行二进制传输。
Feature
-
firmware download
UART device mode init
UART device mode de-init
UART get data
UART put data
UART data fluash (optional) -
logging
此外UART 还需要有打印日志的功能
codebase
mcu: MCU bootrom code
lk-toolkit: Toolchain for building bootron binary
code layout
目前用cmake 变量做区隔: mcu/projects/MckBd.cmake
将cmake文件中SP_BROM 改成ON 即可被编译进去
BootROM 里面需要UART 提供的功能都集中放在:
mcu/platform/module/uartdl/uart.c
Header:
uart_hw.h
uart_sw.h
uartdl_boot.c
uartdl_boot.h
其中有将uart.c fputc()重定向到UART_sengbyte
#define CM33_UART_BASE 0x21040000
#define AP_UART0_BASE 0x30482000
#define AO_UART1_BASE 0x30483000
#define DSP_UART_BASE 0x41001000