Serial Commands Protocol: Difference between revisions

From Smart LCD
Created page with "Smart LCD serial command is for real-time control and access. Host machine get the data which input through the Smart LCD interface or provide the data for display. == Hardware connection == Smart LCDs serial interface are base on RS232-C standard by default config as 8N1 115200bps. == Communication Packet Structure == Commands and Response Packet should be format as follow (host ⇒ module): {| class="wikitable" |+ !Seq !Code !Code type !Descriptions |- |1 |0xAA |Pack..."
 
 
(One intermediate revision by the same user not shown)
Line 84: Line 84:
<nowiki>*</nowiki>2. Acknowledgement could be disable in Editor option (Manual ⇒ Tools ⇒ Project Setting ⇒ RS232 ⇒ Enable ACK)
<nowiki>*</nowiki>2. Acknowledgement could be disable in Editor option (Manual ⇒ Tools ⇒ Project Setting ⇒ RS232 ⇒ Enable ACK)


== Color Data Value Configuration ==
== Color and Data Value Configuration ==
{| class="wikitable"
{| class="wikitable"
|+16 bit color value
|+16 bit color value
Line 124: Line 124:
|D0
|D0
|}
|}
== Data / Address / Page_ID / Location Values Configuration ==
{| class="wikitable"
{| class="wikitable"
|+64bit number value
|+64bit number value
Line 182: Line 180:
|D7...D0
|D7...D0
|D7...D0
|D7...D0
|}
{| class="wikitable"
|+String value
!D7...D0
!D7...D0
|-
| colspan="2" |Strings are stored Byte by Byte starting from the lower address.
The terminator (0x00) is placed at the highest address.
The start address of a string is always even and aligned to a 128 Byte boundary.
|}
|}



Latest revision as of 19:57, 26 June 2025

Smart LCD serial command is for real-time control and access. Host machine get the data which input through the Smart LCD interface or provide the data for display.

Hardware connection

Smart LCDs serial interface are base on RS232-C standard by default config as 8N1 115200bps.

Communication Packet Structure

Commands and Response Packet should be format as follow (host ⇒ module):

Seq Code Code type Descriptions
1 0xAA Packet header 1byte
2 Cmd-code Command code 1byte
3 parm/data Parameter or Data (*1)
... ... - -
... ... - -
(N-3)th 0xCC Packet tail 4byte
(N-2)th 0x33
(N-1)th 0xC3
(N-0)th 0x33

Note.

*1. Unless otherwise specified, all the multi-byte values, data, address’ byte sequence are MSB first, LSB last.

e.g. 0x12345678 should send as following sequency, 0x12(first), 0x34, 0x56, 0x78(last)

Packet Acknowledgment

Packet Acknowledgment is  two byte in ASCII (module ⇒ host):

Response code Descriptions
Command (in packet) executed and wait for next Command ":>" In ASCII (0x3a, 0x3e)
Command (in packet) error and wait for next Command ":!>" In ASCII (0x21,0x3e)
Invalid Packet null No response

Note.

*1. Packet Acknowledgement response to a valid packet only.

*2. Acknowledgement could be disable in Editor option (Manual ⇒ Tools ⇒ Project Setting ⇒ RS232 ⇒ Enable ACK)

Color and Data Value Configuration

16 bit color value
R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0
High byte (MSB) Low byte (LSB)
D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
64bit number value
D63...D56 D55...D48 D47...D40 D39...D32 D31...D24 D23...D16 D15...D8 D7...D0
Byte7 (MSB) Byte0 (LSB)
D7...D0 D7...D0 D7...D0 D7...D0 D7...D0 D7...D0 D7...D0 D7...D0
32bit number value
D31...D24 D23...D16 D15...D8 D7...D0
Byte3 (MSB) Byte0 (LSB)
D7...D0 D7...D0 D7...D0 D7...D0
16bit number value
D15...D8 D7...D0
High Byte (MSB) Low Byte (LSB)
D7...D0 D7...D0
String value
D7...D0 D7...D0
Strings are stored Byte by Byte starting from the lower address.

The terminator (0x00) is placed at the highest address. The start address of a string is always even and aligned to a 128 Byte boundary.

Commands Summary

