FireBLE

FireBLE 是一个面向于打造智能生活的开源平台,以BLE(Bluetooth Low Energy)技术为核心,拥有超低的功耗、不俗的处理能力和广泛的应用场合,专注于更智能、高效率的工作模式,让生活在科技中更安全、方便、快捷。也许您一个不经意的想法与FireBLE擦出的火花,会在这片原野上燎出火焰,甚至燃烧整个世界。

固件升级

更新时间:2017-08-08 阅读:4475

前言

FireBLE的固件升级方式有三种,使用官方ISP串口烧录工具升级固件、使用OTA空中升级固件、使用JLink仿真器升级固件。

我们常用的方法一般是ISP烧录和OTA升级。

  • ISP串口烧录工具升级是最简单、最基本的升级方式,只要芯片是能够正常工作的,那么接入串口就可以进行固件升级。
  • OTA升级需要手机APP配合,并且固件需要进行加密处理,所以必须满足当前设备能够广播并且已经具备OTA升级功能,而且手机中有OTA升级软件及加密过的固件才能进行固件升级,相比之下比ISP烧写复杂的多,但是其优点就是不需要接入任何接线,非常适合产品升级固件。
  • 使用JLink做开发是许多单片机开发者的一种习惯,使用仿真器仿真的时候,也可以把固件烧录进去。但是,这只适用于使用单片机作为微控制器使用。Jlink可以对QN902x进行固件升级,但是有一定的限制条件,首先设备要开启了SW在线仿真接口,然后需要有相应版本的JLink仿真器,最后升级的固件不能包含有OTA升级功能,因为该功能需要额外烧写一部分的引导程序,只能通过ISP和OTA升级固件的时候烧写。

OTA升级

在QBlue工具中有提供OTA升级的IOS端app和Android端APP,位于C:\Quintic Corporation\QBlue-1.3.6\Projects\Android\apk下的BleOtaDemo.apk以及C:\Quintic Corporation\QBlue-1.3.6\Projects\iOS\App下的OTA Demo v4.32.ipa.
OTA升级条件有:
  1. 导入通过qotapack工具加密的bin文件到app的特定位置(IOS可通过pp助手导入到OTA app的documents目录下,安卓的可导入到\storage\emulated\0\Android\data\com.quintic.ble.ota\files目录下), 连接设备进行升级。
  2. OTA升级必须开启OTA服务,具体开启服务的方法请查看维基中“认识BLE”板块下的“OTA OTA updata profile”。
  3. 首次开启OTA服务,必须经过ISP烧写工具烧录固件,并且将烧录参数中的OTA选项勾选,否则程序无法正常工作。
OTA升级脱离了有线烧录,是产品进行固件升级的一个最方便快捷的升级方式。

升级步奏

  • 加密编译链接生成的bin文件。
  1. 将qotapack工具拷贝到需要加密的bin文件所在目录。
  2. 在命令提示符中切换到bin文件和qotapack工具所在目录,在命令提示符中键入qotapack --version=1234 --encrypt --key=11223344556677889900AABBCCDDEEFF --from=xxx.bin --to=xxx_encrypted.bin命令对xxx.bin文件进行加密,完成后会在当前目录产生一个名为xxx_encrypted.bin的文件,此文件为OTA升级所需文件。
  3. 将xxx_encrypted.bin导入到app指定的位置。
  4. 打开OTA升级app,连接需要OTA升级的设备,并且选取对应的升级文件对OTA进行升级。

QBlue中有提供IOS和Android端的OTA升级例程,经过定制的app将更方便的实现OTA升级,可实现版本更新检测和一键升级,本文介绍为测试软件所以操作比较复杂。

ISP烧录

准备工作

ISP烧录使用的是QBlue中的QnISPStudio工具进行烧录。

ISP.png

工具中NVDS\data文件的烧写比较少用到,需要用到的可以再QBlue的software文件夹下查看ISP工具使用手册。

烧写步奏

  1. Parameters区:选取开发板对于串口号(开发板板载U转串接QN902x的UART0)。
  2. File区:选取需要烧录的固件(keil编译链接后生成的bin文件)、NVDS文件以及Data文件(将用户数据制作为bin文件)。
  3. Dowload区:勾选第一项烧录固件,第二项烧录NVDS配置文件,第三项烧录Data文件,第四项在烧写固件的时候需要勾选,第五项为保护选项,勾选后可以保护固件不被读出,第六项仅在使用OTA升级的时候勾选,并且使用OTA时必须勾选。

配置好工具之后,单击Start按钮,在程序最下方提示重启开发板时重启开发板即可完成固件烧录。

固件版本介绍

版本:2015.01.22

该版本固件使用IIC协议点屏,其他的与下一版本并没有区别。该固件适用于所有FireBLE开发板。

版本:2015.01.22

该版本固件使用SPI协议点屏,其他的与下一版本并没有区别。该版本固件仅在2015.04.25版开发板上可以正常使用,老版开发板会导致OLED显示异常,但其他功能并无影响。