6626带数字签名的DFU示例

yangzh · 161次点击 · 2个月前

 使用6626带数字签名的示例,以simple工程为例

  1. 修改service_onmicro_dfu.c的服务,这样nrf connect连上后有dfu图标


    void service_onmicro_dfu_init(void)
    {
        static const uint8_t serv_dfu[2] = {0x59, 0xFE};
        static const uint8_t char1[16] = {0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, 0x60, 0x4F, 0x15, 0xF3, 0x01, 0x00, 0xC9, 0x8E};
        static const uint8_t char2[16] = {0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, 0x60, 0x4F, 0x15, 0xF3, 0x02, 0x00, 0xC9, 0x8E};
        static const uint8_t char3[2] = {0x03, 0x00};
                  
        static const ob_gatt_item_t atts_dfu[] = {
            { ob_att_char_def, OB_UUID_16BIT,  OB_ATT_PROP_READ },
            { char1,           OB_UUID_128BIT, OB_ATT_PROP_NTF | OB_ATT_PROP_WRITE},
            { ob_att_cccd_def, OB_UUID_16BIT,  OB_ATT_PROP_READ | OB_ATT_PROP_WRITE},
            { ob_att_char_def, OB_UUID_16BIT,  OB_ATT_PROP_READ },
            { char2,           OB_UUID_128BIT, OB_ATT_PROP_WRITE_CMD },
            { ob_att_char_def, OB_UUID_16BIT,  OB_ATT_PROP_READ },
            { char3,           OB_UUID_128BIT, OB_ATT_PROP_READ | OB_ATT_PROP_WRITE | OB_ATT_PROP_NTF },
            { ob_att_cccd_def, OB_UUID_16BIT,  OB_ATT_PROP_READ | OB_ATT_PROP_WRITE },
        };
        static const ob_gatt_serv_t att_serv_dfu = {
            serv_dfu, OB_UUID_16BIT,
            sizeof(atts_dfu) / sizeof(atts_dfu[0]), atts_dfu
        };
        ob_gatts_add_service(&att_serv_dfu, &m_start_handle);
    }

   2.修改onmirco_dfu.h

image.png 3.修改uECC.h文件

image.png

4.制作私有密匙文件

image.png

5.分别拷贝tools\dev下的新生成的文件private_key.2410241651.hex (每次生成的文件名不一样)和public_key.c文件。

其中private_key.2410241651.hex文件放到目录ble_app_simple下

public_key.c放在src\main文件里,并且把这个文件添加到工程项目中

6.修改CreateFw_flash.bat文件如下划线部分

image.png

7. 空中升级后

image.png



被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站