Functions Command Name Code Description
Config / Status Commands hand_shake 0x30 Read a Hand Shake
read_ver 0x31 Read firmware version
read_pg_id 0x32 Read Current page ID
touch_response 0x72 / 0x73 / 0x77 / 0x78 / 0x79 see also set_sys_config
set_sys_config 0xE0 System parameter configuration and Baud Rate
sel_project 0xE1 Specify operating project folder
touch_calib 0xE4 Touch panel calibration
screen_saver 0x5E Screen saver (backlight dim down time out)
backlight_ctrl 0x5F backlight brightness control (64 levels)
buzzer_touch_sound 0x79 buzzer enable time length (in 10ms step)
Buzzer_ctrl 0x7A Buzzer control
Flash_write 0x90 Write data to the flash
Flash_read 0x91 Read data from the flash
RTC_set 0x9C Set the RTC
RTC_read 0x9B Read the RTC values
USR_bin_read 0x93 Read data from the USR_bin
Ymodem_mode 0x96 Enter Ymodem Transfer mode
Checksum_calculate 0x97 Calculate the file Checksum by filename and path
u_drv_format 0xE2 Format the u_drive
u_drv_unlock 0xE3 Unlock the u_drive with pre-stored password
Display Control / Draw Commands disp_page 0x70 Display a pre-stored TML file (page)
set_element_fg 0x7E Set the foreground color of STR, N16, N32 or N64
set_element_bg 0x7F Set the background color of STR, N16, N32 or N64
set_codepage 0xE7 Sets country character set and code-page character set
suspend_vp_fresh 0xE8 Set the screen to pause the refresh and deactivate the touchkey or release the pause to refresh and enable the touchkey
VP Commands Successive_write 0x82 Write successive value to VP_N16, VP_N32, VP_N64
Successive_read 0x83 Read successive value from VP_N16, VP_N32, VP_N64
STR_write 0x42 Write string to VP_STR
STR_read 0x43 Read string form VP_STR
STR_fill 0x46 Fill strings to the VP_STR
N16_write 0x3D Write 16bit (signed integer) value to VP_N16
N16_read 0x3E Read 16bit (signed integer) value from VP_N16
N16_fill 0x3F Fill numbers to the VP_N16
N32_write 0x44 Write 32bit (signed integer) value to VP_N32
N32_read 0x45 Read 32bit (signed integer) value from VP_N32
N32_fill 0x47 Fill numbers to the VP_N32
N64_write 0x48 Write 64bit (signed integer) value to VP_N64
N64_read 0x49 Read 64bit (signed integer) value from VP_N64
N64_fill 0x4A Fill numbers to the VP_N64
BP1_write 0x4B Write bit-map (1bpp) data to VP_BP1
BP1_write_comp 0x4C Write compressed bit-map (1bpp) data to VP_BP1
G16_write 0x4D Write 16bit (signed integer) graphic array to VP_G16
G16_write_rotate 0x4E Rotate the VP_G16 array data inside the module and write a 16bit (signed integer) value into end-of-array
System Register Write 0x3B Write System Register
System Register Read 0x3C Read System Register
VP_Backup 0x94 VP Backup to Flash space or VP Restore form Flash space
VP_Preload 0x95 VP value preload from usr.bin

Commands Details

Config / Status Commands

