简单了解一下BootROM
BootROM(Boot Read-Only Memory)是嵌入式系统或网络设备中的一个关键组件,是启动只读存储器。它是一种存储在ROM中的只读程序,作为固件或软件,在开机上电或复位时首先运行,是启动链中最底层,最基础的一环。
主要功能
硬件初始化:在系统启动时,BootROM会执行一系列硬件初始化操作,如设置时钟、复位外设、配置I/O引脚等。
加载引导加载程序:BootROM负责找到并加载引导加载程序(Bootloader),这通常是存储在内置存储(如eMMC、NAND、NOR闪存)或外部存储(如SD卡、USB设备)中的一段代码。
安全启动:一些BootROM支持安全启动功能,通过数字签名验证来防止未授权的软件加载和执行,从而确保系统的安全性。
主要特点
只读性:BootROM中的代码是只读的,只能在芯片制造时写入,流片后不可更改。
永久性:作为只读存储器的一部分,BootROM是非易失性的,即使在电源循环时,代码也保持完整。
安全性:存储在BootROM中的代码通常是安全且不可变的,这有助于防止未经授权的修改。
工作流程
系统启动:当系统上电或复位时,CPU首先执行BootROM中的代码。
硬件初始化:BootROM中的代码会进行硬件初始化操作,为后续的引导加载和操作系统启动做准备。
加载引导加载程序:一旦硬件初始化完成,BootROM会找到并加载引导加载程序到内存中,并将CPU控制权转交给它。
操作系统启动:引导加载程序接管后,会进一步初始化系统并加载操作系统。
特别事项
不可更改性:由于BootROM中的内容在制造后不可更改,因此确保在制造前对代码进行充分的测试和验证至关重要。
安全性考虑:在支持安全启动的系统中,应确保BootROM和后续加载的程序都经过数字签名验证,以防止未授权的软件加载和执行。