huangcm
2025-09-01 53d8e046ac1bf2ebe94f671983e3d3be059df91a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
LuaQ @usbtool.lua+$€€F@@¤@‡€…€œ€€ÆÀ@
Á    Á‚    ƒ    Â„    Å    Ã†    ć    Äˆ    ʼn    ÅŠ    Ƌ    ÆŒ$€Á$Á€$€A€JÁIÁGIBIÈ@€Š‰‘‰H’‰É’‰ʓ‰Ê”‰˕‰Ë–‰̗‰Ì˜‰͙‰Íš‰Λ‰Îœ‰ϝ‰Ïž‰П‰Ð ‰Ñ¡‰Ñ¢‰Ò£‰Ò¤‰Ó¥‰Ó¦\€€ÊÉԧɁԨɁԩÉAUªÉÁU«ÉAV¬ÉÁV­ÉAW®ÉÁW¯ÉAX°œÀ€
‚    B±    ‚ȱ܁$B€€€$‚€d€ƒÅBƒEÃFÚÜB€ä$Cdƒ
ÁC
    ÄZµ    ÄZ¶    Äƒ¶    Ä[·    ÄG¸    ÄǸ    Ä[¹    ÄǹdÄ€€€€Gd€GDdD¤„€äÄ€€$€€dE€€Åä…€ $Æ€€ d¤F€ä†$Ç€d€€€ €  €
¤G€ä‡$È€€€€
d€¤H€€€äˆ$É€€d    €€€¤I€€ä‰€€    €€    Ç‰äÉ$
   €€dJ    €€¤Š    €€€€€€‡Ê€x Tools_Utils    readonly
Tools_Cfg
ITEM_NAME SPARSE_INFO sparse_magic@çߤíAsparse_major_verð?sparse_header_size<@sparse_total_headàï@sparse_chunk_head àï@sparse_chunk_data@àï@sparse_fill_data`àï@chunk_header_size(@chunk_type_raw Xé@chunk_type_fill@Xé@chunk_type_null`Xé@ Tools_File Tools_Buffer
Tools_ImgDRAM
FLASH_PHY
FLASH_LOG@ VERIFY_DEV SWITCH_ROLE    IS_READY@GET_CMD_SET_VER@ DISCONNECT0@    FEL_DOWNp@FEL_RUN p@FEL_UP0p@FES_RUN€@    FES_INFO€@ FES_GET_MSG €@FES_UNREG_FED(€@FEX_CMD_FES_DOWN0€@FEX_CMD_FES_UP8€@FEX_CMD_FES_VERIFY@€@FEX_CMD_FES_QUERY_STORAGEH€@FEX_CMD_FES_FLASH_SET_ONP€@FEX_CMD_FES_FLASH_SET_OFFX€@FEX_CMD_FES_VERIFY_VALUE`€@FEX_CMD_FES_VERIFY_STATUSh€@FEX_CMD_FES_FLASH_SIZE_PROBEp€@FEX_CMD_FES_TOOL_MODEx€@FEX_CMD_FES_QUERY_PKMODE€@sunxi_efex_data_type_maskÀÿß@sunxi_efex_dram_maskÀß@sunxi_efex_dram_tagsunxi_efex_mbr_tag@Àß@sunxi_efex_uboot_tag€Àß@sunxi_efex_boot0_tagÀÀß@sunxi_efex_erase_tagÁß@sunxi_efex_flash_tagà@sunxi_efex_trans_finish_tagð@sunxi_efex_full_size_tagÄß@DOWNUPTools_Fex_DevmoduleToolspackageseeall @ imgFilePathworkDirModehWnd
ImgLenLow ImgLenHighimage erase_flagInitExitentry_fel2fesentry_fes_thread'D    
d¤@ä€$Ád¤Aä$€€    @€    €€€    À        €‚    À‚    ƒ€    readonlygetLinegetFile DbgFmtPrintMod_DbgFmtPrintMod_DbgFmtPrintLMod_ErrPrintL     JŠ€‰€ä‰À€€Å€€@Ü@€^€__index __newindex setmetatable ÅAÜ@€error'Err, Attempt to update readonly table.tkv
t
proxy
mt
EF@À€Á€\€€FÀÀ^€debuggetinfol currentlinelevelEF@À€Á€\€€FÀÀ^€debuggetinfoS
short_srclevel $
…@†€@À%œ€‡…ÀŜ@€dbgMsgstringformat DebugTrace
!!!!!!"""$fmt    arg    &+…@†€@À%œ€‡…ÁÀ•À‡…Ŝ@€dbgMsgstringformat
 DebugTrace''''''(((()))+fmt arg -/Ä@€AeÜ@€....../
modPreFixfmtarg DbgFmtPrint16Å@ƀÀ@€Ae܀ÇÅÁՁÇÅÜ@€dbgMsgstringformat
 DebugTrace2222222233334446
modPreFixfmtarg8:ÄA€€D€A\„ÁAœåÝÞ€%s_%d>:@99999999999999:
modPreFixfmtarg DbgFmtPrintLgetFilegetLine$+//6::::<=>?@ABCD    retTbl    readonlygetLinegetFile DbgFmtPrint DbgFmtPrintLMod_DbgFmtPrintMod_DbgFmtPrintL    Mod_ErrPrintL M¤f@J@I€À€ŠÊÉÁÉ€Á‚Ƀɀ„
A    ÅJAIÃ†ŠA‰ljADˆ‰ÁD‰‰AEЉÁE‹‰AFŒ‰ÁF‰AGމÁG‰AH‰ÁH‘‰AI’‰ÁI“ʁ@€‚É”@‚É‚”@€‚É•@‚É‚•@€‚É–@‚É‚–
    ‚K•    ̗    ‚̘    ÂL”    BMš    ÂM›    BNœ    ‚Ε    ÂΔ    O–    BϖJ‚€Àœ‚I‚Ÿ€À€œ‚I‚‚ŸŠ‰BP ‰ÂP¡‰ÂP¢‰‚Ñ¢ÊBÉңɂҤÉӥɂӦɂѧJÀÀ€œƒIƒ¨€ÀœƒIƒƒ¨€À€œƒIƒ©€S    readonlyfes1_1FES_1-0000000000 sys_configSYS_CONFIG_BIN00dtbDTB_CONFIG000000splitSPLIT_0000000000sys_partitionSYS_PARTITION000 NAND_BOOT0BOOT0_0000000000usbtoolxxxxxxxxxxxxxxxx boot0_nand boot0_sdcard1234567890BOOT_0 boot0_spinor1234567890BNOR_0ubootUBOOT_0000000000toc0TOC0_00000000000toc1TOC1_00000000000
card_tool1234567890cardtl card_script1234567890script
sunxi_mbr1234567890___MBRdlinfo1234567890DLINFO full_imageFULLIMG_00000000 boot_packageBOOTPKG-00000000boot_package_norBOOTPKG-NOR00000FESUSR_FSCOMMONBOOTTOOLSMP_FILE    COMMON  INFO    INFO    BOOTROM    BOOTROM     FES     FET    FET     FED    FED     FEX    FEX         BOOT        RFSFAT16    UPFLYTLS    12345678mainsub IMG_BUF_LENXASYS_CFG_BUF_LENð@ FEX_DOWN_LEN MBR_COPY_NUM@SUNXI_BOOT_FILE_NORMALSUNXI_BOOT_FILE_TOCð?SUNXI_BOOT_FILE_RES0@SUNXI_BOOT_FILE_RES1@SUNXI_BOOT_FILE_PKG
ITEM_NAME
Tools_CFGBoot_Package_ModefOOQRWZ[\]^bcfgjklmnopqrstuvwz{{{{||||}}}}~~~~€€€€…††‡‡ˆˆ‰‰ŠŠ‹ŽŽŽŽŽŽŽŽŽ‘’“”—˜™š›œŸŸ    ¡¡¡¡¢¢¢¢Ÿ£¤    readonlye SUB_TYPE_FESeSUB_TYPE_USR_FSeSUB_TYPE_COMMON
eSUB_TYPE_BOOT eSUB_TYPE_TOOLSeSUB_TYPE_MP_FILEe    SUB_TYPE5e
MAIN_TYPEAe _ITEM_NAMEJe _Tools_CfgOe_Boot_Package_ModeUeU½ò k¤ä@A€€AAAA€€AÁAA€€AAAA€€AÁAA€€AAAA€€AÁAA@†€A@€W†€€€A…AÀœÅA€ÜA@€€€‡€€@€À€\AC€^d¤Áä€$Bd‚„€ÊBÉBˆÉ‚‰É‰ÉŠÉB‚Šž€fopenfunc fopen is nilfclosefunc fclose is nilfwritefunc fwrite is nilfreadfunc fread is nilfseekfunc fseek is nil
fgetALinefunc fgetALine is nilstringtypefileName=%s, mode=%sFail to open file %s, mode=%sCloseReadWriteSeek    GetALine¾À„†@Á@eœ@€Mod_DbgFmtPrintL[TL_File]Msg:¿¿¿¿¿¿ÀfmtargUÂÄ„†@Á@eœ@€Mod_ErrPrintL<TL_File>Err:ÃÃÃÃÃÃÄfmtargUÒÔD€fcloseÓÓÓÓÔhFileÖØ…Ä@€ž€fread×××××רpBufnLenhFileÚÞ…Ä@€œ€W@€€Ä€A@€€Ü@ÂÞ€Þ€fwriteWant to write %dB, but %dBÛÛÛÛÛÜÜÜÜÜÜÜÜÜÝÝÞpBufnLenwrLenhFile
ErrPrintLàâ…Ä@€ž€fseekááááááânPosnFlaghFileäæD€
fgetALineååååæhFilekÀÀÄÄÆÆÆÆÆÆÆÆÇÇÇÇÇÇÇÇÈÈÈÈÈÈÈÈÉÉÉÉÉÉÉÉÊÊÊÊÊÊÊÊËËËËËËËËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÏÏÏÐÐÐÐÐÐÐÐÐÔÔØØÞÞÞââææëëìíîïðëñò
   fileNamejmodej
MsgPrintLj
ErrPrintLjhFileMjCloseXjReadZjWrite]jSeek_j    GetALineajU    readonlyö\d¤@ÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅ    Ú@€ÀA    Ü@ÀÞŀ    Ú@€ÀÁ    Ü@ÀÞÅ
Ú@€ÀA
Ü@ÀÞŀ
Ú@€ÀÁ
Ü@ÀÞŀÚ@€À Ü@ÀÞÅÚ@€ÀA Ü@ÀÞŀ Ú@€ÀÁ Ü@ÀÞÅ Ú@€ÀA Ü@ÀÞ€L@€ÀÁ @Ü@€ÀÞÅ܀Ú@@€A €A€@€ ÀA$€dÁ€¤€€äA€€$‚€d€¤€äB€$ƒ€dÀ¤€äC€$„€€dÄ€¤€€äD€$…€dÅ€¤€äE€$†€D€Š‰š‰†›‰Æ›‰œ‰F‚œ‰†‰Æ‚‰ž‰Fƒž‰†Ÿ‰ÆƒŸ‰F ‰†„ ‰¡‰Æ„¡‰†¢‰F…¢‰F£‰„£‰Æ¤‰†¤äÆ€‰Æ¥ä‰Æ†¥]^€L MallocBufferfunc MallocBuffer     is nil FreeBufferfunc FreeBuffer     is nil
GetBufferfunc GetBuffer      is nilMemcpyfunc Memcpy         is nilMemsetfunc Memset         is nilMemcmpfunc Memcmp         is nilBufferToStringfunc BufferToString is nilStringtoBufferfunc StringtoBuffer is nil GetMemValuefunc GetMemValue    is nil SetMemValuefunc SetMemValue    is nilBufferToCharsfunc BufferToChars  is nilCharsToBufferfunc CharsToBuffer  is nilGetInt32FrmMemfunc GetInt32FrmMem is nilSetInt32FrmMemfunc SetInt32FrmMem is nilGetInt16FrmMemfunc GetInt16FrmMem is nilSetInt16FrmMemfunc SetInt16FrmMem is nilGetByteBitsFrmMemfunc GetByteBitsFrmMem is nilSetByteBitsFrmMemfunc SetByteBitsFrmMem is nilGetIntBitsFrmMemfunc GetIntBitsFrmMem is nilSetIntBitsFrmMemfunc SetIntBitsFrmMem is nilGetInt8FrmMemfunc GetInt8FrmMem is nilSetInt8FrmMemfunc SetInt8FrmMem is nilfunc CharsToBuffer is nilfunc BufferToChars is nil calc_crc32func calc_crc32 is niladd_sumfunc add_sum is nil@nBufSz(%d)<=0 Fail to Alloc buffer, nBufSz=%dFreeMemCopyMemSetZero MemCompareGetMemVal2Int32SetMemValWithInt32GetMemVal2Int16SetMemValWithInt16GetMemVal2Int8SetMemValWithInt8
BuffShiftSetMemWithString SetByteBits GetByteBits SetIntBits GetIntBitsGetMemVal2CharsSetMemValWithChars    CalCrc32AddSum    GetPointGetSizeøú„†@Á@eœ@€Mod_DbgFmtPrintL
[TL_BUF]:ùùùùùùúfmtargUüþ„†@Á@eœ@€Mod_ErrPrintL <TL_BUF>ErrýýýýýýþfmtargU"%D@€ FreeBuffer###$$%pBuffer'*DZ@€D€\@C€^E@„À]€^€%pBuffer is nil, may be released yet!
GetBuffer(((((((()))))*nOffset pBuffer
ErrPrintL,:
@DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@AƀAÁAZÀ€FÂ\€ZA€D€A\AC€^A€š@€€LÁ„@À€D€ÁÀ€D\A€C€^D€€\…À€BÃ@‚@€œA‚€ž€%pBuffer is nil, may be released yet!tabletypepara must be tablesrcBuf
srcOffsetnBytespos    GetPoint#srcBuf or srcBuf.GetPoint() is nil7copy @pos(%d) + @nBytes(%d)> nBufSz(%d) in dest bufferMemcpy
BuffShift@........//////////000011111111111333444666666666666777888888899:para?srcBuf?
srcOffset?nBytes?pos?pp6?pBuffer
ErrPrintLnBufSz
BuffShift<F    /E@€\€W@€€D€\@C€^FÀ@†AÆ@A€A€AAÚ@€ÁÀ €DÀ€A€€ÀA€€@€EA€À€\AB€^€
tabletypepara must be tablevalnBytespos%pBuffer is nil, may be released yet!"@pos(%d) + @nBytes(%d)>nBufSz(%d)Memset/==========>>>????????AAABBBBBBBBBBBBCCCDDDDDEEFpara.val .nBytes .pos .pp'.
ErrPrintLpBuffernBufSz
BuffShiftHJJ€I@@€„€I€€valnBytesIIIIIIIJMemSetnBufSzLU1E@€\€W@€€D€\@C€^FÀ@†AĀÚ@€ÄAÜ@ÀÞZÀ€Æ€Á܀€Ú@€ÄÁÜ@ÀÞÄ€€€€Ä@„Ü@ÀÞÅ@€FÁ\€€ÝÞ€
tabletypepara must be table anotherBufnBytes%pBuffer is nil, may be released yet!    GetPoint+anotherBuf or anotherBuf.GetPoint() is nil0copy len @nBytes(%d)> nBufSz(%d) in dest bufferMemcmp1MMMMMMMMMMNNOOOOOOOOQQQQQQQQQQQRRRRRRRRRRTTTTTTTUpara0 anotherBuf 0nBytes 0
ErrPrintLpBuffernBufSzW\DZ@€D€\@C€^@€@D€€€D€€À\@B^EÀ„À]€^€%pBuffer is nil, may be released yet!nOffset(%d) > nBufSz(%d)GetInt32FrmMemXXXXXXXXYYYZZZZZZZZZZ[[[[[\nOffsetpBuffer
ErrPrintLnBufSz^f)DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@Aš@€€Ä€€€€Ä€Á@„Ü@ÂÞÅ@€€Ü@€Þ€    %pBuffer is nil, may be released yet!tabletypepara must be tablevalnOffsetnOffset(%d) > nBufSz(%d)SetInt32FrmMem)________``````````aabbbccccccccccdddddeefpara(val(nOffset(pBuffer
ErrPrintLnBufSzhmDZ@€D€\@C€^@€@D€€€D€€À\@B^EÀ„À]€^€%pBuffer is nil, may be released yet!nOffset(%d) > nBufSz(%d)GetInt16FrmMemiiiiiiiijjjkkkkkkkkkklllllmnOffsetpBuffer
ErrPrintLnBufSzow)DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@Aš@€€Ä€€€€Ä€Á@„Ü@ÂÞÅ@€€Ü@€Þ€    %pBuffer is nil, may be released yet!tabletypepara must be tablevalnOffsetnOffset(%d) > nBufSz(%d)SetInt16FrmMem)ppppppppqqqqqqqqqqrrsssttttttttttuuuuuvvwpara(val(nOffset(pBuffer
ErrPrintLnBufSzy~DZ@€D€\@C€^@€@D€€€D€€À\@B^EÀ„À]€^€%pBuffer is nil, may be released yet!nOffset(%d) > nBufSz(%d)GetInt8FrmMemzzzzzzzz{{{||||||||||}}}}}~nOffsetpBuffer
ErrPrintLnBufSz€ˆ)DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@Aš@€€Ä€€€€Ä€Á@„Ü@ÂÞÅ@€€Ü@€Þ€    %pBuffer is nil, may be released yet!tabletypepara must be tablevalnOffsetnOffset(%d) > nBufSz(%d)SetInt8FrmMem)‚‚‚‚‚‚‚‚‚‚ƒƒ„„„…………………………†††††‡‡ˆpara(val(nOffset(pBuffer
ErrPrintLnBufSzŠ’$DZ@€D€\@C€^F@@†€@Å܀WÀ€À€Ä€AE€\Ü@ÂÞZ@€A€Ä€Ü€Á@€€A€€€pBuffer is nilposstrstringtypepara error, %sCharsToBuffer$‹‹‹‹‹‹‹‹ŒŒŽŽŽ‘‘’para#pos
#str
#pp#pBuffer
ErrPrintL
BuffShift”œDZ@€D€\@C€^F@@†€@š@€Ä€ÁÜ@ÂÞZ@€AÅ@@€€܀Þ€pBuffer is nilposnLenpara nLen nilBufferToChars••••••••––———————˜˜˜ššššš›œparapos
nLen
strpBuffer
ErrPrintL¢«;DZ@€D€\@C€^E€€\€W@€€€D€À\@B^FAZ€E€†A\€W@€‚€D€€\@B^FÀAZ€E€†ÀA\€W@„€D€€\@B^F@BZ@€A€    @€„D†@B\€…ÀÀ€Aœ@€‚€ž€ %pBuffer is nil, may be released yet!tabletypepara not table, please checkstrstringpara error, please checksizenumberposCharsToBuffer;££££££££¤¤¤¤¤¤¤¤¤¤¥¥¥¥¥¥¥¥¥¥¥¥¥¦¦¦¦¦¦¦¦¦¦¦¦¦§§§§§¨¨¨©©©©ªª«para:pp4:pBuffer
ErrPrintL
BuffShift­¶    9DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@AƀA@€€€AÁ€€ÄA€„@€€AA€A€ Á…€€€AÁ€À€AD€€À€€€ %pBuffer is nil, may be released yet!tabletypepara must be table nBytesOfst
nBitsOfstnBitsnOffset(%d) > nBufSz(%d)@Bit Ofst should be 0~7, but %d @BitsOfst(%d) + nBits(%d) > 8GetByteBitsFrmMem9®®®®®®®®¯¯¯¯¯¯¯¯¯¯°°°±±±±±±±±±±²²²²²²²²³³³³³³³³³³µµµµµµµ¶para8 nBytesOfst8
nBitsOfst8nBits8pBuffer
ErrPrintLnBufSz¹Ã <DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@AƀAÁAD@€€€D€À€\AB^€€„@€D€À\A€B^LÁ@…€€D€À€\AB^EA„À€@€€\AB€^€%pBuffer is nil, may be released yet!tabletypepara must be table nBytesOfst
nBitsOfstnBitsvalnOffset(%d) > nBufSz(%d)@Bit Ofst should be 0~7, but %d @BitsOfst(%d) + nBits(%d) > 8SetByteBitsFrmMem<ºººººººº»»»»»»»»»»¼¼¼¼½½½½½½½½½½¾¾¾¾¾¾¾¾¿¿¿¿¿¿¿¿¿¿ÁÁÁÁÁÁÁÂÂÃpara; nBytesOfst;
nBitsOfst;nBits;val;pBuffer
ErrPrintLnBufSzÅÎ    :DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@AƀA ÁÁD€€€A€€ÄA€€„@€€A€A€ Á…€€€A€À€AAD€€À€€€%pBuffer is nil, may be released yet!tabletypepara must be table nBytesOfst
nBitsOfstnBits@nOffset(%d) > nBufSz(%d)?@Bit Ofst should be 0~7, but %d@@BitsOfst(%d) + nBits(%d) > 8GetIntBitsFrmMem:ÆÆÆÆÆÆÆÆÇÇÇÇÇÇÇÇÇÇÈÈÈÉÉÉÉÉÉÉÉÉÉÉÊÊÊÊÊÊÊÊËËËËËËËËËËÍÍÍÍÍÍÍÎpara9 nBytesOfst9
nBitsOfst9nBits9pBuffer
ErrPrintLnBufSzÑÛ =DZ@€D€\@C€^E€€\€W@€€€D€À\@C€^FA†@AƀAÁAL„@€€D€AÀ€\AB^€…@€D€ÁÀ\A€B^LÁ@†€€D€AÀ€\AB^E„À€@€€\AB€^€%pBuffer is nil, may be released yet!tabletypepara must be table nBytesOfst
nBitsOfstnBitsval@nOffset(%d) > nBufSz(%d)?@Bit Ofst should be 0~7, but %d@@BitsOfst(%d) + nBits(%d) > 8SetIntBitsFrmMem=ÒÒÒÒÒÒÒÒÓÓÓÓÓÓÓÓÓÓÔÔÔÔÕÕÕÕÕÕÕÕÕÕÕÖÖÖÖÖÖÖÖ××××××××××ÙÙÙÙÙÙÙÚÚÛpara< nBytesOfst<
nBitsOfst<nBits<val<pBuffer
ErrPrintLnBufSzÝå!F@†@@š@€ÄÜ@ÂÞZ@€AÀ̀€€ÀÀ€Ä@€€Ä€Ü@€ÂÞĀ܀A@€€€€posnBytespara error, nBytes nil"pos(%d) + nBytes(%d) > nBufSz(%d) calc_crc32!ÞÞßßßßßßßàààááááááááááááâââäääääåpara pos nBytes pp 
ErrPrintLnBufSz
BuffShiftçñ    'E@€\€W@€À€D€Å@Ü\@B^FÀ@†AÆ@Aš@€AAZ@€AÀÚ@€ÁÀ€@€E€À€\^€    tabletypepara error, type(%s)posnBytesorg nBytes niladd_sum'èèèèèèèèèèèèèéééêêêêêêêëëëìììíííïïïïïðñpara&pos&nBytes&org&pp &addSum%&
ErrPrintL
BuffShift  €   pBuffer  €   nBufSz\úúþþ                                
 
 
 
 
 
 
 
                             %%***:::::FFFFFJJJUUUU\\\\ffffmmmmwwww~~~~ˆˆˆˆ’’’’œœœ««««¶¶¶¶ÃÃÃÃÎÎÎÎÛÛÛÛååååñññôôö÷øùúûüýþÿ    
      ônBufSz[
MsgPrintL[
ErrPrintL[pBufferß[Freeî[
BuffShiftñ[MemCopyö[MemSetû[Zeroþ[ MemCompare[GetMemVal2Int32[SetMemValWithInt32
[GetMemVal2Int16[SetMemValWithInt16[GetMemVal2Int8[SetMemValWithInt8[SetMemValWithChars[GetMemVal2Chars![SetMemWithString%[ GetByteBits)[ SetByteBits-[ GetIntBits1[ SetIntBits5[    CalCrc329[AddSum<[U    readonly"·
Ud¤@ÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅ܀Ú@@€A€A€$€dÁ€¤€€äA€€JI†IB‡I‚‡Iˆ€    Img_Openfunc Img_Open is NULL
 
Img_Closefunc Img_Close is NULL
 Img_OpenItemfunc Img_OpenItem is NULL
Img_CloseItemfunc Img_CloseItem is NULL
Img_ReadItemDatafunc Img_ReadItemData is NULL
Img_GetItemSizefunc Img_GetItemSize is NULL
Fail to open image %s    CloseImgItemsave_item_as_filesave_item_to_mem$&„†@Á@eœ@€Mod_DbgFmtPrintL
[TL_IMG]:%%%%%%&fmtargU(*„†@Á@eœ@€Mod_ErrPrintL <TL_IMG>Err:))))))*fmtargU8:D€
Img_Close9999:hImage<d(¤€À@€Ü€€ÇÅÚ@€€ÄA@€€Ü@ÀÞä@€$€E„€Å\€ZA€€Á[AÀÿ¤Á€ÊÁÉÁ‚Ɂ‚ɁƒÞ€hItemFail to open Item<%s, %s>Img_GetItemSizeCloseRead    ItemSize>F…@Àœ€€€€…@À€œ€W€€€€„Á€A@EA€€\œ@‚ž…ÀĀ@€ž€stringtype"item(%s, %s) all should be string Img_OpenItem@@@@@@@@@@AAAAAAAAABBEEEEEEF szMainType
szSubType
ErrPrintLhImageKO@D…€€€€€€€@€@€€retImg_CloseItemhItemLLLLLNNNNNNNNNOhImageQW…@ā@€€œ€€‡…@€€€‚@€‚@‚€‡À…Àš@€„€Á€Eœ@…Àž€readLenImg_ReadItemDatahItemretwant to read %dB, but %dB.
RRRRRRRSSSSSSSSSTTTTTTTTVVWpBufwantLenhImage
ErrPrintL[]€\\]    itemSize(FFFHHHHHIIIIIIIIIIOOWWWYYYYZZZZZ]]_`abcd szMainType'
szSubType'
open_item' close_item'read_item_data'    itemSize' get_item_sz"'
ErrPrintLhImagegyÅ@܀À€@€Å@€Ü€À€€Å@܀WÀ€@€ÄEA€\…AÀ€œÅAÜÜ@ÂÞĀ@€Ü€€Ú@€AÁA@A€A@€DÀ@€\A€FÁÁ\A€B^FÂ\€…A†BÄÆÁÂÆÃ€œ€ÅA܁ÚA€€A‚€À€BÂAB€ÂÁB€ÂEBF‚‚À\‚€†ÄÀœ‚ÆBÄ@€܂€ÚBÀ€ÄƒÜB€ÆÂD@€܂€ÚBÀ€ÄÜB€€ B‚øFBÅ\B€FÂA\B€FÂÁ\B€^€stringtype3item(%s, %s) and filePath(%s) all should be stringFail to new a item. Tools_Filewb+0Fail to open temporary file %s for item<%s, %s>Close    ItemSizemathmin
Tools_CFG IMG_BUF_LEN Tools_Buffer$Fail to create buf. for item<%s,%s>
BuffShiftReadfail to read item dataWriteFailed to write to file.Freeyhhhhhhhhhhhhhhhiiiiiiiiiiiijjmmmmnnnnnnnppppqqrrrrrrssttwwxxxxxxxyyyzz{{{{{||}}~~ƒƒƒƒƒ„„„††††††††††‡‡‡‡‡‡‡‡‡‡‰ŠŠŒŒŽŽ
main_typex    sub_typex    filePathxtheItem!xtl_File,xitemSz:xBufLenAxtl_BufDx readTotalLenRxwantLenWqppBufZq
ErrPrintLItemCfg“¯
ZÅ@܀À€€Å@€Ü€WÀ€€€ÄEA€\…AÀ€œÜ@ÂÞĀ@€Ü€€ÇÀÅÀÚ@€ÄÜ@ÀÞÅÀÆ@Á܀€€Á€AÁAB€ÀÀ€AA…Á†AAÆBÜ€AÁBA€M…Á†CÀ€BC‚Cœ€ÅÁÆÁÃD@‚@܁€ÚAÀ€ÄBÜA€€ ÀùEÁFÂ\A€Þ€stringtypeitem(%s, %s) should be stringtheItemFail to new a item.    ItemSizeFail to get item sizeGetSize(save_item_to_mem, itemSz(%d)>BufLen(%d)Closemathmin
Tools_CFG FEX_DOWN_LENRead
BuffShiftfail to read item dataZ””””””””””•••••••••––™™™™™ššššššššœœœžžžžŸŸŸŸŸŸŸ   ¡¡¤¦§§§§§§§¨¨¨¨¨¨¨¨¨¨¨¨¨ª««­­­®¯
main_typeY    sub_typeYtl_BufYitemSz%Y readTotalLen=YleftLen>UwantLenEU
ErrPrintLItemCfgU&&**--------........////////00000000111111112222222255566666666::ddd¯¯¯¯±±²³´µ±¶·
szImgFileT
MsgPrintLT
ErrPrintLThImage7T    CloseImgATItemDTsave_item_as_fileHTsave_item_to_memLTUCfg    readonlyó|/"d¤@ÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞŀÚ@€ÀÁÜ@ÀÞÅÚ@€ÀAÜ@ÀÞÅ܀Ú@€AA$€AÁ…À€œšA€€ÀBÜAÀÜA€Ã€ÞäÁ$€dB¤‚€ä€$€dC€¤ƒ€äÀ€$€dD¤„€äÄ$€€€€€€€    €€    dE€€¤…
€€
äÅ $
€€€
dF
€€
¤†€€äÆ€€€
$€€ dG€€ ¤‡€
€€
äÇ
€€
$
€€
dH€€¤ˆ
€€
äÈ€$    
€€dI
€ ¤‰
€ äÉ
€ $
   
€ dJ    
€ ¤Š    €
äÊ    
€  JK„ I‹ ‰…ËI‹‹‰„ €I‹ Š„ €I‹‹ŠI ‹I‹…‹IËŒI †ŒIKI ‡IKŽI‹‡ŽIˏI ˆIKIˈI    ‘I‹ˆ‘IK    ’I‹‰’IË    “I Š“I‹
”Iˊ”IK
•  €+    Fex_Openfunc Fex_Open is NULL
 
Fex_Closefunc Fex_Close is NULL
 
Fex_Queryfunc Fex_Query is NULL
    Fex_Sendfunc Fex_Send is NULL
    Fex_Recvfunc Fex_Recv is NULL
 Fex_commandfunc Fex_command is NULL
Fex_transmit_receive#func Fex_transmit_receive is NULL
Fail to open fex dev0@ Tools_Buffer Fail to alloc buffer for fexCmdFES_MEDIA_INDEXFES_MEDIA_OOCFES_DOUFEX_COMMAND_IDClose FelDownData FelClearArea
FelUpDataFelRun FesDownData
FesUpDataFesRunFesInfo
FesGetMsgFesInfoAndGetMsgBodyFes_down_finish_flag Fes_unRegFedFex_VerifyDevFex_VerifyValueFex_VerifyStatusFex_QueryStorageFex_ProbeFlashSizeFex_SetFlashOnOffFex_SetToolModeFex_ProbeBootPackageMode(ôö„†@Á@eœ@€Mod_DbgFmtPrintL
[TL_FEX]:õõõõõõöfmtargUøú„†@Á@eœ@€Mod_ErrPrintL <TL_FEX>ErrùùùùùùúfmtargU
D@@€€@€@@€€G@€€
Fex_Close m_tlBufCmdFree            
m_hFexDev&    8†ÀÆ@ÀÁ@€Á@€W€€A…ÁÀœÅÁ€ÜAAAJIƒIƒA€DA\AC€^FAAЁ‰Áƒ‰Âƒ\€A€DÁ\AC€^FCŠAÆAÉÁƒ\€€addrlennumbertypenumber ~= %s , number~= %sSetMemValWithInt32valnOffset@Fail to set address. @Fail to set len.SetMemValWithInt16cmdId8!!!!!!"""""""$$$$$$%&    tlBufCmd7cmdPara7addr7len7ret7
ErrPrintL(4#†Àŀ܀WÀ€€À€ÄÁE€\Ü@ÀÞÆA
    €‚    ÁAƒÜ€Ú@€AAABJA„€†BI‚ÀÞ€ addrnumbertypenumber ~= %s SetMemValWithInt32valnOffset@Fail to set address.SetMemValWithInt16FEL_RUN#)*****++++++,,/////0000000222222234    tlBufCmd"cmdPara"addr"ret"
ErrPrintLFEX_COMMAND_ID7N
L†ÀÆ@ÀÀE€\@€E€€\W@€€DAÅ܁@€\AC€^FAЁ‰ƒ‰Â„\†ÁBʁɁ€ƒÉĜ@ZA€„ÁAœAƒž†ÁBʁÉÁ€ƒÉÃ„œ@ZA€„ÁÁœAƒž†ÁBʁɁƒÉĄœ@ZA€„ÁAœAƒž†AÊA‚ÄÉ‚ƒœ@^€addrlen    data_tagnumbertype#should(number, number), but(%s,%s)SetMemValWithInt16valnOffset@SetMemValWithInt32@Fail to set address @Fail to set len(@Fail to set fes trans typecmdIdL999::::::::::;;;;;;;;;<<@@@@@BBBBBBCCCCCCCEEEEEEFFFFFFFHHHHHHIIIIIIILLLLLLMN    tlBufCmdKcmdParaKaddrKlenK    data_tagKretK
ErrPrintLPd L…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†ÀÀÆÁAÁšÀ€Ú@€A@€DÅA܁B@€‚EB€\\AC€^FÁAЁ‰„‰Â„\ZA€„ÁÁœAƒžŽCÚ€ŒACƁC
‚    ‚„    ÂÄ܁@€ZA€ÄÜAÂÞÆAD
BD€F‚Ä    B„܁@€^€tabletype type error    codeAddrhasPararunTypetype nil, %s, %s,%sSetMemValWithInt32valnOffset@Fail to set address0@ð?SetMemValWithInt8 @set type errorSetMemValWithInt16FES_RUNLQQQQQQQQQQRRRRRTTTUUUUUUVVVVVVVVVVVVWWZZZZZ[[[[[[[]^^^______```````bbbbbbbcd    tlBufCmdKcmdParaK    codeAddrKhasParaKrunTypeKret+Ktemp3K
ErrPrintLFEX_COMMAND_IDfn…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž‚ÆÀ@
AD€FAÁ    A‚Ü€€€ž€tabletype type errorSetMemValWithInt16val    FES_INFOgggggggggghhhhhjlllllllmn    tlBufCmdcmdPararet
ErrPrintLFEX_COMMAND_IDp|'…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž‚ÁÀAJIÁ€‚IÁAƒ€š@€AAABJA„€†BI‚€ž€ tabletype type error@SetMemValWithInt32valnOffset@fail to set msg_lenSetMemValWithInt16 FES_GET_MSG'qqqqqqqqqqrrrrrtvwwwwwwxxxxxxxzzzzzzz{|    tlBufCmd&cmdPara&ret&msg_len&
ErrPrintLFEX_COMMAND_ID~†…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž‚ÆÀ@
AD€FAÁ    A‚Ü€€€ž€tabletype type errorSetMemValWithInt16val VERIFY_DEV€€€€€‚„„„„„„„…†    tlBufCmdcmdPararet
ErrPrintLFEX_COMMAND_IDˆ’ …@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž‚ÆÀÀAJIÁ€‚IÁAƒ€AJA„€†BI‚€ž€    tabletype type error media_indexSetMemValWithInt16valnOffset@FES_UNREG_FED ‰‰‰‰‰‰‰‰‰‰ŠŠŠŠŠŒŒŽŽŽŽŽŽ‘’    tlBufCmdcmdPararet media_index
ErrPrintLFEX_COMMAND_ID”¥    8…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†ÀÀÆÁAAJIƒIƒA€DA\AB^FAAЁ‰Áƒ‰Âƒ\€A€DÁ\AB^FCŠAÄ€ÆAÉÁƒ\€DÀ€\A€tabletype type errorstartsizeSetMemValWithInt32valnOffset@fail to set verify start @fail to set verify sizeSetMemValWithInt16FEX_CMD_FES_VERIFY_VALUE%x, %x8––––––––––—————™™›››››œœœœœœœžžžžžžŸŸŸŸŸŸŸ¡¡¡¡¡¡¡£££££¤¥    tlBufCmd7cmdPara7start7size7ret7
ErrPrintLFEX_COMMAND_ID
MsgPrintL§º    A…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†ÀÀÆÁAÁFAЁ‰€ƒ‰AB„\ZA€„ÁœA‚ž†AʁÉÁ€ƒÉÁB„œ@ZA€„ÁœA‚ž†AʁɁƒÉAC„œ@ZA€„ÁœA‚ž†ÁCÊA€DÉ‚ƒœ@^€tabletype type errorstartsizetagSetMemValWithInt32valnOffset@ fail to set verify status start @ fail to set verify status  size(@fail to set verify status  tagSetMemValWithInt16FEX_CMD_FES_VERIFY_STATUSA©©©©©©©©©©ªªªªª¬¬¬®®®®®¯¯¯¯¯¯¯±±±±±±²²²²²²²´´´´´´µµµµµµµ·······¹º    tlBufCmd@cmdPara@start@size@tag@ret@
ErrPrintLFEX_COMMAND_ID½É$…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†ÀÀÆA
    €‚    ÁAƒÜ€Ú@€AAABJA†ÂI‚ÀÞ€ tabletype type error flash_typeSetMemValWithInt32valnOffset@fail to set flash_typeSetMemValWithInt16cmdId$¿¿¿¿¿¿¿¿¿¿ÀÀÀÀÀÂÃÃÃÃÃÄÄÄÄÄÄÄÆÆÆÆÆÆÈÉ    tlBufCmd#cmdPara# flash_type#ret#
ErrPrintLÌÛ    2…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†ÀÀÆÁAAJIƒIƒA€DA\AB^FAAЁ‰Áƒ‰Âƒ\ZA€„ÁÁœA‚ž†CÊA€BCɃœ@^€tabletype type error
tool_mode
next_modeSetMemValWithInt32valnOffset@fail to set tool mode @fail to set next modeSetMemValWithInt16FEX_CMD_FES_TOOL_MODE2ÎÎÎÎÎÎÎÎÎÎÏÏÏÏÏÑÑÓÓÓÓÓÔÔÔÔÔÔÔÖÖÖÖÖ×××××××ÙÙÙÙÙÙÙÚÛ    tlBufCmd1cmdPara1
tool_mode1
next_mode1ret1ret"1
ErrPrintLFEX_COMMAND_IDßè…@Àœ€€€€…@À€œ€W€€€„Á€œ@ƒž†AÊ@ÁɁ‚œ€‡À…Àž€tabletype type errorretSetMemValWithInt16valcmdIdááááááááááâââââååååååççè    tlBufCmdcmdPara
ErrPrintLí. E@€\€W@€À€D€Å@Ü\@C€^E@†A\€W@€À€D@Å@AÜ\@C€^FA„€š@€„Á€œ@ƒž„€†ÀAœ@€‚€ÄÆÂ@€€@5€ÄÆ@Â@€€4€ÄƀÂ@€€À2€ÄÆÀÂ@€€€1€ÄÆÃ@€@€Ä€€@܀€€€/€ÄÆ@Ã@€@€Ä€@܀€€€€,€ÄƀÃ@€@€Ä€€@܀€€€*€ÄÆÀÃ@€@€Ä€€@܀€€€€'€ÄÆÄ@€@€Ä€@܀€€€%€ÄÆ@Ä@€@€Ä€€@܀€€€€"€ÄƀÄ@€@€Ä€@܀€€€ €ÄÆÀÄ@€@€Ä€@€Ü@€Ä€@܀€€€€€ÄÆ@Å@€@€Ä€€@܀€€€€ÄƀÅ@€@€Ä€€@܀€€€€€ÄÆÀÅ@€@€Å€@܀€€€€ÄÆ@Æ@€@€Ä€@܀€€€€€ÄƀÆ@€@€Ä€€@܀€€€€ÄÆÀÆ@€@€Ä€€@܀€€€€ €ÄÆÇ@€@€Ä€@܀€€€ €ÄÆ@Ç@€@€Ä€€@܀€€€€€ÄƀÇ@€@€Ä€@܀€€€€ÄÆÀÇ@€@€Ä€@܀€€€€€ÄÆÈ@€@€Ä€@܀€€€€ÄA@€Ü@€‚š@@€Ä@€Ü@€ÂÞž€#tabletypecmdPara should be table,but %snumbercmdId$field cmdId shoud be number, but %sFail to get buffer for fexCmdZero SWITCH_ROLE    IS_READYGET_CMD_SET_VER DISCONNECT    FEL_DOWNFEL_RUNFEL_UPFES_RUN    FES_INFO FES_GET_MSG VERIFY_DEVFES_UNREG_FEDGenCmd 0x%x, unreg fedFEX_CMD_FES_DOWNFEX_CMD_FES_UPFEX_CMD_FES_VERIFYGenFexCmd_Normal_FEX_CMD_FES_QUERY_STORAGEFEX_CMD_FES_FLASH_SET_ONFEX_CMD_FES_FLASH_SET_OFFFEX_CMD_FES_VERIFY_VALUEFEX_CMD_FES_VERIFY_STATUSFEX_CMD_FES_FLASH_SIZE_PROBEFEX_CMD_FES_TOOL_MODEFEX_CMD_FES_QUERY_PKMODEUnhandled fex cmd id[%d]!Fail to gen fex command, id = %d ïïïïïïïïïïïïïðððððððððððððòôôôôôôôôõõõøúúúúúûûûûûüüüüüýýýýýþþþþÿÿÿÿÿÿ                        
 
 
 
                    !!!!""""""####$$$$$$&&&&'))))))**-.cmdPara cmdId ret' 
ErrPrintL m_tlBufCmdFEX_COMMAND_IDGenFexCmd_FelTransGenFexCmd_FelRunGenFexCmd_FesRunGenFexCmd_FesInfoGenFexCmd_FesGetMsgGenFexCmd_FesVerifyDev
MsgPrintLGenFexCmd_unRegFedGenFexCmd_FesTransGenFexCmd_NormalGenFexCmd_SetFlashOnOffGenFexCmd_VerifyValueGenFexCmd_VerifyStatusGenFexCmd_SetToolMode1F TF@†@@ƀ@E€\W@À€D€AÅÜ\AC€^FÁA\€W@ƒ€€D€ÆÁAÜ€\AC€^š@€@Ú@€Á@Z@€€AAZA@€FÁÁ\€Z@€€AšA€€†ÂÀ€œÍÁ€€€À€Ä€Â@€€À€ÜA€ÂÞÅFBC\‚€€À܁€WÀ„À€€A‚€€B€ÂCB€À„€€€@€B€€
tlBufDatadataSz
bufOffsettabletype%s0@GetSize arg error in SendFexCommand, %d
BuffShift.dataSz(0x%x) > bufCap(0x%x) - bufOffset(0x%x) Fex_command    GetPointfexCdmRet = %dZeroT3334555555555555566666666666888999:::::::;;;;;;;;<<<<<<<<<<<>>>>>>>??@@@@CCEEEEEEEEFparaS
tlBufDataSdataSzS
bufOffsetS    tlBufCmdSbufCap)Spp1SretCS m_tlBufCmd
ErrPrintL
m_hFexDev
MsgPrintLHg YE@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÆ@AAZÀ€š@€Ú@@€DÁÅA€ÜB@‚EB€€\\AC€^BÀ€BB‚BMÂÀ@€›A€€€„Ê C‚ɃÉ‚‚€CɃ…œ‚@ZA€„ÁBœBB€A€„ÊÂɇɂ‡ CɃœ‚@…šBÀ€„ÁBœB€€ÍÂô^€tabletypepara error, %saddrlendataBuf
bufOffsetpara error, %s, %s, %s
Tools_CFG FEX_DOWN_LENcmdId    FEL_DOWNFailed to gen fexCommand
tlBufDatadataSzretFailed to down data to fel.YIIIIIIIIIIIIIJJJJKKKKKKKKKKKKKKKKKKKKNOOQQQRSSSSSUUUUUVVVUVWWXXXYY\\\]]]]]]]]^^^___`cddfg
paraXaddrXlenXdataBufX
bufOffsetX_ret&X thisDownLen(XleftLen(XFexLen+W totalDownLen,W
ErrPrintLCfg GenFexCmdBufFEX_COMMAND_IDSendFexCommandiu2E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AZ@€š@€€ÄAEA€€\…AÀœÜ@ÀÞŀ܀Ú@€AÁA€JÁIA€I‚IÁ„FAÂ\A€€
tabletypepara error, table but %saddrlenpara error, %s, %s Tools_BufferFail to gen data bufdataBufFree2jjjjjjjjjjjjjkklllllllllllllllnnnoooooooqqqqqqsstupara1addr1len1bufZero!1ret.1
ErrPrintL FelDownDatawƒ
@E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÆ@AZÀ€š@€Ú@@€A…AÀ€œÅA܁B@€A€JÁIA€I‚„†BIƒA€DA\AC€^D€À€\ADЁ‰Á€…‰†\€€ tabletypepara error, %saddrlendataBufpara error, %s, %s, %scmdIdFEL_UPFail to gen buf for FelUpDatafel UP addr=0x%x, len=%d
tlBufDatadataSz@xxxxxxxxxxxxxyyyzzzzzzzzzzzzzzzzzzzz||||||||}}}}}}}€€€€€€‚ƒpara?addr?len?dataBuf?ret,?
ErrPrintL GenFexCmdBufFEX_COMMAND_ID
MsgPrintLSendFexCommand…)E@€\€W@€À€D€Å@Ü\@C€^FÀ@Z@€„Áœ@ƒž„€Ê€É@€AɁ‚œ€š@€ÄÁÜ@ÀÞĀ
܀€€ž€tabletypepara error, %saddr
addr nil.cmdIdFEL_RUNFail to gen buf for FelRun)†††††††††††††‡ˆˆˆˆˆˆˆŠŠŠŠŠŠŠ‹‹‹‹‹‹‹para(addr(ret(
ErrPrintL GenFexCmdBufFEX_COMMAND_IDSendFexCommand’ÔÅF@†@@ƀ@E€\W@À€D€AÅÜ\AC€^FÁA\€W@ƒ€€D€ÆÁAÜ€\AC€^š@€@Ú@€Á@Z@€€AAZA@€FÁÁ\€Á€€À€„€Á@€€€œA€‚žƒÆÁB܁€Z@€€BB€€Ã@€‚AB‚ÅÂ@€ƒÀ܂€€€šA€Ä€ÜBÀÞÄÆBÄC܂€ƒDÀ€€ÃD€Àƒ€€šA@€€ACÀ€€ÃDWÀÀ€€EWÀÀ€€CEWÀÀ€€ƒEWÀÀ€€ÃEWÀÀ€€FWÀÀ€€CFÀ€€ÃD€À€ƒ€€šA€€€AC€€ƒFWÀ€€ÃFWÀ€€GÀ€À€€AC€€C€ÃD€€Áƒ€ƒ€€šA€€AÃCHACƒWƒ„€€AƒCÃHC€€„€€€@€C€€$
tlBufDatadataSz
bufOffsettabletypeFes cmd type: %s0@GetSize arg error in SendFexCommand, %d.dataSz(0x%x) > bufCap(0x%x) - bufOffset(0x%x)    GetPoint
BuffShift1@2@Fex_transmit_receiveFail to send fex cmdGetMemVal2Int16FEX_CMD_FES_DOWNFEX_CMD_FES_UPFEX_CMD_FES_VERIFYFEX_CMD_FES_QUERY_STORAGEFEX_CMD_FES_VERIFY_VALUEFEX_CMD_FES_VERIFY_STATUSFEX_CMD_FES_FLASH_SIZE_PROBEFEX_CMD_FES_QUERY_PKMODEFEX_CMD_FES_FLASH_SET_ONFEX_CMD_FES_FLASH_SET_OFFFEX_CMD_FES_TOOL_MODE fes command invalid: cmdId = %x @fes cmd error: get cmd status GetMemVal2Int8@Fes cmd error: status errorZeroœ““”•••••••••••••–––––––––––˜˜˜™™™ššššššš›››››››››››¤¥¥¦¦¦¦¦¦¦¦¨¨©©©©©©©ªªªªªªª¬¬¬¬°°°°²²²²²²²³³³³³³³³µµµµ¶¶¶¶····¸¸¸¸¹¹¹¹ºººº»»»»½½½½½½½¾¾¾¾¾¾¾¾ÁÁÁÁÂÂÂÂÃÃÃÃÃÆÆÆÆÊÊÊÊÊÊÊËËËËËËËÍÍÍÍÍÎÎÎÏÏÑÑÓÓÓÓÓÓÓÓÔ paraÄ
tlBufDataÄdataSzÄ
bufOffsetÄ    tlBufCmdÄbufCap)Äret5Äpp7ÄpData?ÄTRANSFERDATA_DIRECTION_RECVAÄTRANSFERDATA_DIRECTION_SENDAÄcmdIdSÄ m_tlBufCmd
ErrPrintL
m_hFexDevFEX_COMMAND_ID×€F@†@@ƀ@Á@FA†AAƁAÂAFB†BBƂBZ@€šÀ€Ú@€ÚB€AÃ…À€œƒÅ܃@€„E€€\CA€AAC€ƃB€„C„À€ÄÆÃÃÚC@€ÄÆÄ€DD„DM„€@€[C€@„†ÄD    €    €€ŒD„šD@€ÅŒ„„€ƒ€Ä€ÆDÅ    ÌĄÚD€À€JI…€IEƒ€IÅ‹IÅ„…
C€AÅEÀ€€JÅIŌIEƒŒŒEI………
CÀ€A…E@€š€ÌAƒÀ@€EPÅF
E
@ŠE‰Ž\ENE
ÍA…C@C€í€addrlendataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tag media_indexDOUpara nil:%s,%s,%s,%stypeDOWNFEX_CMD_FES_DOWNFEX_CMD_FES_UP
Tools_CFG FEX_DOWN_LENDRAM€@sunxi_efex_trans_finish_tagcmdId Failed to gen fes command down.
tlBufDatadataSzFailed to trans data to FES.ð?
nPercents€ÚÚÚÚÚÚÚÚÚÚÚÜÜÜÜÜÜÜÜÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝßßßáââãããããããããããæææçèèèèèìììììììììîîîîîîîîððñòóôðôõõööö÷øýýþÿý        
       paraaddr len dataBuf 
bufOffset  uiPromptOnce  uiCbProgress totalUnPromptLenInPkt 
uiCurrent     data_tag  media_index DOU _ret( thisTransLen*leftLen*    tmpCmdId5FexLen8~totalTransLen9~ thisDownAddrG~tmp_tagO~stepsr{
ErrPrintLFES_DOUFEX_COMMAND_IDCfgFES_MEDIA_INDEXSUNXI_EFEX_TAG GenFexCmdBuf FesTransCmdDF@À    @€D€€]^€DOUDOWNparaFES_DOU FesTransData#DF@À    @€D€€]^€DOUUP!!!""""#paraFES_DOU FesTransData%R …F@†@@ƀ@ZÀ€š@€Ú@@€AÁ…À€œÅ܁@€A€A    ‚@A€DÁ\AB^EA\ZA€„ÁœA‚žÚ€€†ÁBÆCBCF‚Cš@€†ÂÃÊBɂˆœ‚A€€„ÁBœB†‚ÄœB€‚žÚ€€†ÂÃʂɈÉʼnœ‚A€€„ÁBœB†‚ÄœB€‚ž€€†ÂÃʂɈɂʼnœ‚A€€„ÁœB†‚ÄœB€‚žZ€€†ÂÃʂÉBˆÉƉœ‚A€€„ÁBœB†‚ÄœB€‚ž„€Á€œA€„ʁÉAÉABŽœ†ÄœA€€    codeAddrrunTypehasParatype (%s,%s,%s)typecmdIdFES_RUNfailed to gen fex cmd buffer Tools_Buffer0@Fail to alloc buffer for para
para1Addr
para2Addr
para3Addr
para4AddrSetMemValWithInt32valFail to set para1FreenOffset@Fail to set para2 @Fail to set para3(@Fail to set para4fes run addr = 0x%x
tlBufDatadataSz…&&&'''''''''''''''''''')))***+++++++---.......001111223333344444555588999999:::::;;;;>>??????@@@@@AAAADDEEEEEEFFGGGHHHHMMMMNNNNNNPPQR
para„    codeAddr„runType„hasPara„ret„dataBuf'„
para1Addr4w
para2Addr4w
para3Addr4w
para4Addr4w
ErrPrintLFEX_COMMAND_ID GenFexCmdBuf
MsgPrintLSendFexCommandUn@E@€\€Z@€„Á€œ@ƒžƒĀ
ADFÁ    AÜ€€€š@€ÄAÜ@ÀÞĀ
    Aƒ    €ƒÜ€€€š@€€ÄÜ@Æ@ÂÜ@€Ã€ÞÆÀÂ܀€À…€€€Â@€Â@€Ú@ÀõÆÀ܀AÂA€WÀ…€BAB€€€ @@ Tools_Buffer Fail to gen buffer for infodatacmdId    FES_INFOFail to gen fex info cmd buf
tlBufDatadataSz"Fail to send fex command FES_INFOFreeð?GetMemVal2Int8@VWWWXXXXXXXZ]]]]]]]^^^^^^^``````aabbbccddggggggggghhjjjllmmmmmmnINFO_DATA_LEN?    infoData?ret ?busy24haveMsg7?
ErrPrintL GenFexCmdBufFEX_COMMAND_IDSendFexCommandp}.F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€€ÄAÜ@ÀÞƀÁÜ@€Ä€
ADF    AƒÜ€Ú@€AAA€JIA…I€…ÀÚ@€AAÞ€ msgBuf@tabletypeGetSize para errorZerocmdId FES_GET_MSGfail to gen fex cmd get_msg
tlBufDatadataSzFail to send fex cmd get_msg.qrssssssssssssssttvvvvvvwwwwwwwyyyyyyzzzzzzz|}para-msgBuf- MSG_BUF_LEN-ret-
ErrPrintL GenFexCmdBufFEX_COMMAND_IDSendFexCommand€›
JF@†@@ÅÀ€Ü€WÀÀ€ÄEÁ€€\Ü@ÀÞĀÜÀ€Ú@€DA\AB^A€D\AAÁ^D€€\À€Ú@€D\AB^FAÂ\€š@€†Bœ€@À€„ÁÁ€F‚B\€œA‚ž†CÊÁÉA€†ÉÁC‡ÉAˆœÀÚ@€„ÁAœA‚ž^€msgBuf msgDataBuftabletypetype error(%s)fail to query fes infoWRN, fes have no msg yetFail to get msgGetMemVal2Int16GetSizedataSz(0x%x)>dataBufSize(0x%x)MemCopysrcBuf
srcOffset8@nBytesFail to copy data.J‚‚‚‚‚ƒƒƒƒƒƒ„„‡‡ˆˆˆˆˆˆˆŠŠŠŠŠŠŠŒŒŒŒŽŽ‘‘‘‘’’’’’’““–––––––———————š›paraImsgBufI msgDataBufIretIhaveMsgIdataLen,I
ErrPrintLFesInfo
MsgPrintL
FesGetMsg«1F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€@€ÄAEÁ€€\†Áœ€Ü@ÀÞĀ
ADFÁÁ    AƒÜ€Ú@€AA€JIA€„I…ÀÚ@€AÁAÞ€ dataBuf@@tabletypeGetSizepara error, %s, %dcmdId VERIFY_DEV"fail to gen fex cmd verify device
tlBufDatadataSz#Fail to send fex cmd verify device1žŸ         ¡¡¡¡¡¡¡¡¡¡¤¤¤¤¤¤¥¥¥¥¥¥¥§§§§§§¨¨¨¨¨¨¨ª«para0dataBuf0 DATA_BUF_LEN0ret0
ErrPrintL GenFexCmdBufFEX_COMMAND_IDSendFexCommand­¿-E@\€„Ê@É@œ€š@€€Ä€ÁÜ@ÆÁÜ@€ÂÞÆ@Á܀AÁ€€A€ÂA€AÂJAIÁB…AAÂJAIC…A€JÁŒÃI†IÃ‡IA€ÁA€ž€ Tools_Buffer@@dataBufFail to verify deviceFreeGetMemVal2Int324@pho_data_start_addr is 0x%xZeroSetMemValWithInt16val ¹ä@4²@addr@len-®®®¯¯¯¯°°±±±²²²²´´´µµµµ··¸¸¸¸¹¹¹¹»»»»»»»»½½¾¿para,dataBuf,ret,pho_data_start_addr, FexVerifyDev
ErrPrintL
MsgPrintL FesDownDataÁ× KF@†@@ÅÀ€Ü€WÀÀ€ÄEÁ€€\Ü@ÀÞĀ
DFÁ    A‚    €€Ü€Ú@€AÁA€B€AAÅÁ@À܁€À€Ú@€ÄBÜAÀÞÅÁ@‚À€܁€À€Ú@€ÄÂÜAÀÞÄ€ÆAÄ‚܁WÀˆ€ÄÂÜAÂÞÞ€dataBuf media_indextabletypepara error, %scmdIdFES_UNREG_FED"fail to gen fex cmd verify device    GetPoint1@2@Fex_transmit_receive0@Fail to send fex cmd @Fail to get unReg fed resultGetMemVal2Int8@Fail to unReg FedKÂÂÃÃÃÃÃÄÄÄÄÄÄÄÄÇÇÇÇÇÇÇÈÈÈÈÈÈÈÊÊÊËËÌÌÌÌÌÌÌÍÍÍÍÍÍÍÏÏÏÏÏÏÏÐÐÐÐÐÐÐÒÒÒÒÒÒÓÓÓÔÔÖ×paraJdataBufJ media_indexJretJpp JTRANSFERDATA_DIRECTION_RECV"JTRANSFERDATA_DIRECTION_SEND"J
ErrPrintL GenFexCmdBufFEX_COMMAND_ID m_tlBufCmd
m_hFexDevÙí    DF@†@@ƀ@ÁEA€€\@‚À€FÁ\€@€DÁÅA€Ü‚Á€\AC€^EA€\@„€EA€€\W@„€DA\AC€^D€ŠÁÄÆÁ‰Á…‰€€‰Á\ZA€„ÁœAƒž„€ʁÉA€†É‡œ@ZA€„ÁÁœAƒž^€dataBufstartsize(@tabletypeGetSizepara error, %s, %dnumberpara error, need numbercmdIdFEX_CMD_FES_VERIFY_VALUE!fail to gen fex cmd verify value
tlBufDatadataSz"Fail to send fex cmd verify valueDÚÚÚÛÜÜÜÜÜÜÜÜÜÝÝÝÝÝÝÝÝÝÝààààààààààáááââåååååææåçççççççééééééêêêêêêêìíparaCdataBufCstartCsizeC DATA_BUF_LENCret.C
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmdð5F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€@€ÄAEÁ€€\†Áœ€Ü@ÀÞĀ
DFÁÁ    Aƒ    AB„    AB…FÁB    A…Ü€Ú@€AA€JIA€†I‡ÀÚ@€AÁAÞ€dataBuf(@tabletypeGetSizepara error, %s, %dcmdIdFEX_CMD_FES_VERIFY_STATUSstartsizetag"fail to gen fex cmd verify status
tlBufDatadataSz#Fail to send fex cmd verify status5ñòóóóóóóóóóôôôôôôôôôô÷÷÷÷÷øùúú÷ûûûûûûûýýýýýýþþþþþþþpara4dataBuf4 DATA_BUF_LEN4ret4
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmd1F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€@€ÄAEÁ€€\†Áœ€Ü@ÀÞĀ
ADFÁÁ    AƒÜ€Ú@€AA€JIA€„I…ÀÚ@€AÁAÞ€ dataBuf@tabletypeGetSizepara error, %s, %dcmdIdFEX_CMD_FES_QUERY_STORAGE"fail to gen fex cmd query storage
tlBufDatadataSz#Fail to send fex cmd query storage1             para0dataBuf0 DATA_BUF_LEN0ret0
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmd#1F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€@€ÄAEÁ€€\†Áœ€Ü@ÀÞĀ
ADFÁÁ    AƒÜ€Ú@€AA€JIA€„I…ÀÚ@€AÁAÞ€ dataBuf@tabletypeGetSizepara error, %s, %dcmdIdFEX_CMD_FES_FLASH_SIZE_PROBE%fail to gen fex cmd probe flash size
tlBufDatadataSz&Fail to send fex cmd probe flash size1       "#para0dataBuf0 DATA_BUF_LEN0ret0
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmd%31F@@ÅÀ€Ü€ÀÀ€ÆÁ܀€€€@€ÄAEÁ€€\†Áœ€Ü@ÀÞĀ
ADFÁÁ    AƒÜ€Ú@€AA€JIA€„I…ÀÚ@€AÁAÞ€ dataBuf@tabletypeGetSizepara error, %s, %dcmdIdFEX_CMD_FES_QUERY_PKMODE+fail to gen fex cmd Probe BootPackage Mode
tlBufDatadataSz,Fail to send fex cmd Probe BootPackage Mode1&'((((((((()))))))))),,,,,,-------//////000000023para0dataBuf0 DATA_BUF_LEN0ret0
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmd6G6E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÃ@ÁÀ€D€FÁÛ@€@€D€ÆÀÁDЁ‰Á„‰‚\€A€DA\AC€^D€ЁÅÁ‰Á…ÅA‰Á†\€A€D\AC€^€tabletypepara error, %s    flash_on flash_typeð?FEX_CMD_FES_FLASH_SET_ONFEX_CMD_FES_FLASH_SET_OFFcmdId$fail to gen fex cmd set flash onoff
tlBufDatadataBufdataSz DATA_BUF_LEN!Fail to send fex cmd flash OnOff68888899999999<<=>>>>>>>>??????AAAAAAACCCCCCCCEEEEEEEFGpara5    flash_on5 flash_type5    tmpCmdId5ret5
ErrPrintLFEX_COMMAND_ID GenFexCmdBuf FesTransCmdJ[1E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AĀ
ÁDFÁ    A‚FÁ@    AFA    A‚Ü€Ú@€AÁA€J…AI„…ÁI…ÀÚ@€AAÞ€ tabletypepara error, %s
tool_mode
next_modecmdIdFEX_CMD_FES_TOOL_MODE"fail to gen fex cmd set tool mode
tlBufDatadataBufdataSz DATA_BUF_LEN#Fail to send fex cmd set tool mode1LLLLLMMMMMMMMPPRRRRRSSTTRUUUUUUUWWWWWWWWXXXXXXXZ[para0
tool_mode0
next_mode0ret0
ErrPrintL GenFexCmdBufFEX_COMMAND_ID FesTransCmd"ööúúýýýýýýýýþþþþþþþþÿÿÿÿÿÿÿÿ&&444NNdddnnn|||†††’’’¥¥¥¥ºººÉÉÛÛÛèè..................FFFFFgggggguuuƒƒƒƒƒƒÔÔÔÔÔ###RRRRRRnnnnn}}}}}›››››«««««¿¿¿¿¿××××××ííííí#####33333GGGGG[[[[[]]__``aabbdefghjklmnopqstuvwxyz]{|, szFexDevName!
MsgPrintL!
ErrPrintL!
m_hFexDev?!CloseH! CMD_BUF_LENI! m_tlBufCmdL!GenFexCmd_FelTransW!GenFexCmd_FelRunZ!GenFexCmd_FesTrans\!GenFexCmd_FesRun_!GenFexCmd_FesInfob!GenFexCmd_FesGetMsge!GenFexCmd_FesVerifyDevh!GenFexCmd_unRegFedk!GenFexCmd_VerifyValueo!GenFexCmd_VerifyStatusr!GenFexCmd_SetFlashOnOfft!GenFexCmd_SetToolModew!GenFexCmd_Normaly! GenFexCmdBuf‹!SendFexCommand! FelDownData–! FelClearArea™!
FelUpDataŸ!FelRun¤! FesTransCmd©! FesTransData²! FesDownDataµ!
FesUpData¸!FesRun¾!FesInfoÃ!
FesGetMsgÈ!FesInfoAndGetMsgBodyÍ! FexVerifyDevÒ!Fes_down_finish_flag×! Fes_unRegFedÝ!FexVerifyValueâ!FexVerifyStatusç!FexQueryStorageì!FexProbeFlashSizeñ!FexProbeBootPackageModeö!FexSetFlashOnOffû!FexSetToolMode!UFEX_COMMAND_IDCfgFES_DOUFES_MEDIA_INDEXSUNXI_EFEX_TAG    readonlyƒÁ.d¤@ÅÚ@€ÀAÜ@ÀÞÀ@FÁ@†AÁA‚AÁBƒZ€€š€ƒdƒ€¤Ãä€JÄIDƒ…I„†IㆀToolMsgCallBack,func ToolMsgCallBack is not registered yet!DevIdimgLen
downSpeed0@@@H@P@T@@ SendProgress PromptError SendFesEnd…‡„†@Á@eœ@€Mod_DbgFmtPrintL[TL_UI]††††††‡fmtargU‰‹„†@Á@eœ@€Mod_ErrPrintL <TL_UI>ErrŠŠŠŠŠŠ‹fmtargUž« .†@ŀ܀WÀ€€À€ÄÁE€\Ü@ÀÞĀ ‚΁ÏÁAÁ PAÁNÁAÁMÁÀ@€B•ŁD€€À܁€@€@€…€€€Â@€ÂA€ހ 
nPercentsnumbertypepara error, (nPercents) %sY@ð?N@Left () Minutes and (
) SecondsToolMsgCallBack.Ÿ             ¢¢¢¢££¤¤¤¤¥¥¥¥¥¥©©©©©©©ªªªªªªªª«para-ret-
nPercents-    leftTime- leftMinutes- leftSeconds- szLeftTime-
ErrPrintLm_totalDownTimeDevId
TOOL_STEP­´    '†@Æ@@Á@€Á@€W‚€€AA…ÁÀœÅÁ€ÜAD€…ÁÀ€€@@„€€€@€A€€    errIderrMsgnumbertypestring!type error errId(%s), errMsg(%s)ToolMsgCallBack TOOLS_ERROR'®®¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯±±±±±±±³³³³³³³³´para&ret&errId&errMsg&
ErrPrintLDevId¶ºE„Ä€AA\€€@€€€‚@€‚@‚€ž€ToolMsgCallBack······¹¹¹¹¹¹¹¹ºpararetDevId
TOOL_OVER.‡‡‹‹ŽŽŽŽŽŽŽŽ‘‘‘‘“”•–—™šššš›«««««´´´ººº¼¼½¾¿¼ÀÁpara-
MsgPrintL-
ErrPrintL-ret-DevId-imgLen-
downSpeed-
TOOL_STEP- TOOL_ERROR-
TOOL_WARN-
TOOL_OVER-    TOOL_TIP-m_totalDownTime- SendProgress - PromptError#- SendFesEnd&-U    readonlyÅÓ €J€I@@€IÀ@I@A‚IÀAƒ„À€ž€ SYS_PARA_LOG‘TPÓA DRAM_UPDATEDð?SYS_PARA_LOG_LEN0@DRAM_INIT_CODE_LENA ÇÇÇÉËÌÎÐÒÒÒÒÓa a     readonlyÜÞ„†@Á@eœ@€Mod_DbgFmtPrintL
[TL_MSG]:ÝÝÝÝÝÝÞfmtargUà℆@Á@eœ@€Mod_ErrPrintL
<TL_ERR>:ááááááâfmtargUäí    E@€\€W@€À€D€\@€EÀ€\À€…À€œA€a€@þ€tabletype para errorpairsprintåååååæææçêêêêëëëëêëí    tbl_para(for generator)  (for state) (for control) k v 
ErrPrintL7_E@\@D€\@EÀ€\€W@€€D€\@F@AZ@€D€\@B^FÀAZ@€D\@B^F@BZ@€D€\@B^DÀÆ@AÁAFAB†C\@D€Z€E@€\@B^D„€\€H€EÀ†C\€Z@€„€Áœ@‚ž„Á@œ@…€ÁÀÁœ€€€Š€€Ä€AÜ@ƀÅÜ@€ÂÞ    @€‹    €ŒÄ܀ȀÅAÜ@€Þ€print,--------------Init Called------------------tabletype"type of arg of Init must be tableMode    Mode nil ImgLenHighImgLenHigh nil
ImgLenLowImgLenLow nil;Mode = %d, ImgLenHigh=%x, ImgLenLow = %x, imgFilePath = %s imgFilePath    ErrPrintFEX_MEM_MAP defined!!
Tools_ImgFail to creat Tools_ImgTools Open ImgToolMessageBoxð¿User cancel to update    CloseImgimage erase_flag---fun end---_!!!""###$$&&&++++,,---..//234444555667 tbl_InitPara^image<^nMsgRetJ^    PrintTbl
ErrPrintL
MsgPrintL FEX_MEM_MAPfex_address_tabletoolsInitPara    readonly9CA@@W€@€€À@€FA\@€D€@\@C€HA€@€€print,---------------Exit Called-----------------image    CloseImgTools Close Img ...---fun end---:::;;;<<=======>>@@@BBCimagetoolsInitPara
MsgPrintLF`KF@†@@ƀ@Á@FA†AAƁA@€‚‚ƒÀ€@‚‚ƒ€€@€‚‚„@€A@€A‚…À€œ‚Å܂@€BÂÂ@€€À€‚B€D\BB^€€DBÀ\BB^F‚CЉB‡‰ˆ‰Â€ˆ‰ÂD‰\‚ZB€„ÁœB‚ž^€ szMainType
szSubType    tlFelBuf    tlFelDev    codeAddr codeMaxLenimagestringtypetablearg check error, %s, %s, %ssave_item_to_memFail to save item to mem.code len(%d) > maxLen(%d) FelDownDataaddrlendataBuf
bufOffsetFail to down codeKHHHHHHHIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJMMMMMNNOOOPPSSTTTTTUUXXXXYYXZZ[[[\\_`
paraJ szMainTypeJ
szSubTypeJ    tlFelBufJ    tlFelDevJ    codeAddrJ codeMaxLenJimageJrealLen+JretBJ
ErrPrintLb´§F@†@@ƀ@Á@FA†AÁÀ€@€œšA€Ä‚ÜAÂÞÄ€ÆÁÁ€@€Ä@ÜA€ÂÞÆA‚܁BÂA‚DÀ€\BFBCЉ‡‰‚‡‰Âˆ‰‚Ĉ\‚ZB€„ÁœB‚ž€€Ä€ÆÅACCƒEJƒIƒ‡I‡ƒC€DÃ\CB^FFŠC‰‡\ƒ€C€DC\CB^FÃF@€€€FÃF@€BCB€ZCÀ€„ÁœCCŃ܃ÚC€AÄDAD „ €…AÅEIJÅI…‡I…ƒ‡Iň…
CÀ€AE    €€    E€…ÉE€EÂ…€DÅ    À
\E€D€FÊ
€FEE
\…€
HÀ€A……
Á`€FFÂŽFJ Œ††•\†„Á  @€ œF_Eý€Äò„ÉD€€- szMainType
szSubType    tlFelBuf    tlFelDevimagesave_item_to_memFail to save item to mem.DRAM_INIT_CODE_LENfes1 size too large: %d.GetMemVal2Int32<@@@%fes1 down addr = 0x%x, retAddr =0x%x FelDownDataaddrlendataBuf
bufOffsetFail to down code fes1SYS_PARA_LOG_LENTo clear fes aide log FelClearArea Fail to Clear fes aide log areaFelRunFail to Run code fes1
hasRetLognot hasRetLoga@ Tools_Buffer(Fail to alloc buffer for fes_aide_info.ð?@ ToolsSuspend@@
FelUpData'FAil to UP fes aide log area, times=%dFreeSYS_PARA_LOG read = 0x%x SYS_PARA_LOG@?@ @dram paras[%d]: 0x%x§fffffhhhhhiijjjkknnnnooooppssstttuuuuuxxxxyyxzz{{{||‚‚‚‚‚ƒƒƒƒƒ„„‡‡‡‡‡ˆˆ‰‰‰ŠŠŽŽ”•••––———˜˜››››œœœžžŸŸŸŸ  ¡¡¤¤¥¥¥¥¦¦¦¦§§§§¨¨©©©©ªªªª«««««©®›²²³´para¦ szMainType¦
szSubType¦    tlFelBuf¦    tlFelDev¦image¦realLen
¦retAddr¦    codeAddr!¦ret-¦ logAreaAddr7¦ logAreaLen7¦ret?¦
hasRetLogZ¦ dramUpSizea¦ tlBufRetInfod¦ (for index)n£ (for limit)n£ (for step)n£io¢ procEndFlag…¢ (for index)–¡ (for limit)–¡ (for step)–¡j—     drampara› 
ErrPrintL FEX_MEM_MAP
MsgPrintL·±F@†@@ƀ@Á@FA…À€œ€‚À€…Àœ€‚€€…À€œ€ƒ@€A@€„Á‚@€‚E‚€\‚…‚À€œœAƒž†AÂÀ€@€œšA€Ä‚ÜAÂÞÆÁÂ܁€AB€€B€‚ÃJ‚IćI‚Ĉ‚B€DÂ\BB^D€ÆÂÂÜ\BFBEŠ‰Â‹‰‚‹‰ÂŒ‰‚ÆŒ\‚ZB€„ÁœB‚ž†BÂÄÆÇÆBǃGCGÃG@€œ‚€šA€„ÁœB‚žŒBÈÄ€ƒ@ÜB€ÆBE
    ƒ‹    ƒ‹    ÃŒ    ƒÆŒÜ‚@€ZB€ÄÃÜBÂÞÆBÂGCGDFƒÇFCÇFÉ€€܂€€šA€ÄC    ÜBÂÞ̂I€Aà    €€C€CEJIËIƒ‹IÌIƒÆŒƒ@ZB€A
CCJJCI˃@ZB€Aƒ
C^€+ szMainType
szSubType    tlFelBuf    tlFelDevimagestringtypetablearg check error, %s, %s, %ssave_item_to_memFail to save item to mem.GetMemVal2Int32F@u-boot down addr = 0x%xSetMemValWithInt32nOffsetl@val0@fail to set work mode to 0x10workmode = 0x%x FelDownDataaddrlendataBuf
bufOffsetFail to down codemainCOMMONsubdtbFail to save  dtb item to mem.@Adtb down addr = 0x%xFail to down dtb sys_config%Fail to save sys_config item to mem.0Asysconfig down addr = 0x%xFail to down sys_configFelRunFail to Run code±»»»»»½½½½½½½½½½½½½½½½½¾¾¾¾¾¾¾¾¾¾¾¾¾¾ÁÁÁÁÁÂÂÃÃÃÄÄÆÆÆÇÇÇÇÐÐÐÐÐÑÑÒÒÒÓÓÖÖÖÖÖÖØØØØÙÙØÚÚÛÛÛÜÜáááááááááááââãããääæççççèèèèééèéêêëëëììïïïïïïïïïïïððñññòòôõõõõöööö÷÷ö÷øøùùùúúþþþþþÿÿ para° szMainType°
szSubType°    tlFelBuf°    tlFelDev°image°realLen)°    codeAddr3° set_workmode<°retP°dtbAddrj°sysconfigAddr°
ErrPrintL
MsgPrintL    IMG_ITEM
&u†@Æ@@@FÁ@†AÆAAÂ@€‚ƒ@€Â@‚„€Â@‚W„@€AB…ÂÀ€œ‚ÅÂ܂Ã@BÚA€Â@‚W…€AÂBÃD€FBÃF‚ÀÀ‚@Z@@€A€B€D‚€ÀBDJ„†ÂDI‚‰„†BEI‚ŠI‚‹‚@Z@€AÂBFFD\‚€W@€ABBDA‚‚FDÂ\‚„€Á€@€€À€œBW@‚€„ÁBœB‚ž^€ verify_filedevId    tlFesDevtlImgtlBufpc_crcnumbertypetabletype error, %s, %s, %s, %s, %sstringverify_file nilsave_item_to_memmainUSR_FS'Failed to save verify file(%s) to mem.GetMemVal2Int32
FesUpDataaddrFEX_CRC32_VALID_ADDRlenFEX_CRC32_VALID_LENdataBufFail to get crc from fes.FEX_CRC32_VALID_FLAG flag error@ @6id[%d]: pc_crc=0X%X, fes_crc = 0X%X, media_crc = 0X%X$CRC check ERRO, pc_crc ~= media_crcu                     !!!""%&
paratrett verify_filetdevIdt    tlFesDevttlImgttlBuftpc_crctfes_crcet
media_crcet
ErrPrintL    IMG_ITEM FEX_MEM_MAP
MsgPrintL(† èE@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÆ@AAFÁA†BÆAB‚BFÂB†CÆBCƒCFÃC†DÆCD„DED€€\„@„‰@€ED€\„@„‰€ED€€\„@€À€ED€\„@€€€ED€€\„@€@€ED€\„@Š€ED€€\„W@Š@€DDÅD€܄E@…EE€€\……EÀœ…ÅE€܅F@†EF€€\\DC€^F„Å€€À\„€ZD€„ÁÄœD‚ž†Æœ„€€„€ÄE@    €€ÜDƄÆÜD€ÂÞÀFÀ€Ä€G
…    €€Ä€EÜDÀF€€€G    €Ä€ÅÜD€ÞWH€€Æ„@È    À€Ä€G
…    €€Ä€…@†EÜD€ÞÁÄ€AÅZ€€ŒIÅ O…    šB€Â†EÉÀœ…ÁÅF†É\†€M†‚ Æ    ÄÆÆÉ Àƒ €€ÌÆÚF@€ÏÊ ÌÆ€† @€G€ € FGÊ€ À\‡€€FÀ€D‡
\G€FÇJЇ‰Ç…‰–‰G–‰‡†‰G—‰Gƒ‡‰Ç„—‰˜‰‡ˆ‰Çƒˆ\‡€F@€F‡Æ\G€DG \G€€Ì‡ Z@€OG… ÉM‡‡ E‡ŽG…̈́‡ À    ñ††ÆœF€€2tabletypetype should be table, but %spartNum    partName    mainTypesubType    tlBufImg    tlFesDevtlImgaddrmaxLen
bufOffset uiStepStart
uiStepEnd uiCbProgress    data_tag media_index mbr_part_keystringnumber`type should string, string, table, table, table, number,number, but(%s, %s, %s, %s, %s, %s, %s)ItemFail to open item    ItemSizeitemSz(0x%x)>maxLen(0x%x)CloseUDISKMode,work mode update ,udisk part for debug !!!!@4the data length of udisk is too small,ignore it!!!!privateà@4work mode update ,  part %s ignore, keydata=%x !!!!ð?
BuffShiftGetSizeDRAM€@ReadFail to read item FesDownDatalendataBuf uiPromptOncetotalUnPromptLenInPkt
uiCurrentFailed to down to FESè*************,,,,,,,,,,,,,,,,....................///////////////001111111111111111111110226666777777799::;;;;;<<<<@@@@@@@AAADDDDEEEFFKKKKKLLLLLMMMNMOORRSTTUUVZZZ[[[\\]]]_`````````aaaaacccccddddddhhijklmnopqrhsttuuvvvwz{{|}}~„„…†paraçpartNumç    partNameç    mainTypeçsubTypeç    tlBufImgç    tlFesDevçtlImgçaddrçmaxLenç
bufOffsetçuiStartçuiEndç uiCbProgressç    data_tagç media_indexç mbr_part_keyçtheItem^çitemSzgçtotalUnPromptLenInPkt˜ç
uiCurrent˜ç uiPromptOnce™çuiPromptTimesžpp¤ç totalReadLen¦çret¦çbufLen©çleftLenªä    downAddr³äwantLen¸ästepsÝâ
ErrPrintLWORK_MODE_UPDATEtoolsInitPara
MsgPrintLFES_MEDIA_INDEXŠ–    ØF@†@@ƀ@Á@FA†AAÅÁ€ÜÀƒ€ÅÁ܁ÀƒÀ€ÅÁ܁Àƒ€€ÅÁ€܁À„@€ÅÁ܁À„€ÅÁ€܁WÀ„€€ÄBE€€\‚…ÂÀœ‚ÅÂ܂Ã@€ƒEÀ\ƒ…ÃÀ€œÜAÀÞƁBÂBFC†BC̀‚́‚ÃDƒ€ÃCD̓ÃCD̃ÃƁD€_€ÃƒDƒÀ€ÃÃDƒ€€€CEJIƒ‹IÀ‹†ƒ@ÃIƒŒIŒƒC€@Z€Á‚ÀY€ƒFLƒÃƒFÃFŒÇ\ƒ†ÃFÌCÇœƒBÅÃÆÃÄÌÀƒÅÃÆÃÄ̓ÅÃƃÇÀ@€ÅÃÆÃÄÌÃWÀ@€ÄÄÜCÂÇR€ÅÃÆÈ
€ÅÃÆCÈÀ€W€H@€ÄÄÜCÂÇ@N€ÏÃHLƒÅÃƁÄÀ€ÅÃÆÉÀ@€ÅÃÆÃÄÌÇWÀ@€ÄÄÜCÂÇ@I€ÅÃÆAÉ@€Ä€„    ÜCÂÇG€ÄÌÃÉÈ€E€ÃCIƒ€#€€ÀŽ@€
AD
„D€D„
\DB^FÄFŒ„Ã\„ƒÀJ€†KʄÉD„–É—œ„@    ZC€€„ÁÄ œD†LœD€‚ž GûÃJÐÃJ„€ÁD €@€€œD€†ÄFÁ„œ„@    „€Á„ €œD€ƒ€€€†ÄÌʄÉDšÉÄʚɛɄÛNÉœENÉ…œ…NɝÅNÉ…OÉžEOÉ…žœ„@    ZC@€„Á„œD†LœD€€€LBÇ ÃI€÷À‡@€†ÄÌʄÉDšÉăšÉ›É„ÛNÉœENÉ…œ…NɝÅNÉ…OÉžEOÉ…žœ„@    ZC@€„Á„œD†LœD€(€ÄÈL‚„ÌÇÍÇ…ÄƁD    †LœD€@%€DEJI„‹IĀ‹†„@Ä    I„ŒIÌ„@ZC€€"€€€Á‚ÄÆAIÀ €ÃHƒ@€‚€€ ÃC€ƒAƒ€CÀ€@†ÃÌʃÉCšÉCƒšÉƒ›ÉÀ›NÉœDNÉ„œ„NɝÄNÉ„OÉžDOÉ„žœƒ‡…šCÀ€„ÁƒœC€ÃHL‚ƒ̂Í‚‚…ÃƁD€€ÀÏ€€€†CEÊɃ‹ÉÀ‹„@ ÄɌɌœƒ‡…šC€À€Á‚@€ÀJ€€ŒƒMÃJ@€ÃÈMƒƒ†ÃÌʃÉCšÉCƒšÉƒ›ÉÀ›NÉœDNÉ„œ„NɝÄNÉ„OÉžDOÉ„žœƒ‡…šCÀ€„ÁƒœCÀ€Ì@ƒÃÈL‚ƒ BÍBƒ†CEÊɃ‹ÉÀ‹„@ ÄɌɌœƒ‡…šC€€€€Á‚…ÃÆH@€AC@€€Ã@œ‰Á…‰‚…‰A†‰‚†@€€A    tlFesDev
sparseBuf
sparseOfs
sparseLensparseBlkSizeretParatabletypenumber&para check error: (%s,%s,%s,%s,%s,%s)sparse_format_type chunk_length flash_startlast_rest_size SPARSE_INFOsparse_total_headsparse_header_sizesparse_chunk_headchunk_header_sizeretMemCopysrcBuf
srcOffsetposnBytesGetMemVal2Int16GetMemVal2Int32@ @chunk_type_rawbad chunk sizesparse_chunk_datachunk_type_null(@€@chunk_type_fillsparse_fill_dataunknow chunk typeð? Tools_Bufferð@Fail to alloc buffer for para°@SetMemValWithInt32valnOffsetFail to fillbufFree2sparse fill data = %d,ncount = %d,ncountleft = %dfill buf[0] = %d FesDownDataaddrlendataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tag media_indexFailed to down to FESÀ@chunk unknown status !!!Ø™™™™™™››››››››››œœœœœœœœœœžžžžžžžžŸŸŸŸŸŸŸŸŸŸŸŸž  ¤¥¦§©ª«°°°°±±±²²²³³³µµµµ¶¶¶¶·¸¸¸¹ºººº¸º»»»»¼½ÁÁÁÂÂÂÃÃÃÄÇÇÇÈÈÈÊÊÊÊÌÌÌÌÌÍÍÍÍÍÍÏÏÏÐÐÐÐÓÓÔÔÔÔÔÔÖÖ×××ØØØØÙÙÙÙÙÚÚÚÚÚÚÜÜÜÞÞÞÞÞÞààààââââãèèêêêëëëëëëëíííîïïððððððññòòòóóóóõõ÷øùùùùùùúúúúûûûû                                                                    
   
                                                                                                                                                             !    "    "    #    #    #    $    $    $    &    &    )    *    +    +    ,    ,    ,    .    .    .    /    0    0    0    0    .    0    1    1    1    2    3    4    4    6    8    8    8    8    9    9    :    :    :    :    =    ?    ?    @    B    B    C    D    E    F    G    G    H    H    I    I    J    J    K    K    L    L    B    M    N    N    N    O    O    O    O    R    R    S    T    U    V    V    V    Z    Z    [    \    \    \    ]    ^    ^    ^    ^    \    ^    _    _    _    _    `    a    d    d    e    e    e    h    h    k    k    l    m    n    o    p    p    q    q    r    r    s    s    t    t    u    u    k    v    w    w    w    x    x    x    x    {    |    |    }    ~                €                            ‚    ‚    ‚    ‚    ƒ    „    …    …    ‡    Š    Š    Š    ‹    ‹    ‹    Ž    Ž        ‘    ’    “    •    •    •    –    para×    tlFesDev×
sparseBuf×
sparseOfs×
sparseLen×    blk_size×retPara×sparse_format_type<× chunk_length=× flash_start>×last_rest_size?×this_rest_sizeA× chunk_typek¶    chunk_szn¶    total_szq¶i¼Iret¼Incount¼I ncountleft¼IfillbufÁ7    fill_valË7 unenough_lenTÇdownLenUÇ
ErrPrintL
MsgPrintLhandled_chunk˜    þ    +÷E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÆ@AAFÁA†BÆAB‚BFÂB†CÆBCƒCFÃC†DÆCDD@€„‰@€D@„‰€D@€„€À€D@„€€€D@€„€@€D@„„‰€D@€„W„‰@€A…DÀ€œ„ÅD܄E@€…EE€\……EÀ€œ…ÅE܅F@€DDÅ@€€„€D€D„\DB^FÄE\„€@„€„Á€@€œD†DFœD€‚ž„€Á„ÅÆœD€À€Z€€LEGMł
E…F…ǁ\…†ÅÇÁœ…ÆÅÇF܅ÆÇA††FÆÇÆ\††ÆÇÁ    œ†ÆÆÇG    Ü†€A‡    €€
G€€AÇ    €€ G€€A
€€ G€€AG
†‡Êœ€G@‚ÅÇ
 ܇H A†ˆËÀœˆÁ‰Ê‰€    J    I    Ç—I    ˜I    Ç˜…É †    MI‰    ™Éˆ€    @€ÛI€À    JM@
€Š€€šGÀ€Š AÊ J@€
J
IŠ„IÊœI
ˆœIÊ    IJ†I
žIJƒ‡IŠ„žIÊŸIŠˆIʃˆIJ‰ŸÊ@    €€šGÀ€
A
J€€ÌȉZ@€
…PJG J
ÌŠN
DŠÀˆó„    €ÁI
€@
€ œI†‰ÐœI€†IFœI€ž€Ctabletypetype should be table, but %spartNum    partName    mainTypesubType    tlBufImg    tlFesDevtlImgaddrmaxLen
bufOffset uiStepStart
uiStepEnd uiCbProgress    data_tag media_indexstringnumber`type should string, string, table, table, table, number,number, but(%s, %s, %s, %s, %s, %s, %s)ItemFail to open item    ItemSizeitemSz(0x%x)>maxLen(0x%x)Closeitem size :%d M0Að?GetMemVal2Int32GetMemVal2Int16@ @$@(@0@4@ magic = %xblk_size = %xtotal_chunk = %xtlBufImg size = %xGetSize Tools_Buffer dAð@
BuffShiftlast_rest_size flash_start chunk_lengthsparse_format_type SPARSE_INFOsparse_total_headRead    ErrPrinLread Item data fail
sparseBuf
sparseOfs
sparseLensparseBlkSize uiPromptOncetotalUnPromptLenInPkt
uiCurrentretParaparse and down chunk error$handled chunk = %x total_chunk = %xFree÷š    š    š    š    š    š    š    š    š    š    š    š    š    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    œ    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    ž    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ    Ÿ              ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡    ¡         ¢    ¢    ¦    ¦    ¦    ¦    §    §    §    §    §    §    §    ©    ©    ª    ª    «    «    «    «    «    ¬    ¬    ¬    ¬    ¯    ¯    ¯    ¯    °    °    ±    ²    ²    ³    ³    ´    ¹    ¹    ¹    º    º    º    »    »    »    ¼    ¼    ¼    ½    ½    ½    ¾    ¾    ¾    ¿    ¿    ¿    Á    Á    Á    Á    Â    Â    Â    Â    Ã    Ã    Ã    Ã    Ä    Ä    Ä    Ä    Ä    Å    Æ    Ç    É    É    É    Ê    Ë    Í    Í    Í    Ï    Ð    Ð    Ð    Ñ    Ò    Ó    Ô    Õ    Õ    Õ    Ù    Ú    Ú    Ú    Ú    Ú    Ü    Ü    Ü    Ü    Ü    Ý    Ý    Ý    Ý    Ý    Ý    à    à    á    â    ã    ä    å    æ    ç    è    é    ê    ë    ì    à    í    í    î    î    î    î    î    î    ñ    ò    ò    ó    ô    ô    õ    ö    ö    ù    ù    ú    ú    ú    ú    ú    û    û    ü    ü    ý    þ    *paraöpartNumö    partNameö    mainTypeösubTypeö    tlBufImgö    tlFesDevötlImgöaddrömaxLenö
bufOffsetöuiStartöuiEndö uiCbProgressö    data_tagö media_indexötheItem]öitemSzfötotalUnPromptLenInPktwö
uiCurrentwö uiPromptOncexöuiPromptTimes|} sparse_magic€ösparse_major_verƒösparse_head_size†öchunk_head_size‰ö    blk_sizeŒö
total_blkö total_chunk’ö
chunk_cnt¤ö chunk_addr¥öret¦ö
sparseBuf©ö
sparseOfsªö    lastLeft«öpp®ö totalReadLen¯öbufLen²öretPara¹öleftLenºìwantLen¿ìstepsåê
ErrPrintL
MsgPrintLparse_and_down_chunkhandled_chunk
M
­E@€\€W@€À€D€Å@Ü\@C€^FÀ@†AÆ@AAFÁA†BÆAB‚BFÂB†CÅB€Ü‚À€€€ÅB܂À€@€ÅB€܂À‚†€ÅB܂WÀ‚†€ÄƒEC€€\ƒ…CÀœƒÅC€܃D@ÜBÀÞÄ€ÆÂÀDCD̃ƒD€FÃāƒ€C€€DCÄ€ÆÃÄ\C€B^À€DƒÀ€\CFÃE\C€B^A€Á€€ DÆ „Ï„ZA€A„Æ@€„A‚ÆÄÆÜ„€ÍD     E„DFÇ
€‚
€€LE„ZE@€OEÇLE……    @€›E€    €€
ƅG@ ܅€€€ šDÀ€ÄÆÜE€ÆH
†    F…‚    †…    F‘    Fƒ    Æƒ‘    …    F’    †ƒ’    F‚…    ††Ü…€€ šD@€ÆÅEÜE€Ä†    ÜE€€L„…@€ÏŃFÆ Í† ŒÃƃ M†@„ñÅEE€ž€'tabletypetype should be table, but %s    tlBufImg    tlFesDevaddrmaxLen
bufOffset uiStepStart
uiStepEnd uiCbProgress    data_tag media_indexnumber:arg nedd table, table, number,number, but(%s, %s, %s, %s)
ImgLenLow ImgLenHighðA Tools_File imgFilePathrb+Fail to open %s%recover -->itemSz(0x%x)>maxLen(0x%x)Closeð?
BuffShiftGetSizeDRAM€@ReadFail to read item FesDownDatalendataBuf uiPromptOncetotalUnPromptLenInPkt
uiCurrentFailed to down to FES­
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   
   
   
   
   
   
   
   
   
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
!
!
!
"
"
"
#
#
$
$
$
&
'
'
'
'
'
'
'
'
'
(
(
(
(
(
*
*
*
*
*
+
+
+
+
+
+
/
/
0
1
2
3
4
5
6
7
8
9
/
:
;
;
<
<
=
=
=
>
A
B
B
C
D
D
E
F
F
H
H
K
K
L
M
para¬    tlBufImg¬    tlFesDev¬addr¬maxLen¬
bufOffset¬uiStart¬uiEnd¬ uiCbProgress¬    data_tag¬ media_index¬itemSzB¬imgFileG¬totalUnPromptLenInPkt]¬
uiCurrent]¬ uiPromptOnce^¬uiPromptTimesbcppi¬ totalReadLenk¬retk¬bufLenn¬leftLeno©    downAddrx©wantLen}©steps¢§
ErrPrintLtoolsInitParaFES_MEDIA_INDEXP
x
NE@€\€W@€€D€\@C€^FÀ@†AÆ@AAEÁ\ZA€„ÁAœAƒžÁÁAÂà
€ÆÃ
à    C†    Ã€‚    ƒÜ‚ÚB€€AƒCÃÃC€ÄACƒFāƒ\ƒÀD€†ÃÜC€„€Á€@€À€œC€€€€€‚@€‚C‚€ž…CÁƒœCßÁôÆÁÃÜA€ÂÞ€tabletype$verify status :argument check error    tlFesDevvaluestartsize Tools_Buffer(@malloc mem fail@ð?Fex_VerifyValuedataBufverify status errorFreeGetMemVal2Int32 @À€]˜ÚA:Verify:start = %x ,size = %x ,pc_crc = %x, media crc = %x ToolsSuspendÀr@NR
R
R
R
R
S
S
S
T
T
W
W
W
W
X
X
X
Y
Y
Z
Z
Z
[
[
^
_
_
_
_
`
`
a
b
c
`
d
d
e
e
e
f
f
g
g
j
j
j
k
k
k
l
l
m
m
n
n
n
n
n
n
n
o
o
o
o
o
o
o
o
s
s
s
_
v
v
w
w
x
paraM    tlFesDevMvalueMstartMsizeM
verifyBufMtimeM (for index)I (for limit)I (for step)IiHret#Hflag/H
media_crc2H
ErrPrintL
MsgPrintL{

1E@†€@\€@€@€E@†À@\€@€€E@†@A\€W@‚@€D€Å@ÁA܀AFÁ@EA†AA\\@C€^F€@†À@Æ@AÂ@€€€A€DA\AC€^FB\€†ÁBœA€^€ stringtype    mainTypesubTypetabletlImg.arg (string string,table) need buf (%s,%s,%s)    mianTypeItemFail to open item    ItemSizeClose1|
|
|
|
|
}
}
}
}
}
~
~
~
~
~


€
€
€
€
€
€
€
€
€



„
„
„
…
…
…
…
†
†
†
†
†
†
†
ˆ
ˆ
‰
‰
‹

para0    mainType 0subType 0tlImg 0theItem$0itemSz-0
ErrPrintL
Ò
oE@†€@\€@€€€E@†À@\€@€@€E@†@A\€@‚€E@†€A\€W@‚€DÀÅ@B܀AFÁ@EA†AA\…AƁAœ\@C€^F€@†À@ƀAAAFA€€À\€ZA€„ÁœAƒž†Áœ€ÅÆAÃA‚܁€ÂÃFDB\‚€€‚€B€D‚\BC€^FÂÄ\B€FEB\‚†BEÁ‚œ‚ÆBEÃ܂CEAƒECFƒÆ@‚À€ECFÃÆ€‚À€ECFÇÀ‚À€ECFCÇWƒ@€B^D€ƒÀ\C€B€^€stringtype    mainTypesubTypetable    tlBufImgtlImg7arg (string string,table,table) need buf (%s,%s,%s,%s)    mianTypeItemFail to open item    ItemSizemathmin€@Read
BuffShiftFail to Read item dataCloseGetMemVal2Int32GetMemVal2Int16@ @$@ SPARSE_INFO sparse_magicsparse_major_versparse_header_sizechunk_header_sizefind a sparse format part,%soŸ
Ÿ
Ÿ
Ÿ
Ÿ
 
 
 
 
 
¡
¡
¡
¡
¡
¢
¢
¢
¢
¢
£
£
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
¤
£
¥
¥
¨
¨
¨
ª
¬
¬
¬
¬
­
­
­
­
­
­
­
¯
¯
°
°
°
°
°
±
±
±
±
±
±
²
²
²
²
²
²
²
³
³
·
·
·
¸
¸
¸
¹
¹
¹
º
º
º
Ç
Ç
Ç
Ç
È
È
È
È
É
É
É
É
Ê
Ê
Ê
Ê
Í
Í
Ï
Ï
Ï
Ï
Ð
Ð
Ò
paran    mainType(nsubType(ntlImg(n header_buf)ntheItem-nitemSz6nreadLen;nretAn sparse_magicMnsparse_major_verPnsparse_head_sizeSnchunk_head_sizeVn
ErrPrintL
MsgPrintLÖ
Ž +iE@†€@\€@€À€E@†À@\€@€€€E@†A\€@€@€E@†@A\€@€€E@†€A\€W@€€DÀ\@C€^FÀ@†AƀA@FBA\†BÁœÆÁB
‚    BC†    BC‡ÜBA‚D€\BD€BÀ€\B€D€‚À\B€D€ÂÀ€\B€D€À\B€@B€D€B\BB€^F‚ÅŠB‰‚€‹\‚ZB€„ÁœB‚ž†BÁBœ‚Ä€C@ÜB€Á‚ÃFFG†CG̓̃ÇÏ‚DM„G„ „?€ÅBJ…ŒEÂI…†IÅC‡…FBŒÅÃ\…†BÌÅÇœ…ÆB È܅BLFȆFÆBŠ†Ì†Æ‰Æ†‰ÆC‡\††ÆBʆ ‡ÈɆɯC‡œ†ÆB ÇÈ܆BLɇD€G    À
@ €€ À    € @    € €    \GNǃ    LGŒÇƒ“@€ †ÁEÎÇÉ ÌÇ ÎÊHJˆJ@€ H…•€    €Ä€ÆHË    €‰KÉIÌ‰Ç Ä
ÉF    A    I    ‚FÉ@    I‰FIA    I‰‚    ‰…—    É˜    I˜    I‡    ‰ŽFÉL    I    ™    IBšD    €F‰Í    I‰šÜˆ@€ZB€ÄÉ @    
ÜH€'€Ä€    ÜH€Ä
É        ˆœ    IFIA    I‰‚܈Ç Å ÀÎ€Ä    ÜHB"€Ä€
           ˆœ    IF    A    I    ‚FIA    I‰‚܈Àˆ@€BÀ€Ú€    JÉIɄžI    ŸI    ˆœII†    AI‰    ‚†É@I‰‰†IAI‰‰‚I‰…—IɘII˜II‡I‰ކÉLI‰    ™IIBš„    €†‰MI‰‰š‰@ZB€    €    AÉ €    
I€@€€    €J    IɄžI    ŸI    ˆœII†    AI‰    ‚†É@I‰‰†IAI‰‰‚I‰…—IɘII˜II‡I‰ކÉLI‰    ™IIBš„    €†‰MI‰‰šIɃ‰@ZB€    AÉ €    
I€À €€GÀ €ÅÈÐ €ÅH     ܈WÀˆ €Ä‰ÜHB
€Ä€É@    €     ÜHÄÆHÊƈÊ     F    A†IAÆ    Q
€@
€܉@€ZB€Ä    J@
ÜI€€Æ    ÂJ܉
J
IJ€IŠ£…
IŠŠ£IÊ    ¤Š@ZB€@€ÌBÒÄ¿^€Jtabletype
dlmap_buf    tlFesDev    tlBufImgtlImg mbr_part_keyargument check errorGetMemVal2Int32@GetMemVal2Charspos @nLen0@%------------dlmap dump--------------crc32     = 0x%xversion   = 0x%xmagic     = %spart_cnt  = %dNo Part need to downFex_ProbeFlashSizedataBufprobe flash size failflash size is : %d Sectors@@ uiStepStart
uiStepEnd uiCallBackð?4@8@<@H@P@Q@Wname = %s addrhi=0x%x addrlo = 0x%x  lenhi = 0x%x lenlo = 0x%x  file = %s, en=%d,vf=%dUDISKðA€@mainUSR_FS sysrecovery packet_len
ImgLenLow ImgLenHighaddrmaxLen
bufOffset uiCbProgress SendProgress    data_tag media_index
FLASH_LOGdown partition %s errordown sysrecovery partition ok    mainTypesubTypeFail to Get Item sizepartNum    partName sparseFlagstringvf filename must be stringneed verify:%d,%ssave_item_to_memfail to read vf_file:%sstartsizevalueR@iØ
Ø
Ø
Ø
Ø
Ù
Ù
Ù
Ù
Ù
Ú
Ú
Ú
Ú
Ú
Û
Û
Û
Û
Û
Ü
Ü
Ü
Ü
Ü
Ý
Ý
Ý
Þ
Þ
á
á
â
ä
å
å
å
æ
æ
æ
ç
ç
ç
ç
ç
è
è
è
ì
ì
ì
í
í
í
í
î
î
î
î
ï
ï
ï
ï
ð
ð
ð
ð
ò
ò
ò
ò
ò
ò
ò
õ
õ
õ
õ
ö
ö
ö
ö
ö
ö
ö
ø
ø
ø
ù
ù
ù
ù
û
ü
ü
ü
ý
ý
ý
ÿ
ÿ
ÿ
ÿ
                                                                                                         ! " # $ % & & ' ( ( (  ( ) ) * * * * + - - - - 0 0 0 1 2 2 0 2 3 3 3 4 4 4 4 4 7 7 8 9 : : ; ; 7 = = = = ? ? @ @ A B C D E E F F G G H I J K L M M N O O O @ O P P Q Q Q Q R S U U V W X Y Z Z [ [ \ \ ] ^ _ ` a b b c d d d e U e f f g g g g h l l o o o p p p p p q q q r r u u u u u w w w w x x y y y y y y z z z z z z { } } }   €  ‚ ‚ ƒ  „ … … … ˆ ÿ
Œ Ž )parah    tlFesDev h    tlBufImg h mbr_part_key!h dlmap_buff"hcrc32%hversion(hmagic-h    part_cnt0hretNh flash_sizeXh    part_ofs]h uiStepStart`h
uiStepEnd`h uiCallBack`h aPartUiStepsch (for index)fg (for limit)fg (for step)fgigfnamemfaddrhipfaddrlosflenhivflenloyf dl_filenamef vf_filename…fencryptˆfverify‹fpartUiStepStart˜fpartUiStepEnd™f
part_sizeŸf    mainType¤fsubType¤f    pack_len¥f sparseFlagç/    mainTypeGesubTypeGetlBufIetlImgIevalueYe
ErrPrintL
MsgPrintL    IMG_ITEMtoolsInitParafes_down_sysrecovery_itemFES_MEDIA_INDEXget_item_sizesparse_format_probefes_down_sparse_itemfes_down_normal_itemfes_verify_transfer_value · HE@€\€W@€€D€\@C€^FÀ@†AÅ@܀Ú@€AÁAAA€ÁA`    €F‚Š‚‰Â€…‰‚‚\‚ZB€€„ÁœB†BÜB€ƒž†‚ÃÁœ‚ƂÃ܂@D@€CÃC€€Aƒ€€C€ÀÀ€€@€C€ÃAC_ÁõFAÃ\A€B^€tabletype$verify status :argument check error    tlFesDevtag Tools_Buffer(@malloc mem fail@ð?Fex_VerifyStatusdataBufverify status errorFreeGetMemVal2Int32 @À€]˜ÚAVerify: media crc = %x ToolsSuspendÀr@H’ ’ ’ ’ ’ “ “ “ ” ” — — ˜ ˜ ˜ ™ ™ š š š › › ž Ÿ Ÿ Ÿ Ÿ     ¡ ¢   £ £ ¤ ¤ ¤ ¥ ¥ ¦ ¦ © © © ª ª ª « « ¬ ¬ ­ ­ ­ ­ ® ® ® ® ® ® ® ® ² ² ² Ÿ µ µ ¶ ¶ · paraG    tlFesDev Gtag G
verifyBufGtimeG (for index)C (for limit)C (for step)CiBret Bflag,B
media_crc/B
ErrPrintL
MsgPrintL¹ Ü FE@†€@\€@€€E@†À@\€W@€€€DÅ@@܀AFÁ@\@C€^F€@†À@ƀÁ
    ƒ    Â„    €…    B†    †    ÁC‡    Bˆ    ˆD€FÁÄ    A‰DFAÅ    AŠÜ€Ç@Å@Ú@€€ÄÜ@ÆÀEÜ@€ÂÞĀ
    AD€FÁÄ    AŒÜ€Ç@Å@Ú@€ÄAÜ@ÂÞ€Þ€tabletype    tlFesDev    tlBufImg/arguments check error: table, table but(%s,%s)ret FesDownDataaddrlen @dataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_full_size_tag media_indexDRAMFail to Fes Down DataFreetagVerify status errorF» » » » » » » » » » ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ½ ½ À À Â Â Ã Ä Å Æ Ç È É Ê Ë Ë Ë Ì Ì Ì Â Í Î Î Î Ï Ï Ï Ð Ð Ñ Ñ Ô Ô Õ Ö Ö Ö Ô Ö × × × Ø Ø Ø Ù Ù Û Û Ü paraE    tlFesDevE    data_bufE
ErrPrintLSUNXI_EFEX_TAGFES_MEDIA_INDEXfes_verify_transfer_statusß   …E@†€@\€@€€E@†À@\€W@€€€DÅ@@܀AFAA\@C€^F€@†€A€ÁABD€FAÂFÂFÂ†Á@†ÁBÀ€œ€šA@€ÄÜA€ހ€ÆAÃ
B    ‚‡ÜÚA@€AÂB@€€DAB‚D‚À\B€FÂD\‚€†‚A†EœB€†‚A†BEÊBÉB‹œB„€ʂƒ@ɁƒAɃœ‚ÀÚA@€„ÁœB‚À€ž€„ÊÉBDŒÉ‚ƌɁÉBŽƒAɃƒ@ɁÃ@ɃÉBĎÃGɏÉBDCHɃƒHÉ‘ICIɃ‘ÉBD“€JɃ“CJɃ”œ‚ÀÚA@€„Á‚
œB‚À€ž€‚€À€ž€€+tabletype    tlFesDevtlImg/arguments check error: table, table,but(%s,%s)image    tlBufImgmainMP_FILEsub full_imageItemFail to open full_imageFex_ProbeFlashSizedataBufprobe flash size failGetMemVal2Int32flash size is : %d Sectors    ItemSizeZeroSetMemValWithInt32valdown full image size fail!!!partNum    partName
fullimage    mainTypesubTypeaddrmaxLen€@
bufOffset uiStepStart
uiStepEnd uiCbProgress uiCallBack SendProgress    data_tag media_index
FLASH_LOG mbr_part_keydown full image error…à à à à à à à à à à á á á á á á á á á â â å å æ è è è è è è è ê ê ê ê ê ë ë ì ì ì í í í ï ñ ñ ñ ñ ò ò ò ò ò ò ò ò ó ó ó ô ô ô ô ö ö ÷ ÷ ÷ ø ø ø ø ø ú ú ú ú ú ú ú ú û û ü ü ü ý ý ý                   
 
para„    tlFesDev„    tlBufImg„full_img_exist„ szMainType„
szSubType„theItem$„ret1„ flash_size<„itemSzB„
ErrPrintL    IMG_ITEM
MsgPrintLfes_down_fullimage_sizefes_down_normal_itemFES_MEDIA_INDEX & B…Á@œ€ƀ@ÆÀÀ
A    ‚Ü€@€Z@€ÄAÜ@ÂÞƀAÁ܀€A€€A€ABA€Þ€
 Tools_Buffer0@    tlFesDevFex_QueryStoragedataBufFex_QueryStorage failGetMemVal2Int32-storge type is %d (0:nand 1-2:card 3:spinor)Free                   " " " # # # # $ $ % & pararettmpBuf storage_type
ErrPrintL
MsgPrintL) W ŒE@†€@\€@€@€E@†À@\€@€€E@†A\€W@€@€D@Å@@܀AFAEA†A\\@C€^FÀ@†€@ÁÀBJIÂ„IŁA€DA\AB^EÁ\ZA€„ÁÁœAƒž„€†D†ADÄ€ÆÄÆAÄÆÁÄÅ@€€À€‚DBÀ€@\B€À@€B€D‚À€\BFÂÅ\B€C€^FÆŠ‚‰‚ƌ͂Ɖ‚\‚†ÇÁœ‚W€‚€ÄC@€€ÜBÆÂÅÜB€ÂÞ    @Ä€܂€ÆÂÅÜB€A@€ÄÃÜBÆB
ƒ    Ä    ÅÜBÂÞÆB
ƒ    Ä    Å܂€A€ÄÜBÂÞ€ހ!tabletype    tlFesDevtlImg    tlBufImg8arguments check error: table, table,table but(%s,%s,%s)imageÐ@Fex_SetFlashOnOff    flash_onð? flash_typeopen flash fail Tools_Buffer+Fail to alloc buffer for download map filemainMP_FILEsubdlinfosave_item_to_mem/dl file :save item to mem :(%s,%s) realLen(%d)(dl file :save item to mem fail:(%s,%s) Free    CalCrc32pos@nBytesGetMemVal2Int32+dl map file  cal crc error: %x != file(%x)
dlmap_buffes down partition failclose flash failŒ* * * * * * * * * * * * * * * + + + + + + + + + + + + , , 0 0 0 2 2 2 2 2 3 3 3 3 3 3 3 5 5 5 6 6 7 7 7 8 8 : : : : : : : ; ; ; ; ; < < < < < < = = = = > > > > > ? ? @ @ C C C C C C D D D E E F F F F F G G H H J K K K K L L N N O O O P P P P P Q Q T T T T T T U U U U U U U V V W para‹image ‹    tlFesDev ‹dlLen ‹ret%‹
dlmap_buf/‹ szMainType=‹
szSubType=‹realLenB‹cal_crc[‹    file_crc^‹
ErrPrintL    IMG_ITEM
MsgPrintLfes_down_dlmap_fileZ | ME@†€@\€@€@€E@†À@\€@€€E@†A\€W@€@€D@Å@@܀AFAEA†A\\@C€^F€@†AÆÀA
AD€FAÂ    A„Ü@ƀÂ
    Å    Ã†    €‡    Cˆ    È    ÁD‰    CŠ    ÊDFÁÅ    A‹D€FAÆ    AŒÜ€Ú@€AAJIA„†ÁEIÀÚ@€AA€tabletype    tlFesDevtlImg    tlBufImg8arguments check error: table, table,table but(%s,%s,%s)imageSetMemValWithInt32val erase_flag FesDownDataaddrlen0@dataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_erase_tag media_indexDRAMFail to Fes Down DatatagVerify status errorM] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ b b c c c c c c d d e f g h i j k l m m m n n n d p p q q q r r u u v w w w u w x x y y y z z | paraL    tlFesDevL    tlBufImgLret6L
ErrPrintLtoolsInitParaSUNXI_EFEX_TAGFES_MEDIA_INDEXfes_verify_transfer_status~ Ñ ´E@†€@\€@€€€E@†À@\€@€@€E@†A\€@€€E@†@A\€W@€@€D€Å@@܀AFÁAEA†A\\@C€^FÀ@†€@ÆAAAAAÄ€ÆÂÆÁ€CÂBBCF‚À€À€\‚„Á€@€€œB€ZB€€„Á€@œB‚žÂŽ‚À€ACC̓D„ Ã€†ÄÄʄE EB
ÉŠ EÂÉ…Šœ„ƄÅE܄À    €€€@€€ŸƒûC€„ÁÜC‚žÁC„F„ÅŽDŒÄF    \„DÀ€… „€†ÇʅF Æ NF F FF ÉŠÉ…ÇŽœ…ƅÅF Æ NF F  ܅    Á ÄÆ@ ††ÜEŸÄù†HʄÉDĐɄ‘ÉĀ‘ÉDD’ÉDĒÉÄI“ÉDD”ÉDĔ€ÅJ
ɕEK
É–œ„šD€Ä… ÜDÂÞÄ€
…    …D€FÅÊ
   E…—Ü„€€    šD€Ä ÜDÂÞÄE ÜD€ހ2tabletype    tlFesDevtlImg    tlBufImgmbr_part_keydata8arguments check error: table, table,table but(%s,%s,%s)imageÐ@@mainMP_FILEsub
sunxi_mbrsave_item_to_mem&save item to mem :(%s,%s) realLen(%d)save item to mem fail:(%s,%s) ð?    CalCrc32posnBytesGetMemVal2Int32mbr check crc error`@@@J@8@GetMemVal2CharsnLen0@name = %s, keydata = %x FesDownDataaddrlendataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_mbr_tag media_indexDRAMFail to Fes Down DatatagVerify status errordown mbr success!!!´€ € € € € € € € € € € € € € € € € € € €             ‚ ‚ … … … † ˆ ˆ Š Š Š Š Š Š Š Œ Œ Œ Œ Œ       Ž Ž        “ ” – — ˜ š š š š œ œ œ œ œ œ œ œ    ž ž Ÿ Ÿ   š ¤ ¤ ¥ ¥ ¥ ¦ ¦ ª « ¬ ­ ­ ­ ­ ® ® ® ® ¯ ¯ ¯ ¯ ° ° ° ° ° ¯ ± ± ± ² ² ² ± ² ³ ³ ³ ³ ³ ® ¶ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ ¿ ¿ À À À ¶ Â Â Ã Ã Ã Ä Ä Ç Ç È É É É Ç É Ê Ê Ë Ë Ë Ì Ì Ï Ï Ï Ð Ð Ñ para³image%³    tlFesDev%³    data_buf%³mbr_part_keydata&³    mbr_size(³ mbr_copy_num(³ szMainType/³
szSubType/³realLen4³    buf_sizeE³tmp_bufF³flagG³ok_copyH³ (for index)K] (for limit)K] (for step)K]iL\cal_crcT\    file_crcW\    partStSze³
partStOfsf³ keydataOfsg³partNumk³ (for index)n‡ (for limit)n‡ (for step)n‡io†    partNamey†ret˜³
ErrPrintL    IMG_ITEM
MsgPrintLSUNXI_EFEX_TAGFES_MEDIA_INDEXfes_verify_transfer_statusÔ  ¤E@†€@\€@€@€E@†À@\€@€€E@†A\€W@€@€D@Å@@܀AFAEA†A\\@C€^FÀ@†€@ÆA€ÁABD€FAÂFÂFÂ„ÊAɁœÆÁB
B    Â†ÜÚA€ABB‚ÃA‚D€À\B€DFBÄF‚Ä@€D€FBÂFÂFÂ@€DFBÄFÂÄ@À€E€D€FBÂFÂFAÅ@€D€FBÂFÂFÅ€DFBÄFÂÅ@À€D€FBÂFÂFÆFBƀÀ€€\‚„€Á‚@€€€œB€ZB€€„ÁÂ@€œB‚ž†GʂÉÂÎÉBÉ†ÉÂÏÉÂCÉ‚ȐÉÂÑÉÂC’€ƒIɃ’JɃ“œ‚šB€€ÄC
ÜBƂÊÜB€ÂÞÄ€
ƒ    ƒD€FƒÉ    Cƒ•Ü‚€€šB€Ä ÜBÂÞÄ€C ÜB€ހ.tabletype    tlFesDevtlImg    tlBufImg8arguments check error: table, table,table but(%s,%s,%s)imagemainMP_FILEsububootFex_ProbeBootPackageModedataBufprobe boot package failGetMemVal2Int32bootpackage_mode : %d Boot_Package_ModeSUNXI_BOOT_FILE_NORMALSUNXI_BOOT_FILE_PKG@boot_package_nor boot_packageSUNXI_BOOT_FILE_TOCtoc1save_item_to_mem&save item to mem :(%s,%s) realLen(%d)save item to mem fail:(%s,%s)  FesDownDataaddrlen
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_uboot_tag media_indexDRAMFail to Fes Down DataFreetagVerify status errordown uboot success!!!¤Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö × × × × × × × × × × × × Ø Ø Û Û Û Ü Ü Ü Ü Ü Ü Ü Þ Þ Þ Þ à à à à á á á á á á á ã ã ã ä ä ä ä æ æ æ æ æ ç ç ç ç ç è è è è è é é ê ê ê ê ê ì ì ì ì í î î î î î ï ï ï ï ò ò ò ò ò ô ô ô ô ô ô õ õ ö ö ö ö ö ÷ ÷ û û ü ý þ ÿ          û             
 
                  para£image £    tlFesDev £    data_buf £ szMainType'£
szSubType'£ storage_type+£ret/£bootpackage_mode9£realLenf£ret†£
ErrPrintL    IMG_ITEMfes_get_storage_type
MsgPrintLCfgSUNXI_EFEX_TAGFES_MEDIA_INDEXfes_verify_transfer_status k ¿E@†€@\€@€@€E@†À@\€@€€E@†A\€W@€@€D@Å@@܀AFAEA†A\\@C€^FÀ@†€@ÆA€†ÁAÊAÉÁ„œšA€ÄBÜAÂÞƁÂÂ܁€A€€B€BCJBI„‚B€D‚\BB^F‚Â\‚„€Á€œB€„†D†BD€‚€„€†‚D†ÂDÄ€ÆÅÆÂÄFAÅÀ    €À€„€†‚D†‚EÄ€ÆÅÆÂÄFÁÅ€WÆ@€@Æ€„€†‚D†ÂDÄ€ÆÅÆÂÄFÆÀ€ÀÆ€„€†‚D†ÂDÄ€ÆÅÆÂÄFÇ€„ÁBœB‚ž†‚ÇÀ€@€œ‚Ä€Ã@€€ÀÜB€šB€€Ä@€€ÜBÂÞÆBH
ƒ    ÃB‘    ƒ‚‘    Ã„    ÃB’    Ã’    ÃI“    ÃB”    Ã”DFÃÊ    C•D€FCË    C–Ü‚€B€€Äƒ ÜBÆÂËÜB€ÂÞÄ
ƒ    ƒDFÃÊ    C˜Ü‚€B€ÄC ÜBÂÞÄ€ƒ ÜB€ހ3tabletype    tlFesDevtlImg    tlBufImg8arguments check error: table, table,table but(%s,%s,%s)imageFex_QueryStoragedataBufFex_QueryStorage failGetMemVal2Int32-storge type is %d (0:nand 1-2:card 3:spinor)Fex_ProbeBootPackageModeprobe boot package failbootpackage_mode : %d Boot_Package_ModeSUNXI_BOOT_FILE_TOCmainMP_FILEsubtoc0BOOT boot0_nandð?@ boot0_sdcard@ boot0_spinorstorge type invalidsave_item_to_mem&save item to mem :(%s,%s) realLen(%d)save item to mem fail:(%s,%s)  FesDownDataaddrlen
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_boot0_tag media_indexDRAMFail to Fes Down DataFreetagVerify status errordown boot0 success!!!¿                             " " " % ' ' ' ' ( ( ) ) ) * * - - - . . . . 1 1 1 1 2 2 2 2 2 2 2 4 4 4 5 5 5 5 7 7 7 7 7 8 8 8 8 8 8 8 8 8 : : ; ; ; ; ; ; ; ; ; < < < < = = = = = = = = = > > ? ? ? ? ? ? ? ? ? A A A B B F F F F F H H H H H H I I J J J J J K K O O P Q R S T U V W X X X Y Y Y O Z [ [ \ \ \ ] ] ^ ^ a a b c c c a c d d e e e f f i i i j j k para¾image ¾    tlFesDev ¾    data_buf ¾ szMainType!¾
szSubType!¾ret%¾ storage_type/¾ret7¾bootpackage_modeA¾realLen€¾
ErrPrintL
MsgPrintLCfg    IMG_ITEMSUNXI_EFEX_TAGFES_MEDIA_INDEXfes_verify_transfer_statusn   zE@\@D€\@D€€ÆÀ@\@€E@„\€W@‚À€D€€Å@Ü\@B^DFÀÁ…ÆÀ@œ€š@@€Ä€AFÁ@Ü@€ÀÞŀÁBC܀Ú@€€€AAACA€€AÁA€JA„†D†ÁDIˆ„†AE†ÁD†EIŠIA€ƒIÁ€‹IŒA€€AAACA€ÆA€€AÁA€JA„†D†GIˆ„†AE†G†AGIŠIA€ƒIÁ€‹IŒA€€AACA€ÆA€ÆA€CA€AÁA€€ print.--------------entry-fel2fes Called-----------Hi, I'm fel, dev=%s felDevNametabletype table~= type(toolsInitPara)(%s)imageTools_Fex_DevFail to open fel dev [%s] Tools_Buffer
Tools_CFG IMG_BUF_LEN%Fail to alloc buffer for image item.CloseTo down and Run fes1-1ret szMainTypemainFES
szSubTypesubfes1_1    tlFelBuf    tlFelDevfes1-1 failedFreeTo down and Run ubootMP_FILEubootuboot down and run failed---fun end---zo o o p p p q q q q r r r r r s s s s s s t t w w x x x y y y y y y y y } } } } } ~ ~    € € € € „ „ „ … … † † † † ‡ ‡ ‡ ‡ ‡ ˆ ‰ Š … Š ‹ ‹ ‹ Œ Œ Œ          ‘ ‘ ’ ’ ’ ’ “ “ “ “ “ ” • – ‘ – ˜ ˜ ˜ ™ ™ ™ š š š š š š œ œ œ œ ž ž ž Ÿ Ÿ    tbl_felParayimagey    tlFelDevy    tlFelBuf)y    PrintTbl
MsgPrintLtoolsInitPara
ErrPrintLCfgfel_down_and_run_fes1    IMG_ITEMfel_down_and_run_uboot­ » !E@€\€W@€À€D€Å@Ü\@C€^EÀFÁ€Á@\€€Z@À€„Á€A@œ@‚ž‹ÀÁ€ž€    stringtypefile path type error: %sioopenrbopen file  error: %sseekend!¯ ¯ ¯ ¯ ¯ ° ° ° ° ° ° ± ± ´ ´ ´ ´ ´ µ µ ¶ ¶ ¶ ¶ ¶ ¶ · · º º º º »     filename file 
ErrPrintL¿ W"!F@†@@ƀ@Á@FAZÀ€š@€ÚÀ€@€ZA€€„ÁAœA…À€Âœ€šA€ÅBÜAÃ€ÞŁÂ܁ÚAÀ€ABB‚CB€ÂABÄ€€Ü‚ƒ@ƒƒ€C@€DÃÀ\C€B^AÀ€ÆEDEAÄ„A„ÜC€ÆÃEDEAÄ„A„ÜC€ÆFÄ܃DFA„„FDFÄ\„†DFÁœ„ÆDFE܄EFA……FEFÅ\…„Á€œE€„ÁE€    œE€„Á…
œE€ÅÁÅ€FE†FEÁÆœ†ÁF\F€FÆE†FEÁÆœ†ÁF\F€FFFÆ\††FÁ†œ†ÆFÇ܆ÇNÇ ÉŽIW€‡À€„ÁG    œG!€…‡    †ÇI€‡ €„Á
œGŽÇ ŒGGW€‡ À€„ÁG
œG@€É€‡ €
€ÆÇÊ
ˆ    –NÉ    Hˆ–    —    È×    ÈC˜    ˆÌ˜    ÈÙ    ÈCšD€FˆÍ    HˆšDFÎ    Hˆ›Ü‡LJ
Ň
ÚG€ÄHÜGÂÞÆÇEHEAȈNÉ Ü‡€ÚG€ÄˆÜGÂÞ Æ Ç€ô€‡‡@€ÆÇÊ
ˆ    –NI    Hˆ–    —    È×    ÈC˜    ˆÌ˜    ÈÙ    ÈCšD€FˆÍ    HˆšDFÎ    Hˆ›Ü‡LJ
Ň
ÚG€ÄHÜGÂÞÆÇEHEAȈNI܇€ÚG€ÄˆÜGÂÞ † À€…‡    †ÇN€‡ À€„ÁœGW@Ç À€„ÁG
œG€€É † À€„ÁGœGÀ€ GÇ †‡OÀ€œG€ŒD €…
ÀÖF†C\F€F†C\F€FÆÏ\F€@ À€DÀ€
\F€B€^€A    basefile verifyfile    tlFesDev    data_buf
flash_add para error Tools_Filerb+printtools_file error Tools_Buffer@A%Fail to alloc buffer for image item.    tlFelDevCloseð?@wb+Fail to open file %s to writeRead
BuffShift<@WriteGetMemVal2Int32GetMemVal2Int16@ @$@(@0@4@ magic = %xblk_size = %xtotal_chunk = %x`@€@$chunk data size is not sector align SPARSE_INFOchunk_type_rawchunk type rawbad chunk sizeret
FesUpDataaddrlendataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_flash_tag media_index
FLASH_LOGFail to Fes Up  DataFailed to write to filechunk_type_nullchunk type nullunknow chunk typeSeekFreesparse ok: %d chunks!Â Ã Ä Å Æ È È È È È È È È È È É É É Í Í Í Í Î Î Î Î Î Î Î Ð Ð Ð Ñ Ñ Ò Ò Ò Ó Ó Ó Ó Ó Õ Õ Õ × × × Ø Ø Ø Ø Ù Ù Ú Ú Ú Ú Ú Ú Ý ß à à à à à à á á á á á á ã ã ã ä ä ä å å å æ æ æ ç ç ç è è è é é é ë ë ë ë ì ì ì ì í í í í ï ð ñ ó ó ó ó ó ó ô ô ô ô ô ô ö ö ö ÷ ÷ ÷ ø ø ø ù û ü ü ü ü ý ý ý þ         
          $$&&'(()*+,-.///000&1222333447777777788899<=@@@@AAACCDDDDFFFHHHHKLLLLNOOQQRRSSUUUUUUVVWpara     filepath  verifyfile     tlFesDev     data_buf 
flash_add imgFile     tlFelBuf      SEEK_SET-     SEEK_CUR-     SEEK_END- 
file_size0 v_file4 readed=  header_buf>  sparse_magicM sparse_major_verP sparse_head_sizeS chunk_head_sizeV     blk_sizeY 
total_blk\  total_chunk_ 
chunk_cntl     read_lenm flash_add_tmpn  chunk_type}    chunk_sz€    total_szƒofs„chunk_data_sz…chunk_data_lenõ
ErrPrintLget_file_size
MsgPrintLSUNXI_EFEX_TAGFES_MEDIA_INDEXZ"(E@†€@\€@€€E@†À@\€W@€€€DÅ@@܀AFÁ@\@C€^F€@†À@Æ@AAÁŽAÆÂ
‚    ‚„    Å܁ÚA€ABB‚ÃJ‚IÇIBDˆI‰IÉICŠI‚ÅŠIËICŒ„€†‚FI‚‚Œ„†GI‚‚‚ÀÚA€ABBA͂ƒ €†ƒÇʃ ÄAÉ„ ÄAɐœƒÆCȁ܃€A„€€ÀDÀ€€€@€€ŸBúB€„ÁœB‚ž    ÀC    ÕƒAƒ    C@Ã    Uƒƒ„À€œƒÄ܃@€„šÀ€Ú@€D€D
\DB^J„JI„„”„ÊI„„•„JI„–IÖIC—I×IC˜IØIC™Iل€Á @€€œD€D Á„ … AÅ ÆEȁ FN ܅@€ † *€‡ÎJ‡ŽŒGÎÇ
ŒÇŒÇMI‡‡Iϝ‡FGÈŽŒGÎÇ
ŒÇŒC\‡†GÈ΁ÌG…È
̈ÌÇÁœ‡ÆGȁ HNÈ
H HO܇HÈNLH…ŽÈ
LˆˆLˆÏˆD€ÈÀ    @    \H€@    €Uˆˆ†‡ÀKÀ€    €JIII IIˆ I‰¡III‰€¡‰ÀÚA€€    A    IÞ@€W@J@€ÀJ@€I@    €‰‰€I€D    ÉÀ    €\I€€€ˆ    @
€F‰ÃЉ‰Éˆ‡Î‰Ê    ‰É    ˆ‰‰‰‰    Ã‰‰    CЉ‰ÅЉ    Ã‹‰    CŒÄ    €Æ‰Æ‰É‰ŒÄ    Æ    Ç‰É‰\‰À€ÚA€D    I\IB    ^    F    R†IRÁ    œ‰Î‰Ê    \‰€ZI€D    ‰\IB    ^    ÌȄÈÀô€†€    €F‰ÃЉ‰Éˆ‡Î‰J‰É    ˆ‰‰‰‰    Ã‰‰    CЉ‰ÅЉ    Ã‹‰    CŒÄ    €Æ‰Æ‰É‰ŒÄ    Æ    Ç‰É‰\‰À€ÚA€D    I\IB    ^    F    R†IRÁ    œ‰ΉJ\‰€ZI€D    ‰\IB    ^    FÉR\I€FÕÂJ†IÄIņÀ ÚA€AFF†S AƆEFF†Ó \†…F††S ÁFœ†ņÆÆÔ AG܆€Ú@€ ‡Õ …G†ÇUÁHHV€œG ‡Õ € G€ ‡Õ ‡G€ ‡Õ €€ G€ ‡Õ ‡G€ ‡Õ € G€ ‡Õ ‡G€ ‡Õ ÇG€ × G€€]tabletype    tlFesDev    tlBufImg/arguments check error: table, table but(%s,%s)mbr_bufÐ@@Fex_SetFlashOnOff    flash_onð? flash_typeopen flash fail
FesUpDataaddrlenð@dataBuf
bufOffset uiPromptOnce uiCbProgresstotalUnPromptLenInPkt
uiCurrent    data_tagsunxi_efex_flash_tag media_index
FLASH_LOGFail to Fes Up  Data    CalCrc32posnBytesGetMemVal2Int32file_cre = %x cal-crc = %xmbr check crc error*/home/user/lichee/tools/pack/out_android/    boot.img recovery.img system.imgget file size failboot€@    recoverysystemboot-resourceenvdatamisccachedatabkUDISK3boot size = %d, recover size = %d system_size = %d/home/user/imgdata/`@@@J@8@GetMemVal2CharsnLen0@ @(@"name = %s, addrlo = %x lenlo = %x    basefile verifyfile
flash_add    data_bufup load system error Tools_Filewb+Fail to open file %s to writeWrite
BuffShiftFailed to write to fileCloseclose flash failosexecutePdiff /home/user/lichee/tools/pack/out_android/boot.img  /home/user/imgdata/bootXdiff /home/user/lichee/tools/pack/out_android/recovery.img  /home/user/imgdata/recoveryTdiff /home/user/lichee/tools/pack/out_android/system.img  /home/user/imgdata/systemioopen/home/user/imgdata/log.txta+writedate%c
time 
close]]]]]]]]]]^^^^^^^^^__bbceefhhhhhiiiiiiikklmnopqrstttuuukvwwxxxyy}~€€€€‚‚‚‚‚‚‚‚ƒƒƒ„„„„„……††‡€‹‹ŒŒŒ’“““”””•••———˜˜˜™™™››››››œœœ¡¢¢££¤¤¦§¨©ª«¬®®®¯¯®²³µ¶·¸¸¸¸¹¹¹¹ºººº»»»»»º¼¼¼¼¼¼¼½½½½½½½¾¾¾¾¾¾¾¿¿¿¿¿¿¿ÂÂÂÂÂÂÃÃÃÆÇÈÈÊÊËÌÍÎÏÊÐÑÑÑÑÑÑÑÓÓÓÓÔÔÔÔÕÕÕÕÕÕÕÖÖØØÙÚÚÛÜÝÞßàáááâââØãääåååææééééééééêêêëëîïïòòôôõöö÷øùúûüýýýþþþôÿ
 
