cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55 BLE OTA issue

RTriv.1
Associate II

Hi,

I am working with OTA on STM32wb55 wireless MCU,

I have tested BLE OTA from android app mentioned in AN5247 and it worked well.

Now i need to create a python app doing the same.

In order to do that i followed Flow given in the same AN5247 at Figure 9- OTA data flow

My setup is as per below:-

1.STM32wb55 - P2P OTA flashed in 0x7000 location

2. Linux MPU - python2.7, Gatt tool and bluez-5.50 , hciconfig hci0 up and running

My MCU is flashed with P2P ota service and I m able to provide reboot request from my Linux device using below command on handle provided by UUID- 0000FE11-8e22-4541-9d4c-21edae82ed19

char-write-cmd 0x0013  010706

It issues reboot in stm32wb and puts mcu in STM_OTA mode.(Same as in Android app)

At this stage my UUID and its handles are as per below,

handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 0000fe22-8e22-4541-9d4c-21edae82ed19
handle: 0x000f, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 0000fe23-8e22-4541-9d4c-21edae82ed19
handle: 0x0011, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 0000fe24-8e22-4541-9d4c-21edae82ed19

Now as per Application note flow, I m executing below command sequences

Connecting to STM_OTA MAC
char-write-cmd 0x000e  02007000 - Start user apllication file upload (Not wireless app)
char-write-cmd 0x0013 <20 bytes binary chunk> till size - Flashing biinary in 20 bytes chunk
char-write-cmd 0x000e  07007000 - Inform about file finished 
charcteristic 0x0010  - Read ACK notification of 0x01 of conformation and reboot(?!)

But here neither firmware gets flashed not i m receiving any notification after finished flag sent.

So Can you folks help in here to understand what might be wrong ?

Any help would be appreciable.

Thanks

-Rutvij

2 REPLIES 2
RTriv.1
Associate II

HI,

just a quick update from my end .

I am able to flash thr firmware after properly conversion of hex.

but it flashes till 0x08007F0F location only.

A snippet of memory is as per below

0x08007EC0 : 01 F0 90 F8 BD E8 F2 40 03 20 01 F0 A8 B8 C8 68
0x08007ED0 : 00 F0 80 00 60 F4 90 60 C8 60 4F F4 00 20 70 47
0x08007EE0 : F0 B5 04 46 00 25 EF F3 10 86 72 B6 18 27 DF F8
0x08007EF0 : 50 C1 0C F1 0C 00 07 FB 05 FE 10 F8 0E 00 10 B1
0x08007F00 : 6D 1C 06 2D F5 DB 06 2D 0C D0 6F 43 0C EB 07 00
0x08007F10 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F20 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F30 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F40 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F50 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F60 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F70 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F80 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007F90 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007FA0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007FB0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x08007FC0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Any suggestions ?

Also not able to receive upload finished indication,

Thanks.

RTriv.1
Associate II

Hi there,

Any updates here ?

Thanks.