根据群主的教程一步步走下来,基本上没有问题的。但是在往main()函数的循环中添加的代码报告有错误:

if(cyBle_pendingFlashWrite != 0u)
        {
            #if (DEBUG_UART_ENABLED == YES) 
                CYBLE_API_RESULT_T apiResult;
                apiResult = CyBle_StoreBondingData(0u);
                printf("Store Bonding Data,status: %x/r/n", apiResult);
                #else
                    (void)CyBle_StoreBondingData(0u);
                    #endif

这里if里面的函数提示没有声明过,本人觉得函数名有错误应该是CyBle开头才对。。
希望群主有时间的帮我看一下,我把我操作的工程给你。谢过了!

另外我再问几个关于OTA的问题吧。
1,就是升级的.cyacd文件我怎么找不到在哪,按理说不是应该跟.hex文件在一个目录里吗?
2、假如现在我已经把这个Findme工程烧进去了,那么下次我要升级固件的时候怎么操作,怎么产生.cyacd文件?

ble-findme01-ota7z.7z
4MB

    我看了下 不是这个变量名字的问题 。应该是CyBle.h文件中申明的这个外部变量没有起作用

      Wireless-Tech 我看了下 不是这个变量名字的问题 。应该是CyBle.h文件中申明的这个外部变量没有起作用

      这个是因为你在Bootloader里面的BLE组件没有把Bonding功能所以找不到这个变量。

      1,就是升级的.cyacd文件我怎么找不到在哪,按理说不是应该跟.hex文件在一个目录里吗?
      答:是的,在Debug那里如果没有就要看下你的链接文件的路径指定了没有

      2、假如现在我已经把这个Findme工程烧进去了,那么下次我要升级固件的时候怎么操作,怎么产生.cyacd文件?
      答:编译改过的工程,然后在在debug里找到.cyacd的文件即可。

        Wireless-Tech 1,就是升级的.cyacd文件我怎么找不到在哪,按理说不是应该跟.hex文件在一个目录里吗?
        答:是的,在Debug那里如果没有就要看下你的链接文件的路径指定了没有

        2、假如现在我已经把这个Findme工程烧进去了,那么下次我要升级固件的时候怎么操作,怎么产生.cyacd文件?
        答:编译改过的工程,然后在在debug里找到.cyacd的文件即可。

        追问:这个链接的路径指的是什么?是Bootloadable链接的路径?这个路径我链接的就是bootloader里debug下面的.hex

        Wireless-Tech 这个是因为你在Bootloader里面的BLE组件没有把Bonding功能所以找不到这个变量

        这个要在哪里设置?

        Wireless-Tech 追问:这个链接的路径指的是什么?是Bootloadable链接的路径?这个路径我链接的就是bootloader里debug下面的.hex

        你看教程的步骤17,你可能看太快被你忽略了

          Wireless-Tech 这个要在哪里设置?

          这个你看步骤8,你看得不够详细啊

            撰写回复...