Bee项目文档规范 RTL8762C OTA User Manual EN

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 35

DownloadBee项目文档规范 RTL8762C OTA User Manual EN
Open PDF In BrowserView PDF
RTL8762C OTA User Manual

ek

alt

Re
Co
de

nfi
V1.01

al
nti

2018/06/11

RTL8762C OTA User Manual

Revision History

Date

Version

Comments

Author

2018/06/09

V1.0

First release version

Ken

2018/06/11

V1.0.1

Modify Indications for image version.

2018/09/12

V1.1

Correction, formatting

Reviewer

Astor

ek

alt

Re
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

2

RTL8762C OTA User Manual

Contents
Revision History ................................................................................................................................................ 2
1

Overview ................................................................................................................................................... 5
1.1

Function Description ................................................................................................................................. 5

1.2

OTA Mechanics .......................................................................................................... 错误!未定义书签。

2

Flash layout ............................................................................................................................................... 6

3

Image Header Format ................................................................................................. 错误!未定义书签。

4

Package and flash layout sample ............................................................................................................. 13

Re

4.1

Support bank switching...................................................................................................................... 13
FLASH Layout ................................................................................................................................ 13

4.1.2

Usage of package tool without switching bank ............................................................................... 19

4.1.3

Usage of package tool with bank switching .................................................................................... 14

ek

alt

4.1.1

Attentions of RTKBLEMPTool Usage ...................................................................... 错误!未定义书签。

6

OTA Protocol .......................................................................................................................................... 22

Co

5

DFU Service ............................................................................................................................................ 22

6.2

OTA Service ............................................................................................................................................ 24

de

nfi

6.1

OTA CMD ....................................................................................................................................... 24

6.2.2

Device Mac ...................................................................................................................................... 25

6.2.3

Patch Version ................................................................................................................................... 25

6.2.4

APP Version .................................................................................................................................... 25

6.2.5

Patch Extension Version .................................................................................................................. 26

6.2.6

Test Mode ........................................................................................................................................ 26

6.2.7

Device Info ...................................................................................................................................... 26

6.2.8

Image Counter ................................................................................................................................. 28

6.2.9

Image Version .................................................................................................................................. 29

al
nti

6.2.1

7

Usage of Master application .................................................................................................................... 34

8

Reference ................................................................................................................................................. 35

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

3

RTL8762C OTA User Manual

Table List
Table 2.1: Flash Layout ............................................................................................................................................. 6
Table 2.5: OTA Header Format .................................................................................................................................. 9
Table 2.6: Fields of OTA Header ............................................................................................................................. 10
Table 2.7: Image Header Layout.............................................................................................................................. 10
Table 2.8: Image Header Field..................................................................................................................................11
Table 4.1: FLASH Layout Sample .......................................................................................................................... 14
Table 6.1: Dfu opcode.............................................................................................................................................. 23
Table 6.2: Ota Characteristic ................................................................................................................................... 24
Table 6.3: OTA CMD characteristics ....................................................................................................................... 25

Re

Table 6.4: Device Mac characteristics ..................................................................................................................... 25
Table 6.5: Patch Version characteristic for bee2 (don’t recommend, described in image version) ......................... 25

alt

Table 6.6: APP Version characteristic for bee2 (don’t recommend, described in image version) ........................... 26
Table 6.7: Patch Extension Version characteristic ................................................................................................... 26

ek

Table 6.8: Test Mode characteristics ........................................................................................................................ 26
Table 6.9: Device info characteristic for Bee2......................................................................................................... 27

Co

Table 6.10: Device info Format For Bee2 (OTA version = 1) ................................................................................. 28
Table 6.11: Image Counter characteristics ............................................................................................................... 28

al
nti

de

nfi

Table 6.12: Image Counter characteristics ............................................................................................................... 29

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

4

1

Overview

1.1 Function Description
OTA (Over The Air) represents the technology that apply Bluetooth to update image (code and data) that runs in
RTL8762C Flash.
Note: This document is also applied to RLT8752 series.

1.2 Related Emphasis
1. Flash Layout

3. Package

ek

alt

4. Ota Protocol

Re

2. IMG format

Co
al
nti

de

nfi

RTL8762C OTA User Manual

