微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(5)

由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(5)

时间:08-02 来源:本站整理 点击:

DATE_REQUEST,将其改为FLASE。否则会影响BLEDevice Monitor对其进行空中升级,到时可以再改回来。

  (2) IAR左侧导航中找到Profile文件夹,点击右键添加oad_target.c和oad_target.h两个文件,二文件位于 C:\TexasInstruments\BLE- CC254x-1.4.0\Projects\ble\Profiles\OAD中。

  (3) 在IAR导航中找到 HAL→Target→MT254xboard→Driver,右键添加文件hal_crc.c,该文件位于C:\TexasInstruments \BLE-CC254x-1.4.0\Components\hal\target\MT254xboard中。

  (4) 在刚才的simplePeripheral.c文件中,找到simplePeripheral_Init()函数,在里面添加OADTarget_AddService()函数。

  (5) 在simplePeripheral.c的前面,添加引用OAD的头文件,OAD.h和OAD_target.h。

  (6) 点击Project→Option…,或直接按Alt+F7,选择BuildActions,在Post-buildcommand line中添加:

  "$PROJ_DIR$\。。\。。\common\cc2540\cc254x_ubl_pp.bat""$PROJ_DIR$" " rodUBL""$PROJ_DIR$\CC2540-OAD-ImgA\Exe\OADExample"

  注意,各双引号之间只有一个空格。注意图中红框标的部分,Image_A是和之前第1步对应的。

  (7) 点击Project→Option…,或直接按Alt+F7,选择Linker,选择Config,Linker Configurationfile中勾选Override default,添加C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\common \cc2540\cc254x_f256_imgA.xcl。

  (8) 点击Project→Option…,或直接按Alt+F7,选择Linker,选择Extra Output。

  (9) Extra Option添加Hex文件的输出。

  (10) 点击OK,编译下载,如果出现如下错误,是因为我们使用的是IAR8051 8.30版本,如果你使用的是IAR8.20版本就没有这问题。

  (11) 这个问题是因为使用了虚拟寄存器导致的,我们找到如下文件。

  

  (12) 对文件的115行进行如下修改,将虚拟寄存器注释掉。

  

  (13) 编译后,可以看到我们生成的文件

  (14) 我们将hex文件叠加到BIM后面

  这样ImageA就成功烧录进开发板了。

  配置Image B

  (1) 方法如Image A,其它要注意的几个地方:点击Project→Option…,或直接按Alt+F7,选择C/C++Compiler,选择Preprocessor,将Defined symbols中的HAL_IMAGE_A改成B。

  (2) 点击Project→Option…,或直接按Alt+F7,选择Linker,选择Config,将Linker Configuration file中的文件改为B。

  (3) 保存后编译,同样的可以看到生成的文件。

  

  (4) 为了区分A和B镜像,我们将最终结果改名。

  空中升级

  有了bin文件就可以进行空中升级了,打开BLE Device Monitor(没有安装的需要安装),打开后软件会自动扫描设备,如图,我们扫描到了开发板。

  

  (2) 连接后,打开OAD

  (3) 点击file,选择Progame(OAD),选择生成的bin文件,可以看到我们当前运行的是A固件

  (4) 点击start,当进行到100%,就完成了固件空中升级。

  (5) 升级后再次打开OAD选项,可以看到选择运行的固件已经是B版本的了。

  注意:

  要把 BLE协议栈BLE-CC254x-1.4.0 安装在C盘,在其他盘符下没有生成bin文件。

  第二十五节 SBL串口升级

  SBL升级和OAD升级的配置步骤都是一样的,主要是配置的参数不一样,下面我们来配置一个SBL升级的固件。

  配置SBL

  打开IAR,打开BLE-CC254x-1.4.0下的工程C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\util\SBL\iar\cc254x\sbl.eww,然后编译,下载到开发板中。

  配置Bin文件

  (1) 添加宏

  MAKE_CRC_SHDW

  FEATURE_SBL

  OAD_KEEP_NV_PAGES

  (2) 添加build选项

  "$PROJ_DIR$\。。\。。\common\cc2540\cc254x_ubl_pp.bat""$PROJ_DIR$" "ProdUBL" "$PROJ_DIR$\MT254xboard\Exe\SBLExample"

  (3) Config选项

  (4) Extra Output选项

  

  (5) 保存编译

 

  (6) 打开串口升级软件SerialBootTool.exe,选择SBLExample.bin文件。

 

  (7) Load Image

  这样我们的SBL固件就制作完毕了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top