固件升级


1. 启动开机

通过硬件跳线,CarDV可以通过以下几种方式Loading FW启动开机:

  • SD卡

  • Nor Flash

  • EMMC

  • USB

如图1-1所示。因此在升级前请核对原理图和手上的机器,确保选择的启动方式正确。

图 1‑1 系统启动跳线

2. 固件升级到Nor Flash

2.1. SD卡启动

当Nor Flash没有固件或者固件不正确导致设备无法正常上电开机时,可以通过SD卡启动,重新更新固件。

具体步骤如下:

  1. 选择SD卡启动方式

    查询图1-1可知,和默认的跳线位置相比,需要把PM_SPI_DO置0,即SW4需要从2-1跳到2-3。

  2. 准备SD卡,最好先格式化一次,避免开机启动失败。

  3. 把proj\sc\project\Dvr_CarDV_SDK\tools\DownloadTool_M5下mercury5_ipl.bin、316d_32_128_msw.bin(或316d_32_128_msw.bin.xz)、SD_CarDV.bin 三个文件复制到SD卡。

  4. 重命名mercury5_ipl.bin为IPL,316d_32_128_msw.bin(或316d_32_128_msw.bin.xz)为RTK。

  5. 插卡,上电开机,机器会自动把SD卡中的固件更新到Nor Flash中。

    如图2-1所示,SD卡启动时LOG信息会打印[SD][SD_FAT_Init_Flow]等字样。

    图 2‑1 SD卡启动

2.2. Nor Flash启动

当设备可以正常上电开机时,通过Nor Flash已有固件启动,更新固件。

具体步骤如下:

  1. 当机器可以正常工作时,把proj\sc\project\Dvr_CarDV_SDK\tools\DownloadTool_M5下SD_CarDV.bin复制到SD卡。

  2. 插卡,上电开机,机器会自动把SD卡中的固件更新到Nor Flash中。

    如图2-2所示,Nor Flash启动时LOG信息会打印[NOR]字样。如果Nor Flash里面的FW是压缩的,LOG信息会打印[-Decompress KERNEL XZ]字样。

    图 2‑2 Nor Flash启动

3. 固件Dump到SD卡

可以把SPI Flash里面的固件Dump出来用做对比验证。

具体步骤如下:

  1. 确认现有固件中宏定义 "SD_FW_DUMP_BIN_NORFLASH" 设置为1。

  2. 在SD卡根目录创建空白文件 "DumpNor2SD.bin"。

  3. 插卡,通电开机,程序会把SPI Flash里面的固件Dump 到 SD卡 "DumpNor2SD.bin" 中。