¹!!"/paraŽ    tlFesDevŽ    data_bufŽmbr_bufŽ    mbr_sizeŽ mbr_copy_numŽ    buf_sizeŽret ŽflagAŽok_copyBŽ (for index)E\ (for limit)E\ (for step)E\iF[cal_crcN[    file_crcQ[ basefilepathdŽ
boot_filegŽrecovery_filejŽ system_filemŽ
boot_sizepŽrecovery_sizesŽ system_sizevŽ base_file_tl‚Ž    filepath–Ž    read_len—Ž    partStSz˜Ž
partStOfs™Ž keydataOfsšŽpartNumžŽ (for index)¡L (for limit)¡L (for step)¡Li¢K    partName¬Kaddrhi³KaddrloºKlenhiÁKlenloÈK
file_nameÑKlenÒKaddrÓKtl_fileíK    diffboot]Ž diffrecoveryaŽ diffsystemeŽlogfilejŽ
ErrPrintLSUNXI_EFEX_TAGFES_MEDIA_INDEX
MsgPrintLget_file_sizeupload_system$ÕBE@\@D€\@D€€ÆÀ@\@€E@€\€W@‚À€D€Å@Ü\@C€^FÀ@†ÀAÆBA@€„@€A@…€A@€W…@€AÁ…AÀ€œÅA܁B@€AFÁ@A@€DAÆÁ@\A€C€^D€FÃ…ÁÄÆÄÆAÄœšA€€Ä‚ÜAÆÁDÜA€ÂÞÄ€
B    ‚ŠÜÚA€ABB‚EB€ÂDB€€ÂED@À€€JÂIBŒII‚‚B@€ABBÇJ‚IÂGIBHB‚EB€ÂDB€‚ÈJBIɑB€ŠÄ
    CŒ        ƒ    ƒ‚’Ü‚€ƂÈ
