WICED HCI Download firmware to ram using client control 2

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

cross mob
siaa_4420406
Level 1
Level 1
5 questions asked First question asked First reply posted

This question follow my last one which has been marked as solved by someone else :

WICED HCI Download firmware to ram using client control

I successfuly download to RAM my own software using ModulToolBox ClientControl on windows and a .hcd file build from Windows

I am also able to download to RAM the same ".hcd" file build from windows on a client control running on linux.

I use sdk v1.4 on both setup.

I have compare my .hcd build from linux to the one from Windows,

Has i understand my Client Control error "10-30-2019 17:58:24.756: Wrong HCD file format trying to read the command information" came from the linux generated .hcd file which as the following issue :

Most of the third byte of the WRITE_RAM command have for value 0x18 on the ".hcd" file generated from linux

The ".hcd" file generated from widows have for the same third byte most of the time value 0x14

What is wrong with my setup on linux ?

I also try to compile my own version of Client Control on linux but the build fail since the source code does not include the following file "protobuf_rpc.h" :

client_control/source/nanopb/protobuf_rpc.c:3: error : 'protobuf_rpc.h' file not found

Thanks

Simon

0 Likes
1 Solution
Charles_Lai
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 sign-ins

Hi,

How did you compile your own version of Client Control?

The source code is provided as a QtCreator project. You can try follow QtCreator instructions to compile it.

And kindly note that: "protobuf_rpc.h"

is placed here: <wiced_btsdk>/tools/btsdk-host-apps-bt-ble/client_control/source/protobuf_rpc.h. It's provided within the source code.

----------------------

And I also tried "download to RAM" using ClientControl. I re-downloaded the .hcd file listed in "./build/CYBT-213043-EVAL/Debug/BLE_HelloSensor_download.hcd" and it worked fine.

I'm not sure what the exact procedure you are following. But I think if you use ModusToolBox 2.0, then download the correct wiced_bsdk (provided beside the code examples) and code examples, then build and download, you will find it done.

----------------------

The third byte of the WRITE_RAM command (and other command) stands for the command payload length. the value don't have to be the same. It only needs to match its payload.

And kindly remind that: Please use the corresponding ClientControl which platform matches the build platform of your .hcd file, to see if it solves your problem (i.e., you should only download the .hcd file built upon Windows using the Windows version of ClientControl, or download the .hcd file built upon Linux using the Linux version of ClientControl).

<<<<<<<<<<<<<>>>>>>>>>>>>>
Best regards
C. L.
<<<<<<<<<<<<<>>>>>>>>>>>>>

View solution in original post

0 Likes
2 Replies
siaa_4420406
Level 1
Level 1
5 questions asked First question asked First reply posted

I forgot to said that even if the download to RAM succeed the Launch RAM return me a "response incorrect" message with "Client Control". The firmware is then not execute since no output are print to PUART

0 Likes
Charles_Lai
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 sign-ins

Hi,

How did you compile your own version of Client Control?

The source code is provided as a QtCreator project. You can try follow QtCreator instructions to compile it.

And kindly note that: "protobuf_rpc.h"

is placed here: <wiced_btsdk>/tools/btsdk-host-apps-bt-ble/client_control/source/protobuf_rpc.h. It's provided within the source code.

----------------------

And I also tried "download to RAM" using ClientControl. I re-downloaded the .hcd file listed in "./build/CYBT-213043-EVAL/Debug/BLE_HelloSensor_download.hcd" and it worked fine.

I'm not sure what the exact procedure you are following. But I think if you use ModusToolBox 2.0, then download the correct wiced_bsdk (provided beside the code examples) and code examples, then build and download, you will find it done.

----------------------

The third byte of the WRITE_RAM command (and other command) stands for the command payload length. the value don't have to be the same. It only needs to match its payload.

And kindly remind that: Please use the corresponding ClientControl which platform matches the build platform of your .hcd file, to see if it solves your problem (i.e., you should only download the .hcd file built upon Windows using the Windows version of ClientControl, or download the .hcd file built upon Linux using the Linux version of ClientControl).

<<<<<<<<<<<<<>>>>>>>>>>>>>
Best regards
C. L.
<<<<<<<<<<<<<>>>>>>>>>>>>>

0 Likes