hand_shake (0x30)
Header Command Data:no_of_byte Tail
AA 30 -- CC 33 C3 3C
e.g. [host]: AA 30 CC 33 C3 3C 
e.g. [LCM]: AA 30 54 6F 70 77 61 79 20 48 4D 54 20 52 65 61 64 79 00 CC 33 C3 3C (return "Topway HMT Ready" in ASCII)
read_ver (0x31)
Header Command Data:no_of_byte Tail
AA 31 -- CC 33 C3 3C
e.g. [host]: AA 31 CC 33 C3 3C 
e.g. [LCM]: AA 31 31 2E 31 32 CC 33 C3 3C (return "1.12" in ASCII)
read_pg_id (0x32)
Header Command Data:no_of_byte Tail
AA 32 Nil or ID:2 CC 33 C3 3C
e.g. [host]: AA 32 CC 33 C3 3C
e.g. [LCM]: AA 32 00 01 CC 33 C3 3C (current page's ID is 0x0001) 
touch_response (0x72/0x73)
Header Command Data:no_of_byte Tail
AA 72/73 X:2 Y:2 CC 33 C3 3C
e.g. [LCM]: AA 72 00 32 00 64 CC 33 C3 3C (touch release coordinate is(50,100))
e.g. [LCM]: AA 73 00 32 00 64 CC 33 C3 3C (touch down coordinate is(50,100))
data_entered (0x77)
Header Command Data:no_of_byte Tail
AA 77 Addr_ID:4  Data:2/4/8/n CC 33 C3 3C
e.g. [LCM]: AA 77 00 02 00 00 00 00 00 32 CC 33 C3 3C (Addr_ID 0x020000's 32bit data is 0x0000 0032)
note. please refer to Editor description about  Addr_ID and Data size
touch_response (0x78/79)
Header Command Data:no_of_byte Tail
AA 78/79 Page_ID:2  TPK_ID:1 CC 33 C3 3C
e.g. [LCM]: AA 78 00 02 01 CC 33 C3 3C (PAGE:0x0002 TPK:0x01 key up)
e.g. [LCM]: AA 79 00 02 01 CC 33 C3 3C (PAGE:0x0002 TPK:0x01 key down)
set_sys_config (0xE0)
Header Command Data:no_of_byte Tail
AA E0 55 AA 5A A5 BaudRate:1  sys_par1:1  sys_par2:1 CC 33 C3 3C
e.g. [host]:AA E0 55 AA 5A A5 07 83 00 CC 33 C3 3C (config baud rate to 152000, and enable TPK response (the most common setting))
note. Baud rate will back to project default setting after next power on
Set_project (0xE1)
Header Command Data:no_of_byte Tail
AA E1 Prj_ID:1 CC 33 C3 3C
e.g. [host]: AA E1 01 CC 33 C3 3C (switch to project 0x01, (THMT01 folder))
Touch_calib (0xE4)
Header Command Data:no_of_byte Tail
AA E4 55 AA 5A A5 -- CC 33 C3 3C
e.g. [host]: AA E4 55 AA 5A A5 CC 33 C3 3C (start touch calibration) 
screen_saver (0x5E)
Header Command Data:no_of_byte Tail
AA 5E Time:2  Level:1 CC 33 C3 3C
e.g. [host]:  AA 5E 00 0A 00 CC 33 C3 3C (after 10sec of idel, backlight down to 0) 
Backlight_ctrl (0x5F)
Header Command Data:no_of_byte Tail
AA 5F Level:1 CC 33 C3 3C
e.g. [host]: AA 5F 3F CC 33 C3 3C (adjust the backlight to highest level 0x3f)
Buzzer_touch_sound (0x79)
Header Command Data:no_of_byte Tail
AA 79 Time(in10ms):1 CC 33 C3 3C
e.g. [host]: AA 79 01 CC 33 C3 3C (adjust the buzzer beeping duration to 0x01= 1x10ms) 
Buzzer_ctrl (0x7A)
Header Command Data:no_of_byte Tail
AA 7A Loops:1  T1:1  T2:1  Freq1:1  Freq2:1 CC 33 C3 3C
e.g. [host] : AA 7A 10 0A 08 05 32 CC 33 C3 3C (sound the buzzer beeping 16loops of 1sec 500Hz ⇒ 0.8sec 5kHz
Flash_write (0x90)
Header Command Data:no_of_byte Tail
AA 90 ADDR:4  Len:2  Data:n CC 33 C3 3C
e.g. [host]: AA 90 00 00 00 00 00 02 30 31 CC 33 C3 3C (start form user flash area address 0x0000000 write 2bye of data 0x30 & 0x31)
note. it is a must to ensure the power supply during the write process
Flash_read (0x91)
Header Command Data:no_of_byte Tail
AA 91 DDR:4  Len:2 or Data:n CC 33 C3 3C
e.g. [host]: AA 91 00 00 00 00 00 02 CC 33 C3 3C (read 2byte start form address 0x0000000)
e.g. [LCM]: AA 91 30 31 CC 33 C3 3C (return of two byte data 0x30 0x31)
RTC_set (0x9C)
Header Command Data:no_of_byte Tail
AA 9C YYMMDDHHMMSS:6 CC 33 C3 3C
e.g. [host]: AA 9C 0E 07 0A 17 3B 30 CC 33 C3 3C (set the real time clock to 2014 - 07- 10 23:59:48)
RTC_read (0x9B)
Header Command Data:no_of_byte Tail
AA 9B -- or YYMMDDHHMMSS:6 CC 33 C3 3C
e.g. [host]: AA 9B CC 33 C3 3C (ask for full data time)
e.g. [LCM]: AA 9B 0E 07 0B 00 01 12 CC 33 C3 3C (return the day and time 2014-07-11 00:01:18)
Usr_bin_read (0x93)
Header Command Data:no_of_byte Tail
AA 93 ADDR:4  Len:2 or Data:n CC 33 C3 3C
e.g. [host]: AA 93 00 00 00 00 00 02 CC 33 C3 3C (request for 2 byte of data form the preloaded usr.bin file at address 0x0000 0000)
e.g. [LCM]: AA 93 30 31 CC 33 C3 3C (return 2byte of requested data 0x30 0x31) 
Ymodem_transmit (0x96)
Header Command Data:no_of_byte Tail
AA 96 55 AA 5A A5 CC 33 C3 3C
e.g. [host]: AA 96 55 AA 5A A5 CC 33 C3 3C (Enter the Ymodem Transfer mode)
note. Screen display "Ymodem start" and serial port will start to receive. 
note. Transmission waiting time <200s, overtime display "End / Please reset the System"
Checksum_calculate (0x97)
Header Command Data:no_of_byte Tail
AA 97 FileName(w_path):32 or FileName(w_path):32 checksum:4 CC 33 C3 3C
e.g. [host]: AA 97 FileName(w_path) CC 33 C3 3C (Calculates the checksum of a specified file)
e.g. [LCM]: AA 97 FileName(w_path) 87 65 43 21 CC 33 C3 3C (response the checksum of a specified file)
note. FileName(w_path) is case insensitive; FileName(w_path) less than 32bytes should fill 00
note. 1st character = 1st char of the FileName(w_path)
U_drv_format (0xE2)
Header Command Data:no_of_byte Tail
AA E2 55  AA  5A  A5 CC 33 C3 3C
e.g. [host]: AA E2 55 AA 5A A5 CC 33 C3 3C (format the whole internal flash memory space) 
U_drv_unlock (0xE3)
Header Command Data:no_of_byte Tail
AA E3 PWD:n CC 33 C3 3C
e.g. [host]: AA E3 30 31 32 33 34 35 36 00 CC 33 C3 3C (send a password "0123456" to un-lock the USB interface for file access)
note: password defined in the display project by using editor, where password string should end with "\0"

Display Control / Draw Commands

Disp_page (0x70)
Header Command Data:no_of_byte Tail
AA 70 Page_id:2 CC 33 C3 3C
e.g. [host]: AA 70 00 01 CC 33 C3 3C (show page 0x0001)
Set_element_fg (0x7E)
Header Command Data:no_of_byte Tail
AA 7E Element_type:1   Page_ID:2   Element_ID:1   color:2   0x00 CC 33 C3 3C
e.g. [host]: AA 7E 00 00 03 05 FF FF 00 CC 33 C3 3C (change the STR_ID=0x05's foreground to white in Page_ID=0x0003) 
Set_element_bg (0x7F)
Header Command Data:no_of_byte Tail
AA 7F Element_type:1   Page_ID:2   Element_ID:1   color:2   0x00 CC 33 C3 3C
e.g. [host]: AA 7F 00 00 03 05 00 00 00 CC 33 C3 3C (change the STR_ID=0x05's foreground to (non-transparent) black in Page_ID=0x0003) 
Set_codepage (0xE7)
Header Command Data:no_of_byte Tail
AA E7 Country:1  Codepage:1 CC 33 C3 3C
e.g. [host]: AA E5 03 07 CC 33 C3 3C switch the ASCII to German, Extended Codepage as 866 (OEM - Russian) 
Suspend_vp_reflesh (0xE8)
Header Command Data:no_of_byte Tail
AA E8 55  AA  5A  A5  mode:1 CC 33 C3 3C
e.g. [host]: AA E8 55 AA 5A A5 01 CC 33 C3 3C (pause the refresh and deactivate the touch key; mode=00 for release the pause)


VP Commands

Successive_write (0x82)
Header Command Data:no_of_byte Tail
AA 82 VP_Add:4  Len:1  Value:n CC 33 C3 3C
e.g. [host]: AA 82 00 08 00 00 03 00 00 11 11 22 22 CC 33 C3 3C (Write 3 successive 16bit value to VP_N16 address 0x0008 0000)
e.g. [host]: AA 82 00 02 00 00 02 55 55 55 55 66 66 66 66 CC 33 C3 3C (Write 2 successive 32bit value to VP_N32 address 0x0002 0000)
Successive_read (0x83)
Header Command Data:no_of_byte Tail
AA 83 VP_Add:4  Len:1 or Value:n CC 33 C3 3C
e.g. [host]: AA 83 00 08 00 00 03 CC 33 C3 3C (Read 3 sucessive 16bit value from VP_N16 address start at 0x0008 0000)
e.g. [host]: AA 83 00 02 00 00 02 CC 33 C3 3C (Read 2 sucessive 32bit value from VP_N32 address start at 0x0002 0000)
STR_write (0x42)
Header Command Data:no_of_byte Tail
AA 42 VP_Add:4  Text:n CC 33 C3 3C
e.g. [host]: AA 42 00 00 00 80 54 4F 50 57 41 59 00 CC 33 C3 3C (write string “TOPWAY“ to VP_STR address 0x0000 0080) 
note. string should end with "\0"
STR_write (0x43)
Header Command Data:no_of_byte Tail
AA 43 VP_Add:4 or Text:n CC 33 C3 3C
e.g. [host]: AA 43 00 00 00 80 CC 33 C3 3C (request for VP_STR address 0x0000 0080 content value)
e.g. [LCM]: AA 43 54 4F 50 57 41 59 00 CC 33 C3 3C (the feedback content value is "TOPWAY") 
note. string should end with "\0"
STR_fill (0x46)
Header Command Data:no_of_byte Tail
AA 46 VP_Add:4  Len:2  Text:n CC 33 C3 3C
e.g. [host]: AA 46 00 00 00 80 00 03 54 4F 50 57 41 59 00 CC 33 C3 3C (fill 0x0003 VP_STR as "TOPWAY" Start form the VP_STR address 0x00000080) 
note. string should end with "\0"
N16_write (0x3D)
Header Command Data:no_of_byte Tail
AA 3D VP_Add:4  Value:2 CC 33 C3 3C
e.g. [host]: AA 3D 00 08 00 00 00 32 CC 33 C3 3C (write a 16bit value 0x0032 into VP_N16 address 0x0008 00000)
N16_read (0x3E)
Header Command Data:no_of_byte Tail
AA 3E VP_Add:4  Value:2 CC 33 C3 3C
e.g. [host]: AA 3E 00 08 00 00 CC 33 C3 3C (read VP_N16 address 0x0008 0000's 16bit data content) 
e.g. [LCM]: AA 3E 00 32 CC 33 C3 3C (feed back the VP_N16 content value 0x0032) 
N16_fill (0x3F)
Header Command Data:no_of_byte Tail
AA 3F VP_Add:4  Len:2  Value:2 CC 33 C3 3C
e.g. [host]: AA 3F 00 08 00 00 00 03 00 32 CC 33 C3 3C (fill 0x0003 VP_N16 with 0x0032 start form VP_N16 address 0x0008 0000)
N32_write (0x44)
Header Command Data:no_of_byte Tail
AA 44 VP_Add:4  Value:4 CC 33 C3 3C
e.g. [host]: AA 44 00 02 00 00 00 00 00 32 CC 33 C3 3C (write a 32bit value 0x0000 0032 into VP_N32 address 0x0002 0000)
N32_read (0x45)
Header Command Data:no_of_byte Tail
AA 45 VP_Add:4 or Value:4 CC 33 C3 3C
e.g. [host]: AA 45 00 02 00 00 CC 33 C3 3C (read VP_N32 address 0x0002 0000's 32bit data content)
e.g. [LCM]: AA 45 00 00 00 32 CC 33 C3 3C (feed back the VP_N32 content value 0x0000 0032)
N32_fill (0x47)
Header Command Data:no_of_byte Tail
AA 47 VP_Add:4  Len:2  Value:2 CC 33 C3 3C
e.g. [host]: AA 47 00 02 00 00 00 03 00 00 00 32 CC 33 C3 3C (fill 0x0003 VP_N32 with 0x0000 0032 start form VP_N32 address 0x0002 0000)
N64_write (0x48)
Header Command Data:no_of_byte Tail
AA 48 VP_Add:4  Value:8 CC 33 C3 3C
e.g. [host]: AA 48 00 03 00 00 00 00 00 00 00 00 00 32 CC 33 C3 3C (write a 64bit value 0x0000 0000 0000 0032 into VP_N64 address 0x0003 0000)
N64_read (0x49)
Header Command Data:no_of_byte Tail
AA 49 VP_Add:4 or Value:8 CC 33 C3 3C
e.g. [host]: AA 49 00 03 00 00 CC 33 C3 3C (read VP_N64 address 0x0003 0000's 64bit data content)
e.g. [LCM]: AA 49 00 00 00 00 00 00 00 32 CC 33 C3 3C (feed back the VP_N64 content value 0x0000 0000 0000 0032)
N64_fill (0x4A)
Header Command Data:no_of_byte Tail
AA 4A VP_Add:4  Len:2  Value:8 CC 33 C3 3C
e.g. [host]: AA 4A 00 03 00 00 00 03 00 00 00 00 00 00 00 32 CC 33 C3 3C (fill 0x0003 VP_N64 with 0x0000 0000 0000 0032 start form VP_N64 address 0x0003 0000)
BP1_write (0x4B)
Header Command Data:no_of_byte Tail
AA 4B VP_Add:4  Len:4 CC 33 C3 3C
e.g. [host]: AA 4B 00 04 00 00 00 00 02 00 CC 33 C3 3C + 512byte data... (fill 512 byte of graphics data (1bpp) in to BP1 address 0x0004 0000)
BP1_write_comp (0x4C)
Header Command Data:no_of_byte Tail
AA 4C VP_Add:4  Len:4 CC 33 C3 3C
e.g. [host]: AA 4C 00 04 00 00 00 00 02 00 CC 33 C3 3C +512byte data... (fill 512 byte of compressed graphics data (1bpp) in to BP1 address 0x0004 0000) 
G16_write (0x4D)
Header Command Data:no_of_byte Tail
AA 4D VP_Add:4  Len:2  Value:2n CC 33 C3 3C
e.g. [host]: AA 4D 00 06 00 00 00 02 00 32 00 33 CC 33 C3 3C (fill 0x0002 16bit graph data(0x0032, 0x0033) into G16 address 0x0006 0000)
G16_write_rotate (0x4E)
Header Command Data:no_of_byte Tail
AA 4E VP_Add:4  Size:2  Data:2 CC 33 C3 3C
e.g. [host]: AA 4E 00 06 00 00 00 32 00 33 CC 33 C3 3C (place rotate 0x0032 of G16 forward which address 0x0006 0000 and place 0x0033 at the last) 
System_register_write (0x3B)
Header Command Data:no_of_byte Tail
AA 3B VP_Add:4  Data:1 CC 33 C3 3C
e.g. [host]: AA 3B 00 FF FF 00 01 CC 33 C3 3C (start the timer_ctrl0 as count down mode)
System_register_read (0x3C)
Header Command Data:no_of_byte Tail
AA 3C VP_Add:4 CC 33 C3 3C
e.g. [host]: AA 3C 00 FF FF 00 CC 33 C3 3C (read the timer_ctrl status value)
VP_Backup (0x94)
Header Command Data:no_of_byte Tail
AA 94 Dir:1 FlashAdd:4 VP_Add:4 LEN:2 CC 33 C3 3C
e.g. [host]: AA 94 01 00 00 00 00 00 08 00 00 00 06 CC 33 C3 3C (restore 6xVP_N16 form the backuped value located at Flash Address 0x000000 to VP_N16 start from 0x080000)
note. Dir=1(VP Restore); Dir=0(VP Backup); FlashAdd=0x000000~0x3FFFFF; LEN=0x0001~0x8000
note. Random data may be restore, before the first time VP backup operation
VP_Preload (0x95)
Header Command Data:no_of_byte Tail
AA 95 Dir:1 FileAdd:4 VP_Add:4 LEN:2 CC 33 C3 3C
e.g. [host]: AA 95 01 00 00 00 00 08 00 00 00 06 CC 33 C3 3C (preload 6xVP_N16 form the usr.bin located at File Address start at 0x000000 to VP_N16 start from 0x080000)
note. Dir=01(dummyvalue); FileAdd=0x000000~0x3FFFFF; LEN=0x0001~0x8000
note. If usr.bin is invalid, VP may not be update correctly