Updated OTA External Memory bootloadable does not compile

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

cross mob
Anonymous
Not applicable

The started with the BLE OTA External Memory bootloader/Bootloadable example project and it ran just fine on the pioneer board.

   

When I updated the components ane re-compiled,  the bootloadable  output indicates 4 undefined references.

   

The bootloader/bootloadable 1.50 document (page 16) indicates added defines but does not indicate where and what

   

if any/ changes are required for the base example code.

   

Any assistance would be appriciated.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

I fixed your program .

   


> Build bootloader project -

   

> set the bootloadable project active -

   

> enter the path of bootloader project files in the bootloadble component of bootloadable project -

   

> build and program bootloadable project -

   

> Open cysmart 1.2 (make sure the security settings are same as your bootloadable project. Open 'configure master settings ' of cysmart window -

   

> see security parameters-

   

> see it is unauthenticated with encryption (as in your bootloadable project) ) -

   

> Now press sw2 on the pioneer kit to enter into bootloader mode. Now red LED will be blinking on the kit. -

   

> Now start scan in Cysmart -

   

> Device info example -

   

> click on it and press upgrade firmware button -

   

> select the .cyacd file and see whether OTA is failing. At my end it was successful.
I am running PSoC Creator  3.3 CP3 (3.3.0.9604)

View solution in original post

0 Likes
8 Replies
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

You can't use the booloader you have to use the CYSmart 1.2 application to program the Dongle. 

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Please post your program so we can check it.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Code attached is from the forum. I took this code and updated components, then compiled. Bootloader compiled clean.

   

Bootloadable compiles fails on 'implicit declarations' and undefined references.

   

CyBtldrCommStart, CyBtldrCommStop, CyBtldrCommRead, CyBtldrCommWrite.

   

Page 16 of bootloader and bootladable V1.50 pdf lists these functions indicating defines are neccessary.

   

Page 40 of the SCB_P4_v3_20.pdf indicates Mode must be Slave or Muli-Master-Slave also identifing fuctions as described in the bootloader document.

   

Scanning the files, the functions are defined but compile directives are preventing them from exposure. 

   

It appears it is a configuration issue

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

I fixed your program .

   


> Build bootloader project -

   

> set the bootloadable project active -

   

> enter the path of bootloader project files in the bootloadble component of bootloadable project -

   

> build and program bootloadable project -

   

> Open cysmart 1.2 (make sure the security settings are same as your bootloadable project. Open 'configure master settings ' of cysmart window -

   

> see security parameters-

   

> see it is unauthenticated with encryption (as in your bootloadable project) ) -

   

> Now press sw2 on the pioneer kit to enter into bootloader mode. Now red LED will be blinking on the kit. -

   

> Now start scan in Cysmart -

   

> Device info example -

   

> click on it and press upgrade firmware button -

   

> select the .cyacd file and see whether OTA is failing. At my end it was successful.
I am running PSoC Creator  3.3 CP3 (3.3.0.9604)

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Don't use the bootloader host it will not work with this. Use CySmart 1.2 only. 

   

These commands have changed in the 4.2 component

   

CyBtldrCommStart in now CyBLE_CyBtldrCommStart

   

CyBtldrCommStop is now CyBLE_CyBtldrCommStop

   

CyBtldrCommRead is now CyBLE_CyBtldrCommRead

   

CyBtldrCommWrite is  now CyBLE_CyBtldrCommWrite
Always check the API for updates when this kind of problem shows up.

Anonymous
Not applicable

Thank you, 

   

 I tested the update and its works as expected.   Could you elaborate on what the correction was ?

   

I am running PSoC Creator  3.3 CP3 (3.3.0.9604)

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

As I stated the issue was the change in the API for the Ble component they changed some of the commands .  There may be others so I would review it if you need to use other commands.

0 Likes
Anonymous
Not applicable

Thanks again.

   

One last question:  Is the selection of  the prefex 'CyBLE_' , refering to BLE, indicate the OTA bootloader source option ?

   

Other prefixes would indicate other bootloader sources ?

0 Likes