OTA bootloader error for CYBLE-224110-00

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
mr_2020
Level 1
Level 1
5 replies posted 5 sign-ins First reply posted
While debugging  OTA failure for CYBLE-224110-00 (module)
below are our findings:
  • Most of the time it was found that OTA failed due to the below-mentioned error:
    • Failed due to error code 0x03
    • Failed due to error code 0x04
    • Failed due to error code 0x0D
Note: Most of the time the above-mentioned error occurred while sending 1st packet of OTA.
 
when module is in Bootloader mode, we need to send command to Grote device:
  1. command_1 for Entering DFU  = {0x01, 0x38, 0x00,0x00,0xC7 ,0xFF ,0x17}
  2. command_2 for Application OTA  = {0x01, 0x32, 0x01,0x00, 0x01, 0xCB ,0xFF ,0x17}
  3. command_3 for Golden copy OTA  = {0x01, 0x32, 0x01,0x00, 0xCC ,0xFF ,0x17}
After this Grote OTA packet transfer takes place.
 
I have the query mentioned below:
  1. Why 0x03, 0x04 and 0x0D error occur?
  2. What is the time interval after which the bootloader mode command can be sent to the module once the discovery process is completed?
  3. While sending commands in bootloader mode, we are sending two commands (command_1 and command_2 or command_3 depending upon application OTA or Golden copy OTA). What should be the time interval between two commands so that the module can accept the command comfortably without error.
  4. After sending both the command what should be the minimum time interval after which transfer of the OTA packet should take place.
0 Likes
7 Replies
Alakananda_BG
Moderator
Moderator
Moderator
50 likes received 250 sign-ins 250 replies posted

Hi,

Can you please let us know if you are using CySmart Dongle for bootloading?

Regards

Alakananda
0 Likes

Hi, 

    We are service-based company, we are doing OTA for third party device. We have developed our own application. OTA is done through our BLE module
0 Likes
mr_2020
Level 1
Level 1
5 replies posted 5 sign-ins First reply posted

Hi  

0 Likes
mr_2020
Level 1
Level 1
5 replies posted 5 sign-ins First reply posted

Hi,

      Can you share  Cypress Peripheral OTA code, so that we will take reference for developing our own OTA application for the Cypress device(in our case it is a third party device)?

0 Likes
Alakananda_BG
Moderator
Moderator
Moderator
50 likes received 250 sign-ins 250 replies posted

Hi,

You can refer to the below application note for more information regarding OTA

https://www.cypress.com/file/198301/download

Regards

Alakananda
0 Likes

Hi Alalananda_BG,

       I got BLE peripheral OTA code and android app code but was not able to find BLE central code. As our device is a central device, so it will be easier to map the central cypress OTA code to our central device.

0 Likes
mr_2020
Level 1
Level 1
5 replies posted 5 sign-ins First reply posted

Hi Alalananda_BG,

We have added retry mechanisum in OTA application code for below mentioned error

#define BootloaderEmulator_ERR_LENGTH (0x03u)
#define BootloaderEmulator_ERR_DATA (0x04u)
#define BootloaderEmulator_ERR_CMD (0x05u)
#define BootloaderEmulator_ERR_CHECKSUM (0x08u)

Can we add retry mechanisum for also below mentioned error?. It will be helpful if you provide the explanation of mentioned error code. So that at what condition retry will be applicable.

#define BootloaderEmulator_ERR_VERIFY (0x02u) /* The verification of flash failed */
#define BootloaderEmulator_ERR_DEVICE (0x06u) /* The expected device does not match the detected device */
#define BootloaderEmulator_ERR_VERSION (0x07u) /* The bootloader version detected is not supported */
#define BootloaderEmulator_ERR_ARRAY (0x09u) /* The flash array is not valid */
#define BootloaderEmulator_ERR_ROW (0x0Au) /* The flash row is not valid */
#define BootloaderEmulator_ERR_PROTECT (0x0Bu) /* The flash row is protected and can not be programmed */
#define BootloaderEmulator_ERR_APP (0x0Cu) /* The application is not valid and cannot be set as active */
#define BootloaderEmulator_ERR_ACTIVE (0x0Du) /* The application is currently marked as active

0 Likes