C    ƒÉ‘ÜBB@€Äà    ÜBÆBÇ
ƒ    J    CJÜBƂEÜB€ÆÂDÜB€ÂÞÄ€
C    Ü‚@€Ã€É€    €JÃICŒIIƒIÕI˕IƒË–Iƒ‚—ÃÀ€ÚBÀ€€A C€B@€AC CƒEC€ÃDC€€Aƒ CƒEC€ÃDC€€€JÃICŒIIƒIÕI˕IƒË–Iƒ‚—ƒB@€Aà CCÇJƒIMICMCƒEC€ÃDC€ƒÈJCIƒÍ‘CJÀICŒIIƒ€€bC€ƒB@€Aà CCÇJƒINICNCƒEC€ÃDC€ƒÈJCIƒÎ‘C€JÃICŒIIƒƒB@€AÃCCÇJƒIOICOCƒEC€ÃDC€ƒÈJCIƒÏ‘CÃOJƒICP IÃP¡ƒB€ACƒEC€ÃDC€CÑJC€AƒCÃC€€€Hprint/--------------entry fes_thread Called---------enter FES--%s fesDevNametabletype table~= (%s)    DeviceIdhubIdstringnumber$string,number,number, but(%s,%s,%s)Tools_Fex_DevFail to open fes dev [%s]image Tools_Buffer
Tools_CFG IMG_BUF_LENFail to alloc bufferCloseDevIdFail to get ui callBack funFreeModerettlImg    tlFesDev    tlBufImgdown erase flag fail PromptErrorerrIdȌ@errMsgFail to download erase flag SendProgress
nPercents@mbr_part_keydata@down mbr error@Fail to download mbr uiCallBack uiStepStart@
uiStepEndÀW@ mbr_part_key---full image not exist-----down full image errordown full image successdown partition error@Fail to download partitionX@down uboot error@Fail to download uboot@X@down boot0 error @Fail to download boot0€X@Fex_SetToolMode
tool_mode @
next_modeset next work mode fail!!! SendFesEnd---fun end-----ExitB%%%&&&))))+++++++++++++...///////////////00000000000011333444444448899999::;;;<<<<AAAABBCCCDDDDEEIIIIIJJKLMJMNNNOOOPPPPPQQQQRRWWWWY[\\]^_`\accccddeeefffffgggghhkkkkkmnnoopqrstuvowwxxyyyyzz{{{||||}}}€€€€……†‡ˆ‰Š‹Œ…‘‘‘‘‘’’’’““————¤¤¥¦§©©¤©««¬¬¬­­­­­®®®®¯¯²²²²³³´µ¶³·¹¹ººº»»»»»¼¼¼¼½½ÀÀÀÀÆÆÆÆÆÆÇÇÇÇÇÇÇÊÊÊÊÎÎÎÏÏÏÑÑÔÔÕ tbl_fesParaA fesDevNameA    deviceIdAhubIdA    tlFesDev:AimageDA    tlBufImgIA uiCallBackVAretƒA storage_typeƒAmbr_part_keydata„Afull_img_exist¦A    PrintTbl
MsgPrintL
ErrPrintLtoolsInitParaCfg    Tools_UIWORK_MODE_UPDATEfes_down_erase_flag fes_down_mbrfes_get_storage_typefes_down_full_imagefes_down_partitionfes_down_ubootfes_down_boot0DGGH¤¤M¦¦§ª¬­®¯°±²´µ¶·ºòòò½ö····"¼¼½¾¿¼ÄÄÅÆÇÈÉÊËÌÎÏÐÑÓÔÕÖרÙÚÛÜÝÄááâãäåæçèéêëáïïððï||||||||óÁÁÁÓÓÖÙÙÙÙÙÞÞââííðñôõö÷øùúüý77777777CCC9``´´´´&&&&&††††††‰–    –    –    –    þ    þ    þ    þ    þ    M
M
M
M
x
x
x


