CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

创建目标升级固件

  1. 进入SDK_Folder\projects\ble\ble_peripheral\ble_app_template_dfu目录,拷贝ble_app_template_dfu,重命名为ble_app_template_dfu_mine,然后在keil中打开该工程。相关文件说明如表 4所示。
    表 4 ble_app_template_dfu文件说明
    Group 描述

    gr_profiles

    Service源文件添加

    user_callback

    用户定义的BLE回调函数

    user_platform

    用户外设初始化

    user_app

    用户应用逻辑实现

  2. 按照以下步骤创建用于升级的目标固件文件。
    说明:

    目标固件为bin格式的文件。

    1. 为目标固件命名。

      user_app.c(路径:SDK_folder\projects\ble\ble_peripheral\ble_app_template_dfu_mine\Src\user)中的广播名修改为Goodix_Tem_New,操作如下:

      • 修改设备广播名
        #define DEVICE_NAME        "Goodix_Tem_New" /**< Device Name which will be set in GAP. */
      • 修改扫描应答所使用的名称
        static const uint8_t s_adv_rsp_data_set[] = 
        {
            // Complete Name
            0x0f,
            BLE_GAP_AD_TYPE_COMPLETE_NAME,
            'G', 'o', 'o', 'd', 'i', 'x', '_','T','e','m','_','N','e','w',
            // Manufacturer specific adv data type
            0x05,
            BLE_GAP_AD_TYPE_MANU_SPECIFIC_DATA,
            // Goodix SIG Company Identifier: 0x04F7
            0xF7, 
            0x04,
            // Goodix specific adv data
            0x02,0x03,
        };
        说明:

        如需了解广播名配置详情,请参考Bluetooth Core_Spec中的Advertising and Scan Response Data Format(Vol 3,Part C)

    2. 修改Load Address和Run Address。打开custom_config.h文件,为防止覆盖已下载的Boot固件,确保APP_CODE_RUN_ADDR和APP_CODE_LOAD_ADDR为0x01040000,如下所示:
      #define APP_CODE_RUN_ADDR       0x01040000    /**<Code run address. */ 
      #define APP_CODE_LOAD_ADDR      0x01040000    /**<Code save address in flash. */
      说明:

      使用Boot跳转升级方式时,用户需要根据固件大小,规划Flash布局。升级目标固件的Load Address不能覆盖Boot固件(ble_dfu_boot.bin)的Load Address。

    3. 生成bin文件。

      重新编译工程,编译完成后在ble_app_template_dfu_mine\Keil_5\build文件夹中生成的ble_tem_dfu.bin文件为最新固件。

      图 2 已生成ble_tem_dfu.bin文件(目标固件)

扫描关注

打开微信,使用“扫一扫”即可关注。