No os hardware boot TI
来自百问网嵌入式Linux wiki
AM335x和AM437x启动流程
对于所有的单板,拿到时要先了解这些事情:
- 1.Memory Map: 内存、Flash
- 2.启动方式的选择: 启动设备能选择/不能选择? 选择一个/选择多个(list)
- 3.启动流程: ROM程序初始化硬件、从启动设备中读程序到内存中、运行
MemoryMap
启动方式的选择
AM335x
AM335x: Chapter 26 Initialization SYSBOOT引脚用来确定"boot device list", 手册中Table 26-7. SYSBOOT Configuration Pins
SYSBOOT[15:14] | Crystal Frequency, 确定晶振频率 |
SYSBOOT[13:12] | 00b for normal operation |
SYSBOOT[11:10] | 对于XIP设备用, 来选择引脚是否复用;对于NAND启动这个值必须设为00b |
SYSBOOT[9] | 对于nand启动, 用来设置ECC的模式; 对于"Fast External Boot", 这个值必须为0b |
SYSBOOT[8] | 对于XIP启动, 用来设置位宽 |
SYSBOOT[7:6] | 对于网卡启动, 用来设置PHY mode |
SYSBOOT[5] | 是否使能CLKOUT1 |
SYSBOOT[4:0] | 用于选择"boot device list" |
对于100ask_am3358, 启动开关拔向MMC时(MMC就表示SD卡):
SYSBOOT[4:0] = 11011b,boot device list为:XIP, UART0, SPI0, MMC0
启动开关拔向Nand时:
SYSBOOT[4:0] = 10011b,boot device list为:Nand, NANDI2C, MMC0, UART0
AM437x
AM437x: Chapter 5 Initialization SYSBOOT引脚用来确定"boot device list", 手册中Table 5-10. SYSBOOT Configuration Pins
SYSBOOT[18] | CLKOUT2 output |
SYSBOOT[17] | 是否使能CLKOUT1 |
SYSBOOT[16] | USB接口的DP、DM引脚是否交换 |
SYSBOOT[15:14] | Crystal Frequency, 确定晶振频率 |
SYSBOOT[13:12] | 00b for normal operation |
SYSBOOT[11] | 对于Fast Nor启动或Nor启动, 用来设置引脚是否复用 |
SYSBOOT[10] | 未使用 |
SYSBOOT[9] | 对于Fast Nor启动或Nor启动, 用来设置是否使能WAIT引脚 |
SYSBOOT[8] | 对于Fast Nor启动, 设为1b
对于Nor/Nand/NandI2C启动方式, 用于设置Wait mux option |
SYSBOOT[7] | QSPI位宽选择/Nor引脚复用 |
SYSBOOT[6] | Nor引脚复用,或
QSPI引脚复用,或 Nand,NandI2C的ECC |
SYSBOOT[5] | 网卡启动时, 用于设置PHY接口类型 |
SYSBOOT[4:0] | 用于选择"boot device list" |
对于100ask_am4378, 启动开关拔向MMC时(MMC就表示SD卡), SYSBOOT[4:0] = 00001b,boot device list为:MMC0, MMC1, USB_MS(USB1), USB_CL(USB0) 启动开关拔向QSPI时, SYSBOOT[4:0] = 01010b,boot device list为:QSPI