T5LDGUS屏自带的 16Mbytes SPI Flash,用户可以通过串口更新字库(.BIN/DZK/HZK)、图标(.ICL)、音乐(.WAE)文件,
需要通过变量地址00AAH来访问实现,如下图所示。
以 32Kbyes 块为基准来更新 16Mbytes 外部存储器内容。(16MBflash可以看作是被分割为512个32k大小的存储块,例如32.icl从0x0100地址开始)
D11:0x5A=启动一次外部存储器(16Mbytes)写操作, CPU 操作完清零。
D10:固定为 0x02 。
D9~D8:32Kbytes 存储器块地址,0x0000-0x01FF,对应整个 16Mbytes 存储器。
D7~D6:更新数据保存在数据变量空间的首地址,必须是偶数。
D5~D4:本次操作完成后延时等待下一次写操作的时间,单位为 1mS。
延时等待期间 DGUS 刷新将停止,以防止更新未完成导致错误。
D3~D0:未定义,写 0x00。
例:要更新13触控配置文件则发送指令:5A A5 0F 82 00AA 5A02 0068 3000 0014 0000 0000,
该指令的意义就是将变量地址3000H开始的32Kb数据更新到13号字库(0068h=104,104*32/256=13)的第一个32Kb位置。
如果数据超过32k,需要分多包下载,下载时间间隔推荐可以用20ms:
下面示范:例如32.icl文件(属性大小≤32*3)的过程:这里示例取变量地址8000h开始将数据缓存到变量地址。 16Mbytes 存储器既可以看做是分为了512个32Kbytes空间用于写操作数据的更新,另外被定义为64个容量固定为256KB的单个字库ID空间。 如果数据包小于32KB(32.icl文件大小为2.63KB),只需要一包数据发送到缓存的变量地址,再对0xAA系统变量接口发送写操作指令即可。 如果数据大小超过32KB,则需要将数据分为多包依次下载.
例如(32.icl图标库文件大小为87.3KB),数据更新流程分为3包数据依次更新: 1、将第1包.icl图标库数据1(=32k)发送到从8000h~C000h地址 一共有4000h个字=16KW=32KB
然后发送写操作指令5A A5 0F 82 00 AA 5A 02 01 00 80 00 00 14 00 00 00 00
2、将第2包.icl图标库数据2(=32k)发送到从8000h~C000h地址 一共有4000h个字=16KW=32KB
然后发送写操作指令5A A5 0F 82 00 AA 5A 02 01 01 80 00 00 14 00 00 00 00
3、将第3包.icl图标库数据3(≤32k)发送到从8000h~C000h地址 一共有4000h个字=16KW=32KB
然后发送写操作指令5A A5 0F 82 00 AA 5A 02 01 02 80 00 00 14 00 00 00 00
下载完之后,可以等待5秒对屏发一次复位指令,5A A5 07 82 00 04 55 AA 5A A5。
上述各个数据包的数据下载过程可以分解如下: 第一包数据分成若干条用82写指令发送到屏的起始地址8000h,每条指令可以发送240个字节长度数据。 第1条: ◆5A A5 F3 82 80 00 44 47 55 53 5F 33 30 8D 00 01 5D 84 04 00 01 00 00 00 00 14 01 E0 01 10 02 6F 00 01 5A FF FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60 00 60 00 00 FF DB 00 43 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 FF DB 00 43 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 FF C0 00 11 08 01 10 01 E0 03 01 22 00 02 11 01 03 11 01 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B 第2条:地址按照120(78h)字长依次递增,第二个地址选择从 ◆5A A5 F3 82 80 78 FF C4 00 B5 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 07 22 71 14 32 81 91 A1 08 23 42 B1 C1 15 52 D1 F0 24 33 62 72 82 09 0A 16 17 18 19 1A 25 26 27 28 29 2A 34 35 36 37 38 39 3A 43 44 45 46 47 48 49 4A 53 54 55 56 57 58 59 5A 63 64 65 66 67 68 69 6A 73 74 75 76 77 78 79 7A 83 84 85 86 87 88 89 8A 92 93 94 95 96 97 98 99 9A A2 A3 A4 A5 A6 A7 A8 A9 AA B2 B3 B4 B5 B6 B7 B8 B9 BA C2 C3 C4 C5 C6 C7 C8 C9 CA D2 D3 D4 D5 D6 D7 D8 D9 DA E1 E2 E3 E4 E5 E6 E7 E8 E9 EA F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FF C4 00 1F 01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B FF C4 00 B5 11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 77 00 01 02 。。。依次发送若干包数据。。。 第136条(最后一条)剩下128字节数据。 ◆5A A5 83 82 BF C0 9F E5 97 23 E7 8F D8 7F F6 5E D3 BF 6A 5F 8B 09 E0 ED 7F C6 96 1E 04 F0 96 87 A3 2E B3 E2 7D 73 50 73 A4 A5 B6 8E B1 EF 5F 0D BB 6B 98 91 50 ED 3B 9A 0C 4A 14 93 0F CE 14 D7 F4 FE 74 4F 0C FC 2C F8 6B A6 7C 1D F8 29 7D A5 8F 0F 5E E9 52 E9 1A CB 68 17 51 D8 6A 9A C5 86 A7 65 69 73 65 FD AB A7 40 4F 88 A6 D0 F3 A6 AD BE 99 A2 5F 62 3D 7E 49 53 57 9F E4 0C 2B F0 7C 5F 5B 7F 77 6F 4E 第一包数据缓存到变量地址之后再发送写操作指令5A A5 0F 82 00 AA 5A 02 01 00 80 00 00 14 00 00 00 00 (第一包大小为32KB) 。。。。。。 第二包数据指和第一包数据结构一样:(第二包大小为32KB) 第二包数据缓存到变量地址之后再发送写操作指令5A A5 0F 82 00 AA 5A 02 01 01 80 00 00 14 00 00 00 00 。。。。。。 第三包数据指令如下(下面举例为若第三包大小没有达到32KB): ◆5A A5 F3 82 80 00。。。依次发送若干包数据。。。 。。。。。 ◆5A A5 BF 82 AE 68 83 FE B1 07 42 0F F7 8D 54 7E 25 EB FE 64 CD 3E 57 A3 DB B3 FF 00 22 F4 99 F2 97 92 70 70 32 49 C0 19 C0 19 E8 06 06 00 E0 7A 53 CC 91 C7 19 32 74 20 81 F5 CF F9 EF 54 23 90 EF 1E 64 B1 6D C1 C7 EF 53 AE 3F DE F4 CD 4F 34 91 6E FF 00 5B 17 FD FD 8F D0 7F B5 5D 34 DF EF 23 AF 5E FE 4F CC E2 B4 BB 4B EE 97 F9 12 25 CC 3E 5F EE CF 3B 8E E3 D3 8C 70 3B 67 F4 EB D3 A1 28 F7 5F BB 93 9F F9 67 27 7F F6 1B FD AA AD E6 45 FF 00 3D 62 FF 00 BF B1 FF 00 F1 55 1C B2 44 51 C7 99 11 25 24 C0 FB 5A 43 CE C6 F7 3B BA FE 1F 8D 76 DD 77 5F 7A FF 00 30 B3 EC FE E7 FE 47 FF D9 第三包数据缓存到变量地址之后再发送写操作指令5A A5 0F 82 00 AA 5A 02 01 02 80 00 00 14 00 00 00 00
如果用户只是在实际开发过程中,用于PC上位机软件和屏的调试在线下载,请下载T5L PC软件DGUS Tool V7.57以上版本。
友情链接:
(1)UE数据复制:http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=3680
(2)0xAA 32.icl更新(理解0xAA指令、256KB、32KB数据块):http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=7553
(3)0xAA 14.bin更新(理解数据指令划分):http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=7561
(4)0xAA 多个32KB数据包:http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=243
|