2 Flash layout
Flash layout of RTL8762C consists of OEM Config, OTA Bank0, OTA Bank1, FLASH Transport Layer(FTL),
OTA TMP and APP defined section, as shown in Figure 2.1. Start address for accessing Flash is 0x800000.

Start Address: 0x801000

OEM Config
Start Address: Variable

OTA Bank0
OTA Bank1

Re

FTL(FLASH Transport Layer)

OTA TMP(Reserved for legacy)

alt

APP Defined Section

ek

Figure 2.1: Flash Layout

Co

Memory and corresponding function of Flash is shown in Table 2.1

Size

Segment

Address

(Bytes)

Functions

de

Starting

nfi

Memory

Storage of Config information, including

0x801000

al
nti

OEM Config

0x1000

Bluetooth address, AES Key and Customizable
Flash Layout.

If not in bank switching mode, this region contains
the project data and codes to be executed,
including OTA Header, Secure boot, Patch, APP,

OTA Bank 0

Variable

Variable length

(defined in

(defined in OEM

OEM Config)

Config)

Data1, Data2. OTA_TMP is the backup region of
this OTA.
In bank switching mode, OTA Bank 0 and OTA
Bank 1 is backup region of each other. Suppose
OTA Bank 0 is execution region, then OTA Bank
1 is backup region.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

6

RTL8762C OTA User Manual

Variable

Variable length

(defined in

(defined in OEM

OEM Config)

Config)

Variable

Variable length

(defined in

(defined in OEM

OEM Config)

Config)

OTA Bank 1

This region only exists when bank switching
method is applied. It has same functions and same
size with Bank 0 in bank switching mode
A software technology that access Flash with
logical address. Customer no longer needs to focus

FTL

on operations on Flash physical layer.
This region also balances consumption.
Variable length

(defined in

(defined in OEM

OEM Config)

Config)

Variable

Variable length

(defined in

(defined in OEM

OEM Config)

Config)

OTA_TMP

APP Defined
Section

Used as backup region of OTA if not in bank
switching mode. Its size should be no less than
largest image in OTA Bank 0.
The rest of Flash that can be customized. This
region cannot be managed by OTA scheme.

alt

Re

Variable

Table 2.1 FLASH Memory and Function Description

ek

OTA bank layout is shown in Figure 2.2, and description for each part is shown in Table 2.2.

Co

OTA Header

Low
Address

Secure Boot Loader

nfi

Patch

App Data0
App Data1

al
nti

de

App

High
Address

Figure 2.2 Layout of Bank 0/1

Memory
Starting Address

Size

Functions

Segment
Determined in the
OTA Header

This region contains the OTA Header version and start
4KB

OEM Config

address and size of the images in the bank

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

7

RTL8762C OTA User Manual

region
Determined in the
Secure Boot
Loader

OTA Header

Variable

This region contains secure boot loader.

region
Determined in the
This region contains the code that optimize and extend

Patch

OTA Header

Variable
the protocol stack and system in ROM.

region
Determined in the
App

OTA Header

Variable

This region contains project code.

Variable

Data region used in project.

region

App Data0

Re

Determined in the
OTA Header
region

alt

Determined in the
OTA Header
region

Variable

ek

App Data1

Data region used in project.

Co

Table 2.2 Flash Segmentation

de

nfi

3 Image Header Format

OTA Header image is made up of header (1KB) and dummy payload (3KB). OTA Header is generated by

al
nti

MPPackTool. Different fields of header are shown in Figure 2.3.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

8

RTL8762C OTA User Manual

ctrl_header(12bytes)
uuid(16bytes)
exe_base(4bytes)
load_base(4bytes)
RSVD0(12bytes)
magic_pattern(4bytes)
RSVD1(44bytes)
git_version(16bytes)
RSA Public Key(260bytes)
ver_val(4bytes)
secure_boot_addr(4bytes)
secure_boot_size(4bytes)
rom_patch_addr(4bytes)

Header
(1024 bytes)

Re

rom_patch_size(4bytes)
app_addr(4bytes)
app_size(4bytes)

alt

app_data1_addr(4bytes)
app_data1_size(4bytes)

ek

app_data2_addr(4bytes)
app_data2_size(4bytes)
RSVD2(64bytes)

Co

payload_signature(256bytes)
payload_mac(16bytes)
header_signature(256bytes)

