KW41z Otap Implementation

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

KW41z Otap Implementation

2,076 次查看
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? 

标记 (2)
0 项奖励
回复
5 回复数

1,855 次查看
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 项奖励
回复

2,059 次查看
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 项奖励
回复

2,051 次查看
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 项奖励
回复

2,066 次查看
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 项奖励
回复

2,011 次查看
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 项奖励
回复