• 物联网工程师开发服务平台

Bootloader模式使用


1. Bootloader是什么?

简单地说:Bootloader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。

2. EMW3165 Bootloader模式功能

EMW3165的Bootloader模式 为用户提供以下功能:

命令代码 命令 功能
0 BOOTUPDATA 更新bootloader代码
1 FWUPDATA 更新application应用程序代码
2 DRIVERUPDATE 更新RF射频驱动
3 PARAUPDATE 更新MiCO设置参数
4 FLASHUPDATE 更新flash内容
5 MEMORYMAP 列出flash内存分配图
6 BOOT 运行应用程序
7 REBOOT 重启

3. EMW3165 Bootloader模式进入步骤

  1. 将开发板“调试串口”(即电源插口)通过“Mini-USB连接线”连接到PC电脑端。
  2. 打开 SecureCRT 串口调试工具,在 PC 设备管理器中找到对应COM口编号。
  3. SecureCRT 中创建快速连接,串口参数配置请参考:类型:Serial,COM端口:见设备管理器COM端口号,波特率:921600,数据位:8bit,奇偶校验:无,停止位:1。
  4. 置位 MiCOKit 底板拨码开关,BOOT:ON(低电平),STATUS:OFF(高电平),然后按”Reset“按键,复位开发板,SecureCRT软件界面log信息如图3.1:
    Bootloader模式log信息
    图 3.1 Bootloader模式log信息

4.Bootloader模式命令使用示例

4.1 命令0:更新或读取Bootloader固件

4.1.1 更新Bootloader固件

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:0,回车;
  3. SecureCRT中选择Transfer→Send Ymodem→选择更新的Bootloader固件,确认后显示如图 4.1。
    更新bootloader固件
    图 4.1 更新bootloader固件
    至此,Bootloader更新完成。

4.1.2 读取Bootloader固件

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:0 -r,回车;
  3. 在SecureCRT中选择Transfer→Receive Ymodem确认后,显示如图 4.2。
    读取bootloader固件
    图 4.2 读取bootloader固件
    至此,Bootloader固件读取完毕,读取文件保存在以下目录中,如图 4.3:
    读取bootloader固件

    读取bootloader固件
    图 4.3 文件保存目录

4.2 命令1:更新或读取应用程序固件

更新或读取方法,同4.1中Bootloader操作方法。此处略。

4.3 命令2:更新或读取RF射频驱动固件

更新或读取方法,同4.1中Bootloader操作方法。此处略。

4.4 命令3:更新或读取或擦除MiCO设置参数

4.4.1 更新MiCO设置参数

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:3,回车;
    读取bootloader固件
    图 4.4 更新MiCO参数
  3. 在SecureCRT中选择Transfer→Send Ymodem,选择要更新的bin文件,即开始更新。

4.4.2 读取MiCO设置参数

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:3 -r,回车;
  3. 在SecureCRT中选择Transfer→Receive Ymodem确认后,显示如图 4.5。
    读取bootloader固件
    图 4.5 读取MiCO参数
  4. 至此, MiCO 设置参数读取完毕,读取文件存放在SecureCRT指定目录中。

4.4.3 擦除MiCO设置参数

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:3 -e,回车; 显示如图 4.6。
    读取bootloader固件
    图 4.6 擦除MiCO参数

4.5 命令4:读取 或 擦除 或 更新Flash内容

4.5.1 读取指定Flash区域内容

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:4 –dev 0 -r –start 0x800C000 –end 0x800C100,回车;
  3. 在SecureCRT中选择Transfer→Receive Ymodem,读取文件存放在SecureCRT指定目录中。
    读取bootloader固件
    图 4.7 读取指定flash区域内容

4.5.2 擦除指定Flash区域内容

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:4 –dev 0 –e –start 0x0000100 –end 0x0001000,回车; log如图 4.8。
    读取bootloader固件
    图 4.8 擦除指定flash区域内容

4.5.3 更新指定Flash区域内容

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:4 –dev 0 –start 0x800C000 –end 0x800C100,回车;
    读取bootloader固件
    图 4.9 更新指定flash区域内容
  3. 在SecureCRT中选择Transfer→Send Ymodem,选择要烧录的.bin文件,确认后,即可成功烧录。

4.6 命令5:查询Flash内存地址分配列表

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:5,回车; 显示如图 4.10。
    (注:参数中0x08000000为起始地址,0x00004000为该flash区长度)
    读取bootloader固件
    图 4.10 查询内存地址分配列表
  3. 至此,flash内存分配列表查询完毕。

4.7 命令6:运行应用程序

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:6,回车; 显示如图 4.11。
    读取bootloader固件
    图 4.11 运行应用程序
  3. 至此,flash内存地址分配列表查询完毕

4.8 命令7:重启模块

  1. 参考第3部分,进入Bootloader模式后;
  2. 输入指令前,需要更改设置Session Options → Connection → Serial → Flow Control,将原先选中的 RTS/CTS取消掉;.然后输入:7,回车; 显示如图 4.12。
    读取bootloader固件
    图 4.12 重启模块
  3. 至此,模块重启完毕。
文本导读目录