nfi

header_mac(16bytes)

de

Payload(3K bytes)

al
nti

Figure 3.1: OTA Header Format

Header fields and corresponding functions are shown in Table 2.3

Length
Fields

Functions
(Byte)

ctrl_header

12

Control message of OTA Header

secure_boot_addr

4

Start address of secure boot image

secure_boot_size

4

Size of secure boot image

rom_patch_addr

4

Start address of ROM patch image

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

9

RTL8762C OTA User Manual

rom_patch_size

4

Size of ROM patch image

app_addr

4

Start address of application image

app_size

4

Size of application image

app_data1_addr

4

Start address of application data1

app_data1_size

4

Size of application data1

app_data2_addr

4

Start address of application data2

app_data2_size

4

Size of application data2

Table 3.3: Fields of OTA Header
Image of patch, APP and App data is made up of image header (1KB) and corresponding payload. Image header

Re

of patch and APP is generated while compiling and linking, and that of App data is added by APP DATA Tool.
Header fields are shown in Figure 2.4, and corresponding functions are shown in Table 2.4

ek

alt

ctrl_header(12bytes)
uuid(16bytes)

exe_base(4bytes)

Co

load_base(4bytes)
load_len(4bytes)
RSVD0(8bytes)

nfi

magic_pattern(4bytes)
dec_key(16bytes)

de

RSVD1(28bytes)
Header
(1024 bytes)

git_version(16bytes)

al
nti

RSA Public Key(260bytes)
SHA256(32bytes)
RSVD2(76bytes)

payload_signature(256bytes)
payload_mac(16bytes)
header_signature(256bytes)
header_mac(16bytes)

Figure 3.4: Image Header Layout
Fields

Length(Byte)

Functions

ctrl_header

12

Control information field of Image Header

git_version

16

Information field of version control
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

10

RTL8762C OTA User Manual

Table 3.4: Image Header Field

ctrl_header format in Image Header is shown as follows:

typedef struct _IMG_CTRL_HEADER_FORMAT
{
uint8_t ic_type;
uint8_t secure_version;
union
{

struct

alt

{

Re

uint16_t value;

uint16_t xip: 1; // payload is executed on flash

ek

uint16_t enc: 1; // all the payload is encrypted
uint16_t load_when_boot: 1; // load image when boot

Co

uint16_t enc_load: 1; // encrypt load part or not
uint16_t enc_key_select: 3; // referenced to ENC_KEY_SELECT
uint16_t not_ready : 1; //for copy image in ota

nfi

uint16_t not_obsolete : 1; //for copy image in ota

de

uint16_t integrity_check_en_in_boot : 1; // enable image integrity
check in boot flow

al
nti

uint16_t rsvd: 6;
};
} ctrl_flag;
uint16_t image_id;
uint16_t crc16;
uint32_t payload_len;
} T_IMG_CTRL_HEADER_FORMAT;

ic_type represents IC type, which has the value of 5 when RTL8762C/RTL8752 chip is used. secure_version
indicates version of secure boot image.
image_id identifies different types of image, among which SCCD, OCCD and FactoryCode cannot be updated
through OTA. The types are enumerated in IMG_ID.
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

11

RTL8762C OTA User Manual

typedef enum _IMG_ID
{
SCCD
OCCD

= 0x278D,
= 0x278E,

FactoryCode
OTA
SecureBoot

= 0x278F,
= 0x2790, /* OTA header */
= 0x2791,
= 0x2792,

AppPatch

= 0x2793,

AppData1

= 0x2794,

AppData2

= 0x2795,

IMAGE_MAX

= 0x2796,

alt

} IMG_ID;

Re

RomPatch

ek

payload_length represents the size of image in byte, excluding 1KB image header.
crc16 indicates check method, which can be crc check and SHA256 check. 0 represents crc check and 1 represents

Co

SHA256 check.

ctrl_flag and OTA related bit field can be not_ready and not_obsolete. not_ready indicates whether OTA write is

nfi

successfully completed and its default value is 0. When image is about to be written into backup region, not_ready
will be set to 1 at first. Not until update transmission is completed and integrity check is passed will the not_ready

de

flag be set to 0 to indicate that image is ready.

not_obsolete indicates if the image should be abandoned and its default value is 1. This parameter is invalid in

