HCI Commands with RAM Download

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

cross mob
YaTr_3516311
Level 5
Level 5
25 sign-ins First solution authored 100 replies posted

Hi,

I want to dowalod FW via HCI command. I do the steps as "WICED HCI UART Control Protocol".

Below is my test steps, I write the wrong data to ram on purpose. I think this steps should make device cannot run because I have downlaod new FW(though data is wrong) to RAM. But it still run normally with old FW. Below is my steps.

1. 01 03 0C 00--------04 0E 04 01 03 0C 00

2. 01 18 FC 06 00 00 00 C2 01 00-----04 0E 04 01 18 FC 00

3. 01 2E FC 00----04 0E 04 01 2E FC 00

4. 01 4C FC 07 38 7A 21 00 01 02 03----04 0E 04 01 03 0C 00(write wrong data to 0x00217A38 )

5. 01 4E FC 04 FF FF FF FF---04 0E 04 01 4E FC 00

Then device run normally with old FW. Why

0 Likes
7 Replies
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi YaTr_3516311​,

What do you mean by writing wrong data? In step 4, you are supposed to give RAM location of your application code & configuration data in HCI command. Your device is not getting programmed with new application if you are providing wrong RAM location.

0 Likes

Hi,

1. What do you mean by writing wrong data?

I want to wirte my application to RAM to test the RAM Download function. Because my application fil...

.2. Unforunately, I do the steps as above said. Device can still run normally. So I think step 4) is useless. I checked RAM address in my ibeacon project of spar_ram_procld. It is 0x00217A38

0 Likes

Hello,

New update here.

I change step 4's address and send 01 4C FC 07 00 00 00 FF 01 02 03 command. I find this address is the OK one(Device reboot then cannot run normally).I get this addresss 00 00 00 FF from iBeacon-CYBT_343026_EVAL-rom-ram-Wiced-release.hcd file. Is this my test correct?

0 Likes

The address in the app hcd file is the location where your application will start. So this new app data will be loaded in RAM using Write RAM command. Therefore, previous app/program will not run after successful Write RAM command.

So addresss 00 00 00 FF is the correct one for Downloading the Application to RAM?

0 Likes

First can you tell me how are you reading the hcd file? Where the address is defined?

Also, try building some other project n see if you are still getting the same address. As per my understanding, it should change.

As I stated earlier, you have to write the starting RAM location of your application while using Write RAM command. This address might vary depending on the applications.

1. First can you tell me how are you reading the hcd file? Where the address is defined?

: There is header in HCD file. Format is: 0-1: hcd command must either be 0x4cfc (write) or 0x4efc (...

2. try building some other project n see if you are still getting the same address. As per my understanding, it should change.

: I build other project such as hello sensor and others. The address is same which is 00 00 00 FF.

3. As I stated earlier, you have to write the starting RAM location of your application while using Write RAM command. This address might vary depending on the applications.

:Yes, I have tried your earlier suggestion(With spar_ram_proc.ld's address 0x00217A38), but there is...

0 Likes