Ò
Ò
Ò
Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž · · · Ü Ü Ü Ü Ü        & & & W W W W W | | | | | | Ñ Ñ Ñ Ñ Ñ Ñ Ñ          k k k k k k k k                   n » » WWWWWW"""""""ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕ$Õ*U    readonlyCfg
    IMG_ITEM FES_MEDIA_INDEX+FEX_COMMAND_IDESUNXI_EFEX_TAGRFES_DOUW    Tools_UIcfex_address_tablee FEX_MEM_MAPf
MsgPrintLm
ErrPrintLo    PrintTblqWORK_MODE_PRODUCTrWORK_MODE_UPDATEstoolsInitPara|fel_down_item‹fel_down_and_run_fes1fel_down_and_run_uboot“fes_check_crc˜fes_down_normal_itemžhandled_chunkŸparse_and_down_chunk£fes_down_sparse_item¨fes_down_sysrecovery_item¬fes_verify_transfer_value¯get_item_size±sparse_format_probe´fes_down_dlmap_fileÀfes_verify_transfer_statusÃfes_down_fullimage_sizeÈfes_down_full_imageÏfes_get_storage_typeÒfes_down_partition×fes_down_erase_flagÝ fes_down_mbräfes_down_ubootífes_down_boot0õget_file_sizeupload_systemfes_verify_img