al
nti

bank switching mode. When not in bank switching mode, if not_ready is read 0 and not_obsolete is read 1, image
will be moved from OTA_TMP region to specified region (APP region, Patch region or App data region).
not_obsolete flag will be written 0 after transfer completed.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

12

RTL8762C OTA User Manual

4 Package and flash layout sample
4.1 Support bank switching
Related tool and their functions:


FlashMapGenerateToo:

Generate flash map.ini and flash_map.h, flash_map.h should be put in same

l

directory with project and generate APP Image. flash map.ini is the input file of
MPPackTool and MPTool to ensure image has the same address with the address in
settings.

MPPackTool:

Package OTA files.



MPTool:

Perform address conversion operation on Patch.

alt

Re



4.1.1 FLASH Layout

ek

Bank switching method needs 2 OTA Banks that are completely same to become the backup of each other. Its’s

Co

advantage is that program can directly jump to new bank when reboot. However, OTA update in bank switching
mode takes more flash memory to speed up update, so the size of flash memory should be larger if bank switching
method is applied.

nfi

If flash size is comparatively large, user can update firmware by applying bank switching method. Take 1 MB

de

Flash as example, the suggested Flash layout is shown below:

size

start address

1) SOCV Header

4K

0x800000

4K

0x801000

400K

0x802000

al
nti

sample layout for flash(total size = 1MB)
2) OEM Header
3) OTA Bank0
a) OTA Header

4K

b) Secure boot loader

16K

0x803000

c) Patch code

40K

0x807000

d) APP code

160K

0x811000

e) APP data1

180K

0x839000

f) APP data2

0K

4) OTA Bank1 (same as OTA Bank0)
a) OTA Header

400K

0x866000

4K

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

13

RTL8762C OTA User Manual

b) Secure boot loader

16K

0x867000

c) Patch code

40K

0x86B000

d) APP code

160K

0x875000

e) APP data1

180K

0x89D000

f) APP data2

0K

5) FTL

16K

6) OTA Temp

0K

7) APP Defined Section

0x8A1000

200K

Table 4.1: FLASH Layout Sample

alt

Re

Note: Flash Layout should be determined based on actual size of image and data.

4.1.2 Usage of package tool with bank switching

ek

1. Use FlashMapGenerateTool to ‘flash map.ini’ and ‘flash map.h’. Copy ‘flash map.h’ to project directory and

Co

open project with Keil. Link and compile the project to generate “app_MP_sdk#####+version+MD5.bin” file
for packaging. To apply Bank switching method, “mem_config.h” in project directory should be modified.

nfi

/** @brief set app bank to support OTA: 1 is ota bank1, 0 is ota bank0 */

de

#define APP_BANK

0

al
nti
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

14

RTL8762C OTA User Manual

ek

alt

Re
Figure 4.1 Generate Flash Layout

Co

Note: The ‘flash map.ini’ generated should keep consistent with the one used in mass production.

de

nfi
2. Open MP_PackTool, load the ‘flash map.ini’ file generated in step 1 and generate OTA Header0, OTA

al
nti

Header1 separately.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

15

RTL8762C OTA User Manual

ek

alt

Re
Co
nfi

Figure 4.2 MP PACK Tool Load Flash Layout

de

OTA Header1 follows the same procedure.

al
nti

3. Generate OTA Header0 and OTA Header1. Take OTA Header0 as an example, as shown below. Generating

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

16

RTL8762C OTA User Manual

ek

alt

Re
Co

nfi

Figure 4.3 Generate OTA Header

bank be valid after OTA.

al
nti

de

Note: Only if the version number of OTA Header to be packaged is higher than that of current version, can new

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

17

RTL8762C OTA User Manual

4. Generate packet file of ImgPacketFile-xxxxxx.bin in current directory, which is used for updating.

ek

alt

Re
Co
nfi

de

Figure 4.4 Package to generate PACK
Note: 1. Both OTA Head0 and OTA Header1 need to be packaged to PACK, different from the mode without bank

al
nti

switching.

2. All the contents defined in Flash layout need to be packaged, especially Header, Patch and APP of OTA.
3. It is recommended that package both bank0 and bank1 in PACK.

4. Patch image address needs to be converted through RTKBLEMPTool.

