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

Studio Bluetooth Forum Discussions

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

Hi,

之前有问过ram downlaod的地址,那么HCI Commands and Events During a Serial Flash Download里的 mapped address for serial flash的地址是多少?

pastedImage_0.png

0 Likes
1 Solution

1. Hex的起始地址是FF 00 00 00, 是从你图上A处开始的。

这个起始地址是从第一行02000004FF00FB读到的,第一行解析如下:

02:数据长度

0000:起始地址

04:扩展地址记录

FF00:32位地址的前缀,地址偏移量的高16位

FB: checksum

2. A处数据中“FFEEDDCCBBAA”表示设备地址为AABBCCDDEEFF,如果要修改设备地址,改这个地方就可以了,没有其他说明。

3. 从28这一行开始已经是数据内容了。

4. 00 0D 02 00是minidriver的其实地址,并不是application的地址。minidriver的地址可以在build/download.log当中找到。

    application的地址是从FF000000开始的。如1所述,是在hex文件当中定义的。

View solution in original post

0 Likes
8 Replies
AnjanaM_61
Moderator
Moderator
Moderator
First comment on KBA 5 questions asked First question asked

Hi Yao Treacy,


Can you please confirm if you are doing a RAM download or flash download ?

Thanks,

Anjana

0 Likes

flash download

0 Likes

Could you have a confirm ASAP?

0 Likes

Hi Yao Treacy,

For the flash download , build the program and get hex file from WICED SDK.

The address to be written will be available in the hex file itself. You just need to parse it correctly.

You can find the formatting of hex file for ARM cores here:

http://www.keil.com/support/docs/1584/

You just need to parse the hex file and send the HCI write ram commands  according to the steps mentioned in doc.

Regards,

Anjana

0 Likes

我查看了一下.hex的文件,截图如下。

1) 所以说flash的起始地址是0030还是00 00 00 03?

2)A处":28000000010800F000006208C05D89FD0400FFFFFFFF400600FFEEDDCCBBAA020A000030000000100000001035"对应的含义是什么?应该是跟mac地址有关?能详细解说一下这一行吗?

3)所有的hex文件都是会有“:28000000010800F000006208C05D89FD0400FFFFFFFF400600FFEEDDCCBBAA020A000030000000100000001035”行,然后才是真正的数据内容?

pastedImage_0.png

4)通过分析WICED module programmer工具发送的命令,为什么地址是从000D0000开始的?怎么跟hex文件里的地址对应不上

pastedImage_0.png

0 Likes

1. Hex的起始地址是FF 00 00 00, 是从你图上A处开始的。

这个起始地址是从第一行02000004FF00FB读到的,第一行解析如下:

02:数据长度

0000:起始地址

04:扩展地址记录

FF00:32位地址的前缀,地址偏移量的高16位

FB: checksum

2. A处数据中“FFEEDDCCBBAA”表示设备地址为AABBCCDDEEFF,如果要修改设备地址,改这个地方就可以了,没有其他说明。

3. 从28这一行开始已经是数据内容了。

4. 00 0D 02 00是minidriver的其实地址,并不是application的地址。minidriver的地址可以在build/download.log当中找到。

    application的地址是从FF000000开始的。如1所述,是在hex文件当中定义的。

0 Likes

明白。

:02000004FF00FB

:28000000010800F000006208C05D89FD0400FFFFFFFF400600DA3588888888020A000030000000100000001001

开始的第一行和第二行都是固定长度的?

0 Likes

你指的是针对不同的application,前两行的长度都是一致的吗?

从目前看到的hex文件,确实都是一样的。

0 Likes