KW41z Otap Implementation

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KW41z Otap Implementation

2,136 Views
mangramarco
Contributor III

Hi,

i need to implement OTAP firmware update capability in a kw41z board (not freedom board). i'read a few documents to learn about this task. Now i'm trying to pratice this: i use project cloner to create a demo clone projects. I created the follows:

- bootloader otap (KDS_frdmkw41z_framework_bare_metal)

- otap client att (KDS_frdmkw41z_bluetooth_bare_metal)

- otap server  (KDS_frdmkw41z_bluetooth_bare_metal)

The documents explain about linker file *ldt to create a 16KB build offset to leave memory space for bootleader. However in this cloned projects there isn't any ldt file. Why? 

Tags (2)
0 Kudos
Reply
5 Replies

1,915 Views
mangramarco
Contributor III

Hi,

i implemented the otap capability in my kw41z board and it works. Today a problem occurs: when the smartphone receive a NewImageInfoRequest command in my app, if is not available any fw image, it responds with a NewImageInfoResponse command with ImageId value equals to 0xffff and consecutive bytes all 0x00, in accordance with documentation (Bluetooth Low Energy User's Guide 11.3.2.3). The otap client reply with an ErrorNotification Command with status gOtapStatusInvalidImageFileSize_c.
Initially i thought it was correct, however if i stop the imageChunk transmission (for example switch off the bt) and later i reconnect and resend a NewImageInfoResponse Command with imageId =0xffff, the smartpone app receive an error and after a gOtapCmdIdImageBlockRequest_c.
I seen the OtapClient_HandleNewImageInfoResponse function and it seems not handle any 0xffff imageId value. Why?

0 Kudos
Reply

2,119 Views
mangramarco
Contributor III

Hello thank you for the reply.

I use KDS for this project however i read the section 5.17 but i not found any useful information about this issue.

I cloned a few projects with project cloner. The bootloader and the otap server has the .ld file but not .ldt files. The otap client att insted has not any ld files so i can't compile it. How can i found the correct ld file?

0 Kudos
Reply

2,111 Views
Ricardo_Zamora
NXP TechSupport
NXP TechSupport

Hi,

 

The MCUXpresso IDE and MCUXpresso SDK are the recommended software and tools.

Please check the documentation so that you can use them.

 

Regards,

Ricardo

0 Kudos
Reply

2,126 Views
Ricardo_Zamora
NXP TechSupport
NXP TechSupport

Hi,

 

Please download the SDK from this page: Select Board. You will have access to the SDK examples and the related documentation.

I would recommend to check section 5.17 (Over the Air Programming (OTAP)) of the BLE Demo Applications User's Guide.pdf. (Path: SDK_doc.zip\docs\wireless\Bluetooth)

The MCUXpresso IDE can be downloaded from this page: MCUXpresso.

Hope this helps.

 

Regards,

Ricardo

0 Kudos
Reply

2,071 Views
mangramarco
Contributor III

Hello, thank you for the reply.

I'm following the documentation but some resources are referred to kds and other to mcuxpresso. Moreover i need to stay with kds ide instead of mcuxpresso ide. However i downloaded and install MCUXpresso to see the example code.

In this days i read about linker scripts and now i can compile the demo project with kds. The .ld file taken from mcuxpresso code has the "MEMORY" region with symbols. I changed the symbols with constant address number directly and it works. Now i have a question: Why the mcuxpresso can compile the project using symbols inside the "MEMORY" region and the kds need only constant expression as explained in official manual https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_chapter/ld_3.html#SEC16 ? Maybe because MCUXpresso use Xtext Project Builder instead of Processor Expert Builder?

0 Kudos
Reply