5. APP DATA file is generated with APP DATA generation script, for detailed information refer to Bee2
Tools User Guide.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

18

RTL8762C OTA User Manual

4.2 Do not support bank switching
4.2.1 FLASH Layout
The differences between the method without bank switching and the one with bank switching are:
1. OTA Bank1 region needn’t be allocated.
2. OTA Temp region needs to be allocated and its size should be no less than the largest image in OTA Bank0.
Thus, the method without bank switching saves more flash. After OTA transmission is completed and program is
rebooted, the data in OTA Temp region will be moved to the image region specified by OTA Bank0. The data
won’t be valid until program is rebooted, which increase the duration of update.

Re

The suggested Flash layout is shown below:

sample layout for flash(total size = 256KB)

alt

1) OEM Header

start addr

4K

0x801000

140K 0x802000

ek

2) OTA Bank0

size

4K

b) Secure boot loader

4K

0x80D000

c) Patch code

40K

0x803000

92K

0x80E000

0K

0x825000

d) APP code

Co

a) OTA Header

nfi

e) APP data1

de

f) APP data2

0K
0K

0x825000

4) FTL

16K

0x825000

92K

0x829000

5) OTA Temp
6) APP Defined Section

al
nti

3) OTA Bank1 (same as OTA Bank0)

0K

Table 4-2:FLASH Layout Sample

Note: The space for APP data is not allocated in this sample; FLASH Layout should be distributed based on
actual size of image and data.

4.2.2 Usage of package tool without bank switching
1. Use FlashMapGenerateTool to ‘flash map.ini’ and ‘flash map.h’. Copy ‘flash map.h’ to project directory and
open project with Keil. Link and compile the project to generate “app_MP_sdk#####+version+MD5.bin” file
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

19

RTL8762C OTA User Manual

for packaging. To apply Without Bank switching method, “mem_config.h” in project directory should be
modified.

/** @brief set app bank to support OTA: 1 is ota bank1, 0 is ota bank0 */
#define APP_BANK

0

ek

alt

Re
Co
de

nfi
Figure 4.5 flash layout generation

al
nti

2. Open MP_PackTool to load flash_map.ini generated in previous step and load corresponding image.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

20

RTL8762C OTA User Manual

ek

alt

Re
Co

nfi

Figure 4.6 MP PACK Tool Load flash layout

de

Note: 1. OTA Head0 doesn’t need to be packaged to PACK, different from the mode with bank switching.
2. Content of Secure boot loader Image is defined in Flash Layout, but it’s not recommended to package if

al
nti

there isn’t any new version of Secure boot loader Image.

3. If only ROM Patch Image or APP Image, either of them can be packaged.

4. Patch image address needs to be converted through RTKBLEMPTool generally. Patch address here is the
same with the default address (0x803000) and it can be used without conversion.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

21

RTL8762C OTA User Manual

5 OTA Protocol
5.1 DFU Service
DFU Service uuid: { 0x12, 0xA2, 0x4D, 0x2E, 0xFE, 0x14, 0x48, 0x8e, 0x93, 0xD2, 0x17, 0x3C, 0x87, 0x62,
0x00, 0x00}.

Re

DFU Service defines two Characteristics:
Data Characteristic accepts img data (write no response);

alt

Control Point Characteristic accepts control commands (write/notification);

ek

Control points supported by DFU Service:

M

Properties

Write

Parameter Description

Applicable

Response Parameter

Response

nfi

Start DFU①

Requirement

Co

Procedure

ic_type(UINT8)

Value(s)
ARV

None

de

secure_version (UINT8)
ctrl_flag.value(UINT16)

al
nti

image_id (UINT16)
crc16((UINT16)

payload_len (UINT32)

Receive FW image

M

Write

image_id (2byte-UINT16)

ARV

None

nImageLength
(4Byte-UINT32)
Validate FW

M

Write

image_id (2byte-UINT16)

ARV

None

Activate Image and

M

Write

None

None

None

M

Write

None

None

None

Reset
Reset System

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

22

RTL8762C OTA User Manual
M

Write

image_id(UINT16)

ARV

origin_image_version

Report Received

(UINT32)

Image Information

cur_offset (UINT32)

M

Write

connIntervalMin(UINT16)

ARV

None

ARV

Max buffer size(UINT16)

connIntervalMax
Connection

(UINT16)

parameter update

connLatency(UINT16)
supervisionTimeout
(UINT16)

Buffer check enable

M

IC type

O

Copy Img②

Mtu size(UINT16)

Write

mBufferSize(UINT16)

Write
Write

ARV

mCrc(UINT16)

Next send
offset(UINT32)

None

ek

M

None

alt

size&crc

Write

Re

Buffer check

M

image_id(UINT16)

ARV

ic_type(UINT8)

ARV

None

destination_addr(UINT32)

Co

copysize(UINT32)

Table 5.1: Dfu opcode

nfi

Note:

1. Parameter of “Start DFU” is ctrlheader of image. It will be written into flash as a part of update file after

written into Flash.

de

receiving ctrlheader. The 12 bytes received parameter of Start DFU will be decrypted first, then resolved to be

al
nti

2. To update APP data with bank switching when secure version and APPDATA version are the same, this
command can be used to copy contents of source bank to the destination bank directly without OTA data
transporting

To transmit data with buffer check enabled, the size of buffer check must be (16 ∗ 2n) bytes and no more than
max buffer size (returned by buffer check enable commands). If AES enabled, every 16-byte data will be
encrypted with AES. When data is received, it needs to be decrypted first. For the last 16 bytes don’t need
encryption. When buffer is full, data in buffer will be written into Flash.

To transmit data with buffer check disabled, data of 20*n (n=1,2,4,5,10) bytes is sent each time. Data won’t be
written into Flash until RTL8762C receives 2000 bytes of data.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

23

RTL8762C OTA User Manual

If AES enabled, the data with the size of 16× 𝑞 will be encrypted, and the data with the size of 𝑟 won’t be
encrypted. 𝑞 and 𝑟 follows the formula:
𝒔𝒊𝒛𝒆 = 𝟏𝟔 × 𝒒 + 𝒓,
where 𝑞 stands for ‘quotient’ and 𝑟 stands for ‘remainder’.

5.2 OTA Service
OTA Service uuid: { 0x12, 0xA2, 0x4D, 0x2E, 0xFE, 0x14, 0x48, 0x8e, 0x93, 0xD2, 0x17, 0x3C, 0xFF, 0xD0,
0x00, 0x00}.
OTA Service defines the following Characteristics:

Device Mac

Mandatory Properties

Description

M/O

WriteWithoutResponse

Refer to OTA CMD

alt

OTA CMD

Requirement

M

Read

Refer to Device Mac

M

Read

Refer to Patch Version

M

Read

Refer to App Version

O

Read

Re

Characteristic Name

Patch Version

ek

App Version

Device Info

M

Image Counter

O

Image Version

M

WriteWithoutResponse

Refer to Test Mode

Read

Refer to Device Info

WriteResponse

Refer to Image Counter

Read

Refer to Image Version

al
nti

de

O

Version

nfi

Test Mode

Refer to Patch Extension

Co

Patch Extension Version

Table 5.2: OTA Characteristic

5.2.1 OTA CMD
UUID: 0xFFD1

This characteristic allows device to access control point of OTA. If DFU service runs in ROM code, it uses this
command to enter DFU mode.

Field
Names

Format

Value

Uint8

1

Requirement
OTA CMD

Mandatory

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

24

RTL8762C OTA User Manual

Table 5.3: OTA CMD characteristics

5.2.2 Device Mac
UUID: 0xFFD2
This characteristic is used to read BDA (Bluetooth Device Address) of RTL8762C to compare with the scanned
BDA in OTA mode.

Field
Name

Format

Value

Uint8*6

XX:XX:XX:XX:XX:XX

Requirement

Re

Device Mac

Mandatory

Table 5.4: Device Mac characteristics

ek

alt
5.2.3 Patch Version

Co

UUID: 0xFFD3

This characteristic is used to read patch version and compatible with Bee1. Patch version information is described

de

nfi

in “Image version” in Bee2.

Field
Name

Format

Patch Version

Mandatory

Uint32

Value

al
nti

Requirement

0xNNNNNNNN

Table 5.5: Patch Version characteristic for Bee2 (not recommend, described in image version)

5.2.4 APP Version
UUID: 0xFFD4
This characteristic is used to read APP version and compatible with Bee1 (not recommended in Bee2). APP
version information is described in “Image version” in Bee2.

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

25

RTL8762C OTA User Manual

Field
Name

Format

Value

Uint32

0xNNNNNNNN

Requirement
APP Version

Mandatory

Table 5.6: APP Version characteristic for Bee2 (not recommend, described in image version)

5.2.5 Patch Extension Version
UUID: 0xFFD5
This characteristic is used to read patch extension version. It is only used for Bee1 but not for Bee2.

Re

Field

Name

Format

Value

Uint16

0xNNNN

Requirement

alt

Patch extension

Optional

Version

ek

Table 5.7: 错误!未找到引用源。Patch Extension Version characteristic

Co

5.2.6 Test Mode

nfi

UUID: 0xFFD8

de

This characteristic allow device to exit control point in test mode and write ‘1’ to clear test flag to quit MP mode.

Requirement
Test mode

Optional

al
nti

Field
Name

Format

Value

Uint8

1

Table 5.8: Test Mode characteristics
Note: This characteristic is not related to OTA.

5.2.7 Device Info
UUID: 0xFFF1
This characteristic is used to read device information, and its description is shown below:
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

26

RTL8762C OTA User Manual

For the other BT SoC chip, the characteristic is as below.
Field
Name

Format

Value

Requirement
As Table
Device info

Mandatory

As Table 6.10
6.10

Table 5.9: Device info characteristic for Bee2.

ICType

Version

8bit

8bit

BBpro:
4
BEE2:5

Bit3~0:
OTA
version
= 0x1
Bit7~4:
Reserve
d:0x0.

Secure
Version

Format

Max
Buffer
Size

Reserved

8bit

16bit

16bit

0xNNNN

0x00

Bit
0

alt

Re

Value

8bit

MODE

0:normal mode
1:Support buffer
check
0:Aes flag not set

1

1:Aes flag Set

Bit

0: Only encrypt first

2

16 bytes of OTA data

ek

Bit

Co

in normal mode.
1:Encrypt 16*N bytes
of OTA date in normal

nfi

mode
Bit3

0: Disable Copy

de

Image.

1: Enable Copy Image.

0: Update one Image at
a time.

al
nti

Bit4

1: Update multiple
Images at a time.

Image Version Indicator

Format
(Attach to above table)

32bit

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

27

RTL8762C OTA User Manual

0xNNNNNNNN
Indications for each image version. Each indication uses 2 bits.
00: image does not exist.
01: image exists in bank0, OTA should update image for bank1.
10: image exists in bank1, OTA should update image for bank0.
11: image is standalone. OTA should update image for standalone.

bit[1:0]: Image 0
…
Value

bit[2N+1:2N]:Image N

(Attach to above table)

Image indicator for bee2 is as below:
SOCV Config File

Image 1

System Config File

Image 2

OTA Header File

Image 3

Secure Boot Loader Image

ek

alt

Re

Image 0

Image 4

ROM Patch Image

Image 5

APP Image

Image 7

Co

Image 6

APP Data1 File
APP Data2 File

nfi

Table 5.10: Device info Format For Bee2 (OTA version = 1)

de

5.2.8 Image Counter

al
nti

UUID: 0xFFF2

This characteristic is used to write response and inform device how many image files are about to be written.

Field
Name

Format

Value

Uint8

0xNN

Requirement
Image Counter

Optional

Table 5.11: Image Counter characteristics

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

28

RTL8762C OTA User Manual

5.2.9 Image Version
UUID: 0xFFE0~FFEF
This characteristic is used to read image versions of device. Each image version occupies 4 bytes. Limited to
MTU size (20 bytes), user needs to define another characteristic (UUID: 0xFFE0~FFEF) to read next image
version when number of image is greater than 5. The number of device img versions is indicated by Image Version
Indicator, which is defined in Device Info (0xfff1).

Field
Name

Format

Value

Requirement

Re

Image Version

mandatory

Uint32*N

Table 5.12: Image Counter characteristics

ek

alt
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

29

RTL8762C OTA User Manual

5.3 OTA Procedure
5.3.1

OTA procedure without buffer check

BeeController

BeeTarget
Connect to target

MTU size Change request

MTU size update
Enable DFU Control Point Notification

Re

Write: DFU CP(opcode 0x07-Connection parameter update)

alt

(req opcode 0x07):Notification

ek

Connection parameter update

Write: DFU CP(opcode 0x06-Report Target image information)

Co

(req opcode 0x06 Original FW version):Notification

Write: DFU CP(opcode 0x01-Start DFU: Image Header

nfi

Check whether it is need to update image

de

(ic_type, secure_version, ctrl_flag.value, image_id, crc16,
payload_len and nPadding)

(req opcode 0x01):Notification

WriteWithoutResponse: DFU Packet characteristic(First FW image)

.
.
.

al
nti

Write: DFU CP(opcode 0x02-Receive FW image)

WriteWithoutResponse: DFU Packet characteristic(Final FW image)

Write: DFU CP(opcode 0x03-Valid FW)
(req opcode 0x03):Notification
Write: DFU CP(opcode 0x04-Activate and Reset)
Disconnect

Activate new
image&reset

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

30

RTL8762C OTA User Manual

5.3.2 OTA procedure with buffer check

ek

alt

Re
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

31

RTL8762C OTA User Manual
BeeController

BeeTarget
Connect to target

MTU size Change request

MTU size update
Enable DFU Control Point Notification
Write: DFU CP(opcode 0x09-Buffer Check Enable)
(req opcode 0x09 Max buffersize&MTU Size):Notification

Write: DFU CP(opcode 0x07-Connection parameter update)
(req opcode 0x07):Notification

Connection parameter update
Write: DFU CP(opcode 0x06-Report Target image information)

Re

(req opcode 0x06 Original FW version):Notification

alt

Check whether it is need to update image

payload_len and nPadding)

ek

Write: DFU CP(opcode 0x01-Start DFU: Image Header
(ic_type, secure_version, ctrl_flag.value, image_id,

crc16,

(req opcode 0x01):Notification

Co

Write: DFU CP(opcode 0x02-Receive FW image)

WriteWithoutResponse: DFU Packet characteristic(First FW image)

Write: DFU CP(opcode 0x0B-Report Buffer CRC )

nfi

...Writes until a Crc check buffer is full

(req opcode 0x0B):Notification

al
nti

Repeat Write buffer
&Buffer Check

de

.
.
.

WriteWithoutResponse: DFU Packet characteristic(Final FW image)

...Writes until File end
Write: DFU CP(opcode 0x0B-Report Buffer CRC )
(req opcode 0x0B):Notification
Write: DFU CP(opcode 0x03-Valid FW)
(req opcode 0x03):Notification
Write: DFU CP(opcode 0x04-Activate and Reset)
Disconnect

Activate new
image&reset

Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

32

RTL8762C OTA User Manual

5.3.3 Multiple File Update
1. Without bank switching, a new file cannot be updated until the previous file has been verified and program
has been rebooted when packaged file includes Patch, APP or APPDATA.
2. With bank switching, program cannot be rebooted until all the files have been updated and verified when the
packaged file includes OTA Header, Patch, APP or APPDATA. Otherwise, this update will be invalid for that
all the files in bank region must come into effect to ensure the program is running properly with bank
switching.

ek

alt

Re
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

33

RTL8762C OTA User Manual

6 Usage of Master application
Omitted

ek

alt

Re
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

34

RTL8762C OTA User Manual

7 Reference
[1] 《RTL8762C Device Firmware Update Profile Rom Version》
[2] 《RTL8762C Device Firmware Update Service Rom Version》

ek

alt

Re
Co
al
nti

de

nfi
Copyright 2018 Realtek Semiconductor Corporation.
All Rights Reserved.

35



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Encryption                      : Standard V2.3 (128-bit)
User Access                     : (none)
Creator                         : Microsoft® Word 2016
Title                           : Bee项目文档规范
Author                          : Chuanguo Xue
Producer                        : Microsoft® Word 2016; modified using iTextSharp 5.0.5 (c) 1T3XT BVBA
Subject                         : Draft v0.1
Modify Date                     : 2018:09:21 11:34:40+08:00
Create Date                     : 2018:09:21 11:20:42+08:00
Tagged PDF                      : Yes
Language                        : zh-CN
Page Count                      : 35
EXIF Metadata provided by EXIF.tools

Navigation menu