; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\app_tp_transfer.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\app_tp_transfer.d --cpu=Cortex-M0 --apcs=interwork -O3 --diag_suppress=9931 -I..\src -I..\src\board -I..\src\common -I..\src\sdk\include -I..\src\app\demo -I..\src\sdk\include\M0 -I..\src\app -I..\src\unittest -I..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\app_tp_transfer.crf ..\src\app\demo\app_tp_transfer.c]
                          THUMB

                          AREA ||i.S20_Start_init||, CODE, READONLY, ALIGN=2

                  S20_Start_init PROC
;;;419    
;;;420    void S20_Start_init(void)
000000  b570              PUSH     {r4-r6,lr}
;;;421    {
;;;422    	uint8_t len=0;
;;;423    	uint8_t temp=0;
;;;424    	uint8_t temp_start_flag=0;	
;;;425    	//    if(phone_start_flag==1)
;;;426    	{
;;;427    		app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
000002  4d4a              LDR      r5,|L1.300|
000004  2308              MOVS     r3,#8
000006  4a4a              LDR      r2,|L1.304|
000008  2101              MOVS     r1,#1
00000a  6828              LDR      r0,[r5,#0]  ; screen_reg_int_data
00000c  f7fffffe          BL       app_tp_m_read
                  |L1.16|
;;;428    		while(!hal_i2c_m_transfer_complate());		
000010  f7fffffe          BL       hal_i2c_m_transfer_complate
000014  2800              CMP      r0,#0
000016  d0fb              BEQ      |L1.16|
;;;429    		delayMs(2);			
000018  2002              MOVS     r0,#2
00001a  f7fffffe          BL       delayMs
;;;430    		while(!hal_gpio_get_input_data(g_screen_input_int_pad))
00001e  4c45              LDR      r4,|L1.308|
000020  e00c              B        |L1.60|
                  |L1.34|
;;;431    		{
;;;432    			app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
000022  2308              MOVS     r3,#8
000024  4a42              LDR      r2,|L1.304|
000026  2101              MOVS     r1,#1
000028  6828              LDR      r0,[r5,#0]  ; screen_reg_int_data
00002a  f7fffffe          BL       app_tp_m_read
                  |L1.46|
;;;433    			while(!hal_i2c_m_transfer_complate());		
00002e  f7fffffe          BL       hal_i2c_m_transfer_complate
000032  2800              CMP      r0,#0
000034  d0fb              BEQ      |L1.46|
;;;434    			delayMs(2);
000036  2002              MOVS     r0,#2
000038  f7fffffe          BL       delayMs
                  |L1.60|
00003c  7820              LDRB     r0,[r4,#0]            ;430  ; g_screen_input_int_pad
00003e  f7fffffe          BL       hal_gpio_get_input_data
000042  2800              CMP      r0,#0                 ;430
000044  d0ed              BEQ      |L1.34|
;;;435    		}
;;;436    		temp=s_screen_read_buffer[0]&0xf0;
000046  4e3a              LDR      r6,|L1.304|
000048  7830              LDRB     r0,[r6,#0]  ; s_screen_read_buffer
00004a  0900              LSRS     r0,r0,#4
00004c  0100              LSLS     r0,r0,#4
;;;437        if((temp==0x10)||(temp==0x20)||(temp==0x30))
00004e  2810              CMP      r0,#0x10
000050  d04a              BEQ      |L1.232|
000052  2820              CMP      r0,#0x20
000054  d048              BEQ      |L1.232|
000056  2830              CMP      r0,#0x30
000058  d046              BEQ      |L1.232|
;;;438    		{
;;;439    		 temp_start_flag=1;
;;;440    		}
;;;441    		if(temp_start_flag==0)
;;;442    		{
;;;443    		app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01
00005a  2103              MOVS     r1,#3
00005c  4836              LDR      r0,|L1.312|
00005e  f7fffffe          BL       app_tp_m_write
                  |L1.98|
;;;444    		while(!hal_i2c_m_transfer_complate());
000062  f7fffffe          BL       hal_i2c_m_transfer_complate
000066  2800              CMP      r0,#0
000068  d0fb              BEQ      |L1.98|
;;;445    		delayMs(1);
00006a  2001              MOVS     r0,#1
00006c  f7fffffe          BL       delayMs
;;;446    		app_tp_m_write(MI10_PRO_screen_init_data2, sizeof(MI10_PRO_screen_init_data2));//0xA2,0x03,0x00,0x00,0x00,0x03
000070  4831              LDR      r0,|L1.312|
000072  2106              MOVS     r1,#6
000074  3026              ADDS     r0,r0,#0x26
000076  f7fffffe          BL       app_tp_m_write
                  |L1.122|
;;;447    		while(!hal_i2c_m_transfer_complate());
00007a  f7fffffe          BL       hal_i2c_m_transfer_complate
00007e  2800              CMP      r0,#0
000080  d0fb              BEQ      |L1.122|
;;;448    		delayMs(1);		
000082  2001              MOVS     r0,#1
000084  f7fffffe          BL       delayMs
;;;449    		app_tp_m_write(MI10_PRO_screen_init_data3, sizeof(MI10_PRO_screen_init_data3));//0xA2,0x02,0x00
000088  482b              LDR      r0,|L1.312|
00008a  2103              MOVS     r1,#3
00008c  1cc0              ADDS     r0,r0,#3
00008e  f7fffffe          BL       app_tp_m_write
                  |L1.146|
;;;450    		while(!hal_i2c_m_transfer_complate());
000092  f7fffffe          BL       hal_i2c_m_transfer_complate
000096  2800              CMP      r0,#0
000098  d0fb              BEQ      |L1.146|
;;;451    		delayMs(1);	
00009a  2001              MOVS     r0,#1
00009c  f7fffffe          BL       delayMs
;;;452    		app_tp_m_write(MI10_PRO_screen_init_data4, sizeof(MI10_PRO_screen_init_data4));//0xC0,0x07,0x01
0000a0  4825              LDR      r0,|L1.312|
0000a2  2103              MOVS     r1,#3
0000a4  1d80              ADDS     r0,r0,#6
0000a6  f7fffffe          BL       app_tp_m_write
                  |L1.170|
;;;453    		while(!hal_i2c_m_transfer_complate());
0000aa  f7fffffe          BL       hal_i2c_m_transfer_complate
0000ae  2800              CMP      r0,#0
0000b0  d0fb              BEQ      |L1.170|
;;;454    		delayMs(1);		
0000b2  2001              MOVS     r0,#1
0000b4  f7fffffe          BL       delayMs
;;;455    		app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
0000b8  2308              MOVS     r3,#8
0000ba  4a1d              LDR      r2,|L1.304|
0000bc  2101              MOVS     r1,#1
0000be  6828              LDR      r0,[r5,#0]  ; screen_reg_int_data
0000c0  f7fffffe          BL       app_tp_m_read
                  |L1.196|
;;;456    		while(!hal_i2c_m_transfer_complate());
0000c4  f7fffffe          BL       hal_i2c_m_transfer_complate
0000c8  2800              CMP      r0,#0
0000ca  d0fb              BEQ      |L1.196|
;;;457    		if(s_screen_read_buffer[7]>0)
0000cc  79f0              LDRB     r0,[r6,#7]  ; s_screen_read_buffer
0000ce  2800              CMP      r0,#0
0000d0  d00a              BEQ      |L1.232|
;;;458    		{
;;;459    			len=s_screen_read_buffer[7]*8;
0000d2  06c0              LSLS     r0,r0,#27
0000d4  0e03              LSRS     r3,r0,#24
;;;460    			app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, len);
0000d6  4a16              LDR      r2,|L1.304|
0000d8  2101              MOVS     r1,#1
0000da  6828              LDR      r0,[r5,#0]  ; screen_reg_int_data
0000dc  f7fffffe          BL       app_tp_m_read
                  |L1.224|
;;;461    			while(!hal_i2c_m_transfer_complate());		
0000e0  f7fffffe          BL       hal_i2c_m_transfer_complate
0000e4  2800              CMP      r0,#0
0000e6  d0fb              BEQ      |L1.224|
                  |L1.232|
;;;462    		}
;;;463    	  }
;;;464    #endif
;;;465    		if(hal_gpio_get_input_data(g_screen_input_int_pad))
0000e8  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
0000ea  f7fffffe          BL       hal_gpio_get_input_data
0000ee  2800              CMP      r0,#0
0000f0  d01b              BEQ      |L1.298|
;;;466    		{
;;;467    			s_screen_init_complate = true;
0000f2  4911              LDR      r1,|L1.312|
0000f4  2001              MOVS     r0,#1
0000f6  390b              SUBS     r1,r1,#0xb
0000f8  7108              STRB     r0,[r1,#4]
0000fa  4601              MOV      r1,r0
0000fc  2200              MOVS     r2,#0
0000fe  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
000100  f7fffffe          BL       hal_gpio_set_pull_state
000104  2100              MOVS     r1,#0
000106  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
000108  f7fffffe          BL       hal_gpio_ctrl_eint
00010c  2103              MOVS     r1,#3
00010e  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
000110  f7fffffe          BL       hal_gpio_init_eint
000114  4909              LDR      r1,|L1.316|
000116  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
000118  f7fffffe          BL       hal_gpio_reg_eint_cb
00011c  2101              MOVS     r1,#1
00011e  7820              LDRB     r0,[r4,#0]  ; g_screen_input_int_pad
000120  f7fffffe          BL       hal_gpio_ctrl_eint
;;;468    			app_tp_screen_int_init();
;;;469    			phone_start_flag=0;
000124  4906              LDR      r1,|L1.320|
000126  2000              MOVS     r0,#0
000128  7008              STRB     r0,[r1,#0]
                  |L1.298|
;;;470    		}
;;;471    	}
;;;472    }
00012a  bd70              POP      {r4-r6,pc}
;;;473    
                          ENDP

                  |L1.300|
                          DCD      screen_reg_int_data
                  |L1.304|
                          DCD      ||.bss||
                  |L1.308|
                          DCD      g_screen_input_int_pad
                  |L1.312|
                          DCD      ||.data||+0xb
                  |L1.316|
                          DCD      app_tp_screen_int_callback
                  |L1.320|
                          DCD      phone_start_flag

                          AREA ||i.ap_tp_calibration||, CODE, READONLY, ALIGN=2

                  ap_tp_calibration PROC
;;;592    
;;;593    void ap_tp_calibration(void)
000000  b510              PUSH     {r4,lr}
;;;594    {
;;;595    	// app_tp_m_write(MI10_PRO_TP_Tuning_data1, sizeof(MI10_PRO_TP_Tuning_data1));    // System Reset  
;;;596    	// while(!hal_i2c_m_transfer_complate());
;;;597    	// delayMs(10);
;;;598    	app_tp_m_write(MI10_PRO_TP_Tuning_data2, sizeof(MI10_PRO_TP_Tuning_data2));     // FPnl Init
000002  2103              MOVS     r1,#3
000004  4829              LDR      r0,|L2.172|
000006  f7fffffe          BL       app_tp_m_write
                  |L2.10|
;;;599    	while(!hal_i2c_m_transfer_complate());
00000a  f7fffffe          BL       hal_i2c_m_transfer_complate
00000e  2800              CMP      r0,#0
000010  d0fb              BEQ      |L2.10|
;;;600    	delayMs(1);
000012  2001              MOVS     r0,#1
000014  f7fffffe          BL       delayMs
;;;601    	app_tp_m_write(MI10_PRO_TP_Tuning_data3, sizeof(MI10_PRO_TP_Tuning_data3));     // Pnl Init
000018  4824              LDR      r0,|L2.172|
00001a  2103              MOVS     r1,#3
00001c  1cc0              ADDS     r0,r0,#3
00001e  f7fffffe          BL       app_tp_m_write
                  |L2.34|
;;;602    	while(!hal_i2c_m_transfer_complate());
000022  f7fffffe          BL       hal_i2c_m_transfer_complate
000026  2800              CMP      r0,#0
000028  d0fb              BEQ      |L2.34|
;;;603    	delayMs(1);
00002a  2001              MOVS     r0,#1
00002c  f7fffffe          BL       delayMs
;;;604    	app_tp_m_write(MI10_PRO_TP_Tuning_data4, sizeof(MI10_PRO_TP_Tuning_data4));    // TuneM
000030  481e              LDR      r0,|L2.172|
000032  2104              MOVS     r1,#4
000034  3012              ADDS     r0,r0,#0x12
000036  f7fffffe          BL       app_tp_m_write
                  |L2.58|
;;;605    	while(!hal_i2c_m_transfer_complate());
00003a  f7fffffe          BL       hal_i2c_m_transfer_complate
00003e  2800              CMP      r0,#0
000040  d0fb              BEQ      |L2.58|
;;;606    	delayMs(1);
000042  2001              MOVS     r0,#1
000044  f7fffffe          BL       delayMs
;;;607    	app_tp_m_write(MI10_PRO_TP_Tuning_data5, sizeof(MI10_PRO_TP_Tuning_data5));    // TuneS
000048  4818              LDR      r0,|L2.172|
00004a  2104              MOVS     r1,#4
00004c  3016              ADDS     r0,r0,#0x16
00004e  f7fffffe          BL       app_tp_m_write
                  |L2.82|
;;;608    	while(!hal_i2c_m_transfer_complate());
000052  f7fffffe          BL       hal_i2c_m_transfer_complate
000056  2800              CMP      r0,#0
000058  d0fb              BEQ      |L2.82|
;;;609    	delayMs(1);
00005a  2001              MOVS     r0,#1
00005c  f7fffffe          BL       delayMs
;;;610    	app_tp_m_write(MI10_PRO_TP_Tuning_data6, sizeof(MI10_PRO_TP_Tuning_data6));    // SvCfg
000060  4812              LDR      r0,|L2.172|
000062  2103              MOVS     r1,#3
000064  1d80              ADDS     r0,r0,#6
000066  f7fffffe          BL       app_tp_m_write
                  |L2.106|
;;;611    	while(!hal_i2c_m_transfer_complate());
00006a  f7fffffe          BL       hal_i2c_m_transfer_complate
00006e  2800              CMP      r0,#0
000070  d0fb              BEQ      |L2.106|
;;;612    	delayMs(1);
000072  2001              MOVS     r0,#1
000074  f7fffffe          BL       delayMs
;;;613    	app_tp_m_write(MI10_PRO_TP_Tuning_data7, sizeof(MI10_PRO_TP_Tuning_data7));    // SvCx
000078  480c              LDR      r0,|L2.172|
00007a  2103              MOVS     r1,#3
00007c  3009              ADDS     r0,r0,#9
00007e  f7fffffe          BL       app_tp_m_write
                  |L2.130|
;;;614    	while(!hal_i2c_m_transfer_complate());
000082  f7fffffe          BL       hal_i2c_m_transfer_complate
000086  2800              CMP      r0,#0
000088  d0fb              BEQ      |L2.130|
;;;615    	delayMs(1);
00008a  2001              MOVS     r0,#1
00008c  f7fffffe          BL       delayMs
;;;616    	app_tp_m_write(MI10_PRO_TP_Tuning_data8, sizeof(MI10_PRO_TP_Tuning_data8));    // SvPnl
000090  4806              LDR      r0,|L2.172|
000092  2103              MOVS     r1,#3
000094  300c              ADDS     r0,r0,#0xc
000096  f7fffffe          BL       app_tp_m_write
                  |L2.154|
;;;617    	while(!hal_i2c_m_transfer_complate());
00009a  f7fffffe          BL       hal_i2c_m_transfer_complate
00009e  2800              CMP      r0,#0
0000a0  d0fb              BEQ      |L2.154|
;;;618    	delayMs(1);
0000a2  2001              MOVS     r0,#1
0000a4  f7fffffe          BL       delayMs
;;;619    }
0000a8  bd10              POP      {r4,pc}
;;;620    
                          ENDP

0000aa  0000              DCW      0x0000
                  |L2.172|
                          DCD      ||.data||+0x17

                          AREA ||i.ap_tp_scan_point_init||, CODE, READONLY, ALIGN=2

                  ap_tp_scan_point_init PROC
;;;621    
;;;622    void ap_tp_scan_point_init(void)
000000  2000              MOVS     r0,#0
;;;623    {
;;;624    	uint8_t i=0;
;;;625    	
;;;626    	for(i=0;i<ST_TP_SCAN_POINT_NUMBER_MAX;i++)
;;;627    	tp_scan_data.tp_point_buffer[i] = 0;
000002  4a05              LDR      r2,|L3.24|
000004  4601              MOV      r1,r0                 ;624
                  |L3.6|
000006  5411              STRB     r1,[r2,r0]
000008  1c40              ADDS     r0,r0,#1
00000a  b2c0              UXTB     r0,r0                 ;626
00000c  2806              CMP      r0,#6                 ;626
00000e  d3fa              BCC      |L3.6|
;;;628    	tp_scan_data.tp_point_up_error_flag = 0;
000010  71d1              STRB     r1,[r2,#7]
;;;629    	tp_scan_data.tp_read_point_counter = 0;
000012  7191              STRB     r1,[r2,#6]
;;;630    	tp_scan_data.tp_point_error_time_counter = 0;
000014  6091              STR      r1,[r2,#8]  ; tp_scan_data
;;;631    }
000016  4770              BX       lr
;;;632    
                          ENDP

                  |L3.24|
                          DCD      ||.bss||+0x190

                          AREA ||i.ap_tp_simulate_finger_release_event||, CODE, READONLY, ALIGN=2

                  ap_tp_simulate_finger_release_event PROC
;;;633    // 模拟ST 手指释放事件给到处理函数
;;;634    void ap_tp_simulate_finger_release_event(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;635    {
;;;636    	uint8_t i,temp=0,ap_tp_release_buf[8] = {0x33,0x01,0x00,0x00,0x00,0x00,0x00,0x00};
000002  a10a              ADR      r1,|L4.44|
000004  c903              LDM      r1,{r0,r1}
;;;637    
;;;638    	for(i=0;i<5;i++)
000006  2400              MOVS     r4,#0
000008  9101              STR      r1,[sp,#4]
00000a  9000              STR      r0,[sp,#0]
                  |L4.12|
00000c  0120              LSLS     r0,r4,#4
;;;639    	{
;;;640    		temp = i;
;;;641    		ap_tp_release_buf[1] = (temp<<4)|0x01;
00000e  4669              MOV      r1,sp
000010  1c40              ADDS     r0,r0,#1
000012  7048              STRB     r0,[r1,#1]
;;;642    		
;;;643    		app_tp_screen_analysis_int(0, ap_tp_release_buf,8);
000014  2208              MOVS     r2,#8
000016  2000              MOVS     r0,#0
000018  f7fffffe          BL       app_tp_screen_analysis_int
;;;644    
;;;645    		delayMs(6);
00001c  2006              MOVS     r0,#6
00001e  f7fffffe          BL       delayMs
000022  1c64              ADDS     r4,r4,#1
000024  b2e4              UXTB     r4,r4                 ;638
000026  2c05              CMP      r4,#5                 ;638
000028  d3f0              BCC      |L4.12|
;;;646    	}
;;;647    }
00002a  bd1c              POP      {r2-r4,pc}
;;;648    
                          ENDP

                  |L4.44|
00002c  330100            DCB      "3",1,0
00002f  00                DCB      0
000030  00                DCB      0
000031  00                DCB      0
000032  00                DCB      0
000033  00                DCB      0

                          AREA ||i.ap_tp_system_softReset||, CODE, READONLY, ALIGN=2

                  ap_tp_system_softReset PROC
;;;649    // ST 触摸芯片软件复位指令
;;;650    void ap_tp_system_softReset(void)
000000  b510              PUSH     {r4,lr}
;;;651    {
;;;652    	
;;;653    	TAU_LOGD("ap_tp_system_softReset \n");
000002  4a10              LDR      r2,|L5.68|
000004  a110              ADR      r1,|L5.72|
000006  a012              ADR      r0,|L5.80|
000008  f7fffffe          BL       LOG_printf
;;;654    	ap_tp_simulate_finger_release_event();
00000c  f7fffffe          BL       ap_tp_simulate_finger_release_event
;;;655    	ap_tp_scan_point_init();
000010  f7fffffe          BL       ap_tp_scan_point_init
;;;656    	
;;;657    	//app_tp_m_write(MI10_PRO_TP_Tuning_data1, sizeof(MI10_PRO_TP_Tuning_data1));    // System Reset  A4 00 00
;;;658    //	while(!hal_i2c_m_transfer_complate());
;;;659    //	delayMs(10);
;;;660    
;;;661    	app_tp_m_write(MI10_PRO_TP_Tuning_data9, sizeof(MI10_PRO_TP_Tuning_data9));//0xA4,0x00,0x01
000014  2103              MOVS     r1,#3
000016  4818              LDR      r0,|L5.120|
000018  f7fffffe          BL       app_tp_m_write
                  |L5.28|
;;;662    	while(!hal_i2c_m_transfer_complate());
00001c  f7fffffe          BL       hal_i2c_m_transfer_complate
000020  2800              CMP      r0,#0
000022  d0fb              BEQ      |L5.28|
;;;663    	delayMs(10);	
000024  200a              MOVS     r0,#0xa
000026  f7fffffe          BL       delayMs
;;;664    	
;;;665    	app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01
00002a  4813              LDR      r0,|L5.120|
00002c  2103              MOVS     r1,#3
00002e  381b              SUBS     r0,r0,#0x1b
000030  f7fffffe          BL       app_tp_m_write
                  |L5.52|
;;;666    	while(!hal_i2c_m_transfer_complate());
000034  f7fffffe          BL       hal_i2c_m_transfer_complate
000038  2800              CMP      r0,#0
00003a  d0fb              BEQ      |L5.52|
;;;667    	delayMs(10);
00003c  200a              MOVS     r0,#0xa
00003e  f7fffffe          BL       delayMs
;;;668    	
;;;669    //	app_tp_screen_reset();
;;;670    }
000042  bd10              POP      {r4,pc}
;;;671    
                          ENDP

                  |L5.68|
                          DCD      0x0000028d
                  |L5.72|
000048  7461755f          DCB      "tau_log",0
00004c  6c6f6700
                  |L5.80|
000050  5b25735d          DCB      "[%s] (%04d) ap_tp_system_softReset \n",0
000054  20282530
000058  34642920
00005c  61705f74
000060  705f7379
000064  7374656d
000068  5f736f66
00006c  74526573
000070  6574200a
000074  00      
000075  00                DCB      0
000076  00                DCB      0
000077  00                DCB      0
                  |L5.120|
                          DCD      ||.data||+0x26

                          AREA ||i.app_tp_I2C_init||, CODE, READONLY, ALIGN=2

                  app_tp_I2C_init PROC
;;;177    
;;;178    void app_tp_I2C_init(void)
000000  b510              PUSH     {r4,lr}
;;;179    {
;;;180        hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS);
000002  2107              MOVS     r1,#7
000004  2048              MOVS     r0,#0x48
000006  f7fffffe          BL       hal_i2c_s_init
;;;181        hal_i2c_s_set_transfer(app_tp_i2cs_callback);
00000a  4804              LDR      r0,|L6.28|
00000c  f7fffffe          BL       hal_i2c_s_set_transfer
;;;182        hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //先配置接收 buffer
000010  21c8              MOVS     r1,#0xc8
000012  4803              LDR      r0,|L6.32|
000014  f7fffffe          BL       hal_i2c_s_nonblocking_read
;;;183    }
000018  bd10              POP      {r4,pc}
;;;184    
                          ENDP

00001a  0000              DCW      0x0000
                  |L6.28|
                          DCD      app_tp_i2cs_callback
                  |L6.32|
                          DCD      ||.bss||+0xc8

                          AREA ||i.app_tp_i2cs_callback||, CODE, READONLY, ALIGN=2

                  app_tp_i2cs_callback PROC
;;;371    //recieve_num为接收到的指令个数
;;;372    static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num)
000000  b51c              PUSH     {r2-r4,lr}
000002  2000              MOVS     r0,#0
000004  9001              STR      r0,[sp,#4]
000006  2900              CMP      r1,#0
;;;373    {
000008  d004              BEQ      |L7.20|
00000a  ab01              ADD      r3,sp,#4
00000c  466a              MOV      r2,sp
00000e  4807              LDR      r0,|L7.44|
000010  f7fffffe          BL       app_tp_phone_analysis_data
                  |L7.20|
000014  21c8              MOVS     r1,#0xc8
000016  4805              LDR      r0,|L7.44|
000018  f7fffffe          BL       app_tp_s_read
00001c  9901              LDR      r1,[sp,#4]
00001e  2900              CMP      r1,#0
000020  d002              BEQ      |L7.40|
000022  9800              LDR      r0,[sp,#0]
000024  f7fffffe          BL       app_tp_s_write
                  |L7.40|
;;;374    #if 0 // 1: test
;;;375    	if (int_status >2)
;;;376    	{
;;;377    		s_phone_read_buffer[2]=int_status;
;;;378    		s_phone_read_buffer[3]=recieve_num;
;;;379    		app_tp_m_write(s_phone_read_buffer, 4);
;;;380    	}
;;;381    #endif
;;;382        app_tp_transfer_phone(recieve_num);
;;;383    }
000028  bd1c              POP      {r2-r4,pc}
;;;384    #endif
                          ENDP

00002a  0000              DCW      0x0000
                  |L7.44|
                          DCD      ||.bss||+0xc8

                          AREA ||i.app_tp_init||, CODE, READONLY, ALIGN=2

                  app_tp_init PROC
;;;194    **************************************************************************/
;;;195    void app_tp_init(void)
000000  b510              PUSH     {r4,lr}
;;;196    {
;;;197    #ifdef DISABLE_TDDI_I2C_FUNCTION
;;;198        hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH);    //配置phone报点输出中断IO口
;;;199        hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);	 //配置模组TP RESET
;;;200        
;;;201    	hal_gpio_set_mode(IO_PAD_TD_SPIM_CLK,IO_MODE_I2C1_SCL);
;;;202    	hal_gpio_set_mode(IO_PAD_TD_SPIM_CSN,IO_MODE_I2C1_SDA);
;;;203    
;;;204    	return;
;;;205    #else	
;;;206    	hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CLK, ENABLE, DISABLE);
000002  2200              MOVS     r2,#0
000004  2101              MOVS     r1,#1
000006  2018              MOVS     r0,#0x18
000008  f7fffffe          BL       hal_gpio_set_pull_state
;;;207    	hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CSN, ENABLE, DISABLE);	
00000c  2200              MOVS     r2,#0
00000e  2101              MOVS     r1,#1
000010  2019              MOVS     r0,#0x19
000012  f7fffffe          BL       hal_gpio_set_pull_state
;;;208    #endif
;;;209    
;;;210        app_tp_screen_init();                                        //初始化手机复位的IO口
000016  f7fffffe          BL       app_tp_screen_init
;;;211    //app_tp_screen_int_init();                                         //配置screen中断输入引脚
;;;212    #ifdef G_PHONE_INT_DEFAULT_LOW
;;;213    	hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_LOW);	  //配置phone报点输出中断IO口
00001a  4807              LDR      r0,|L8.56|
00001c  2100              MOVS     r1,#0
00001e  7800              LDRB     r0,[r0,#0]  ; g_phone_output_int_pad
000020  f7fffffe          BL       hal_gpio_init_output
;;;214    #else
;;;215        hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH);    //配置phone报点输出中断IO口
;;;216    #endif 
;;;217        hal_gpio_init_input(g_screen_input_int_pad);
000024  4805              LDR      r0,|L8.60|
000026  7800              LDRB     r0,[r0,#0]  ; g_screen_input_int_pad
000028  f7fffffe          BL       hal_gpio_init_input
;;;218    //    hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);	 //配置模组TP RESET
;;;219    
;;;220    #if SCREEN_MASTER_TRANSFER_I2C
;;;221        hal_i2c_m_dma_init(SCREEN_I2C_ADDRESS, SCREEN_I2C_ADDR_BITS, I2C_MASTER_SPEED);
00002c  4a04              LDR      r2,|L8.64|
00002e  2107              MOVS     r1,#7
000030  2049              MOVS     r0,#0x49
000032  f7fffffe          BL       hal_i2c_m_dma_init
;;;222    #elif SCREEN_MASTER_TRANSFER_SPI
;;;223        hal_spi_m_dma_init(SPI_MASTER_SPEED, SCREEN_SPI_CPHA, SCREEN_SPI_CPOL);
;;;224    #endif
;;;225    
;;;226    #if PHONE_SLAVE_TRANSFER_I2C
;;;227    //    hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS);
;;;228    //    hal_i2c_s_set_transfer(app_tp_i2cs_callback);
;;;229    //    hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //先配置接收 buffer
;;;230    #elif PHONE_SLAVE_TRANSFER_SPI
;;;231        hal_spi_slave_init(PHONE_SPI_CPHA, PHONE_SPI_CPOL, true);                                   // 初始化spi以及dma
;;;232        hal_spi_slave_register_callback(app_tp_spis_callback);            // 注册回调
;;;233        hal_spi_slave_auto_transfer_abort();                              // 停止传输
;;;234        hal_spi_slave_flush_fifo();                                       // Flush FIFO
;;;235    
;;;236        /* 每个packet自动接收, circle       mode 为false, 即收到buffer     max size数据后buffer不再更新, packet完成后调用回调    */
;;;237        hal_spi_slave_set_auto_rx_buffer(s_phone_read_buffer, BUFFER_SIZE_MAX, false); // 设置auto   rx buffer
;;;238        hal_spi_slave_set_auto_tx_buffer(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size, false);   // 配置TX BUFFER
;;;239    
;;;240        hal_spi_slave_enable();                                           // 启动spis
;;;241        hal_spi_slave_auto_transfer_start();                              // 启动rx自动接收
;;;242    #endif
;;;243    }
000036  bd10              POP      {r4,pc}
;;;244    
                          ENDP

                  |L8.56|
                          DCD      g_phone_output_int_pad
                  |L8.60|
                          DCD      g_screen_input_int_pad
                  |L8.64|
                          DCD      0x00061a80

                          AREA ||i.app_tp_m_read||, CODE, READONLY, ALIGN=1

                  app_tp_m_read PROC
;;;309    **************************************************************************/
;;;310    static void app_tp_m_read(const uint8_t *cmd, size_t cmd_size, uint8_t *data_buffer, size_t data_size)
000000  b5f8              PUSH     {r3-r7,lr}
;;;311    {
000002  4605              MOV      r5,r0
;;;312    #if SCREEN_MASTER_TRANSFER_I2C
;;;313        uint8_t i = 0;
000004  2400              MOVS     r4,#0
;;;314        uint32_t address = 0;
000006  4620              MOV      r0,r4
000008  e005              B        |L9.22|
                  |L9.10|
;;;315    
;;;316        for (i = 0; i < cmd_size; i++)                          //先将要发送的数据整合到 address
;;;317        {
;;;318            address |= (uint32_t)cmd[i] << i * 8;
00000a  5d2e              LDRB     r6,[r5,r4]
00000c  00e7              LSLS     r7,r4,#3
00000e  40be              LSLS     r6,r6,r7
000010  4330              ORRS     r0,r0,r6
000012  1c64              ADDS     r4,r4,#1
000014  b2e4              UXTB     r4,r4                 ;316
                  |L9.22|
000016  428c              CMP      r4,r1                 ;316
000018  d3f7              BCC      |L9.10|
;;;319        }
;;;320        hal_i2c_m_dma_read(address, cmd_size, data_buffer, data_size);
00001a  f7fffffe          BL       hal_i2c_m_dma_read
;;;321    #elif SCREEN_MASTER_TRANSFER_SPI
;;;322        hal_spi_m_dma_read(cmd, cmd_size, data_buffer, data_size);
;;;323    #endif
;;;324    }
00001e  bdf8              POP      {r3-r7,pc}
;;;325    
                          ENDP


                          AREA ||i.app_tp_m_transfer_complate||, CODE, READONLY, ALIGN=1

                  app_tp_m_transfer_complate PROC
;;;252    **************************************************************************/
;;;253    bool app_tp_m_transfer_complate(void)
000000  b510              PUSH     {r4,lr}
;;;254    {
;;;255    #if SCREEN_MASTER_TRANSFER_I2C
;;;256        return hal_i2c_m_transfer_complate();
000002  f7fffffe          BL       hal_i2c_m_transfer_complate
;;;257    #elif SCREEN_MASTER_TRANSFER_SPI
;;;258        return hal_spi_m_get_transfer_complate();
;;;259    #else
;;;260        return true;
;;;261    #endif
;;;262    }
000006  bd10              POP      {r4,pc}
;;;263    
                          ENDP


                          AREA ||i.app_tp_m_write||, CODE, READONLY, ALIGN=1

                  app_tp_m_write PROC
;;;289    **************************************************************************/
;;;290    static void app_tp_m_write(const uint8_t *txbuffer, size_t buffer_size)
000000  b510              PUSH     {r4,lr}
;;;291    {
;;;292    #if SCREEN_MASTER_TRANSFER_I2C
;;;293        hal_i2c_m_dma_write(txbuffer, buffer_size);
000002  f7fffffe          BL       hal_i2c_m_dma_write
;;;294    #elif SCREEN_MASTER_TRANSFER_SPI
;;;295        hal_spi_m_dma_write(txbuffer, buffer_size);
;;;296        s_spim_write = true;
;;;297    #endif
;;;298    }
000006  bd10              POP      {r4,pc}
;;;299    
                          ENDP


                          AREA ||i.app_tp_phone_clear_reset_on||, CODE, READONLY, ALIGN=2

                  app_tp_phone_clear_reset_on PROC
;;;911    **************************************************************************/
;;;912    void app_tp_phone_clear_reset_on(void)
000000  4901              LDR      r1,|L12.8|
;;;913    {
;;;914        s_phone_reset_flag = false;
000002  2000              MOVS     r0,#0
000004  7088              STRB     r0,[r1,#2]
;;;915    }
000006  4770              BX       lr
;;;916    
                          ENDP

                  |L12.8|
                          DCD      ||.data||

                          AREA ||i.app_tp_phone_reset_on||, CODE, READONLY, ALIGN=2

                  app_tp_phone_reset_on PROC
;;;899    **************************************************************************/
;;;900    bool app_tp_phone_reset_on(void)
000000  4801              LDR      r0,|L13.8|
;;;901    {
;;;902        return s_phone_reset_flag;
000002  7880              LDRB     r0,[r0,#2]  ; s_phone_reset_flag
;;;903    }
000004  4770              BX       lr
;;;904    
                          ENDP

000006  0000              DCW      0x0000
                  |L13.8|
                          DCD      ||.data||

                          AREA ||i.app_tp_s_read||, CODE, READONLY, ALIGN=1

                  app_tp_s_read PROC
;;;354    **************************************************************************/
;;;355    void app_tp_s_read(void *rxBuffer, size_t data_size)
000000  b510              PUSH     {r4,lr}
;;;356    {
;;;357    #if PHONE_SLAVE_TRANSFER_I2C
;;;358        hal_i2c_s_nonblocking_read(rxBuffer, data_size);
000002  f7fffffe          BL       hal_i2c_s_nonblocking_read
;;;359    #endif
;;;360    }
000006  bd10              POP      {r4,pc}
;;;361    
                          ENDP


                          AREA ||i.app_tp_s_transfer_complate||, CODE, READONLY, ALIGN=1

                  app_tp_s_transfer_complate PROC
;;;270    **************************************************************************/
;;;271    bool app_tp_s_transfer_complate(void)
000000  b510              PUSH     {r4,lr}
;;;272    {
;;;273    #if SCREEN_MASTER_TRANSFER_I2C
;;;274        return hal_i2c_s_write_complate() && hal_i2c_s_read_complate();
000002  f7fffffe          BL       hal_i2c_s_write_complate
000006  2800              CMP      r0,#0
000008  d005              BEQ      |L15.22|
00000a  f7fffffe          BL       hal_i2c_s_read_complate
00000e  2800              CMP      r0,#0
000010  d001              BEQ      |L15.22|
000012  2001              MOVS     r0,#1
;;;275    #elif SCREEN_MASTER_TRANSFER_SPI
;;;276        return !hal_spi_slave_busy();
;;;277    #else
;;;278        return true;
;;;279    #endif
;;;280    }
000014  bd10              POP      {r4,pc}
                  |L15.22|
000016  2000              MOVS     r0,#0                 ;274
000018  bd10              POP      {r4,pc}
;;;281    
                          ENDP


                          AREA ||i.app_tp_s_write||, CODE, READONLY, ALIGN=1

                  app_tp_s_write PROC
;;;333    **************************************************************************/
;;;334    void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size)
000000  b510              PUSH     {r4,lr}
;;;335    {
;;;336    #if PHONE_SLAVE_TRANSFER_I2C
;;;337        hal_i2c_s_dma_write(txbuffer, buffer_size);
000002  f7fffffe          BL       hal_i2c_s_dma_write
;;;338    #elif PHONE_SLAVE_TRANSFER_SPI
;;;339        //while (hal_spi_slave_busy());
;;;340        hal_spi_slave_auto_transfer_abort();
;;;341        hal_spi_slave_flush_fifo();
;;;342        hal_spi_slave_set_auto_tx_buffer(txbuffer, buffer_size, true);
;;;343        hal_spi_slave_auto_transfer_start();
;;;344    #endif
;;;345    }
000006  bd10              POP      {r4,pc}
;;;346    
                          ENDP


                          AREA ||i.app_tp_screen_init||, CODE, READONLY, ALIGN=2

                  app_tp_screen_init PROC
;;;168    **************************************************************************/
;;;169    void app_tp_screen_init(void)
000000  b510              PUSH     {r4,lr}
;;;170    {
;;;171        hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);
000002  4c0a              LDR      r4,|L17.44|
000004  2101              MOVS     r1,#1
000006  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
000008  f7fffffe          BL       hal_gpio_init_output
;;;172        delayUs(200);
00000c  20c8              MOVS     r0,#0xc8
00000e  f7fffffe          BL       delayUs
;;;173        hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW);
000012  2100              MOVS     r1,#0
000014  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
000016  f7fffffe          BL       hal_gpio_set_output_data
;;;174        delayUs(200);
00001a  20c8              MOVS     r0,#0xc8
00001c  f7fffffe          BL       delayUs
;;;175        hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
000020  2101              MOVS     r1,#1
000022  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
000024  f7fffffe          BL       hal_gpio_set_output_data
;;;176    }
000028  bd10              POP      {r4,pc}
;;;177    
                          ENDP

00002a  0000              DCW      0x0000
                  |L17.44|
                          DCD      g_screen_input_rst_pad

                          AREA ||i.app_tp_screen_int_callback||, CODE, READONLY, ALIGN=2

                  app_tp_screen_int_callback PROC
;;;86     **************************************************************************/
;;;87     static void app_tp_screen_int_callback(void *data)
000000  4901              LDR      r1,|L18.8|
;;;88     {
;;;89         s_screen_int_flag = true;
000002  2001              MOVS     r0,#1
000004  7048              STRB     r0,[r1,#1]
;;;90     }
000006  4770              BX       lr
;;;91     
                          ENDP

                  |L18.8|
                          DCD      ||.data||

                          AREA ||i.app_tp_screen_reset||, CODE, READONLY, ALIGN=2

                  app_tp_screen_reset PROC
;;;698    **************************************************************************/
;;;699    void app_tp_screen_reset(void)
000000  b510              PUSH     {r4,lr}
;;;700    {
;;;701    	// g_clk_cnt++;
;;;702    	//  TAU_LOGD("tp_screen_reset  g_clk_cnt :%d\n", g_clk_cnt);
;;;703     //   hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);
;;;704    		ap_tp_simulate_finger_release_event();
000002  f7fffffe          BL       ap_tp_simulate_finger_release_event
;;;705    	  ap_tp_scan_point_init();
000006  f7fffffe          BL       ap_tp_scan_point_init
;;;706    	  hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
00000a  4c23              LDR      r4,|L19.152|
00000c  2101              MOVS     r1,#1
00000e  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
000010  f7fffffe          BL       hal_gpio_set_output_data
;;;707        delayMs(5);
000014  2005              MOVS     r0,#5
000016  f7fffffe          BL       delayMs
;;;708        hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW);
00001a  2100              MOVS     r1,#0
00001c  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
00001e  f7fffffe          BL       hal_gpio_set_output_data
;;;709        delayMs(10);
000022  200a              MOVS     r0,#0xa
000024  f7fffffe          BL       delayMs
;;;710        hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
000028  2101              MOVS     r1,#1
00002a  7820              LDRB     r0,[r4,#0]  ; g_screen_input_rst_pad
00002c  f7fffffe          BL       hal_gpio_set_output_data
;;;711    		delayMs(5);
000030  2005              MOVS     r0,#5
000032  f7fffffe          BL       delayMs
;;;712    #if 1
;;;713    		app_tp_m_write(MI10_PRO_screen_init_data11, sizeof(MI10_PRO_screen_init_data11));//0xA4,0x00,0x05  //clk reset
000036  2103              MOVS     r1,#3
000038  4818              LDR      r0,|L19.156|
00003a  f7fffffe          BL       app_tp_m_write
                  |L19.62|
;;;714    		while(!hal_i2c_m_transfer_complate());
00003e  f7fffffe          BL       hal_i2c_m_transfer_complate
000042  2800              CMP      r0,#0
000044  d0fb              BEQ      |L19.62|
;;;715    		delayMs(10);
000046  200a              MOVS     r0,#0xa
000048  f7fffffe          BL       delayMs
;;;716    #endif
;;;717    		app_tp_m_write(MI10_PRO_TP_Tuning_data9, sizeof(MI10_PRO_TP_Tuning_data9));//0xA4,0x00,0x01}   system reset
00004c  4813              LDR      r0,|L19.156|
00004e  2103              MOVS     r1,#3
000050  3012              ADDS     r0,r0,#0x12
000052  f7fffffe          BL       app_tp_m_write
                  |L19.86|
;;;718    		while(!hal_i2c_m_transfer_complate());
000056  f7fffffe          BL       hal_i2c_m_transfer_complate
00005a  2800              CMP      r0,#0
00005c  d0fb              BEQ      |L19.86|
;;;719    		delayMs(5);		
00005e  2005              MOVS     r0,#5
000060  f7fffffe          BL       delayMs
;;;720    		app_tp_m_write(MI10_PRO_screen_init_data0, sizeof(MI10_PRO_screen_init_data0));//0xA0,0x00,0x00   clear fifo
000064  480d              LDR      r0,|L19.156|
000066  2103              MOVS     r1,#3
000068  380c              SUBS     r0,r0,#0xc
00006a  f7fffffe          BL       app_tp_m_write
                  |L19.110|
;;;721    		while(!hal_i2c_m_transfer_complate());
00006e  f7fffffe          BL       hal_i2c_m_transfer_complate
000072  2800              CMP      r0,#0
000074  d0fb              BEQ      |L19.110|
;;;722    		delayMs(5);
000076  2005              MOVS     r0,#5
000078  f7fffffe          BL       delayMs
;;;723    	  app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01   sensor on
00007c  4807              LDR      r0,|L19.156|
00007e  2103              MOVS     r1,#3
000080  3809              SUBS     r0,r0,#9
000082  f7fffffe          BL       app_tp_m_write
                  |L19.134|
;;;724    		while(!hal_i2c_m_transfer_complate());
000086  f7fffffe          BL       hal_i2c_m_transfer_complate
00008a  2800              CMP      r0,#0
00008c  d0fb              BEQ      |L19.134|
;;;725    		delayMs(5);
00008e  2005              MOVS     r0,#5
000090  f7fffffe          BL       delayMs
;;;726    
;;;727    	//	app_tp_m_write(MI10_PRO_screen_init_data3, sizeof(MI10_PRO_screen_init_data3));//0xA2,0x02,0x00
;;;728    	//	while(!hal_i2c_m_transfer_complate());
;;;729    	//	delayMs(1);	
;;;730    //		app_tp_m_write(MI10_PRO_screen_init_data4, sizeof(MI10_PRO_screen_init_data4));//0xC0,0x07,0x01
;;;731    //		while(!hal_i2c_m_transfer_complate());
;;;732    //		delayMs(1);		
;;;733    	//	app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
;;;734    	//	while(!hal_i2c_m_transfer_complate());
;;;735    	
;;;736    	
;;;737    }
000094  bd10              POP      {r4,pc}
;;;738    
                          ENDP

000096  0000              DCW      0x0000
                  |L19.152|
                          DCD      g_screen_input_rst_pad
                  |L19.156|
                          DCD      ||.data||+0x14

                          AREA ||i.app_tp_transfer_screen_const||, CODE, READONLY, ALIGN=2

                  app_tp_transfer_screen_const PROC
;;;484    **************************************************************************/
;;;485    static void app_tp_transfer_screen_const(void)
000000  b510              PUSH     {r4,lr}
000002  f7fffffe          BL       hal_i2c_m_transfer_complate
;;;486    {
;;;487    //    static bool    screen_const_transfer_buffer_ready = true;            //发送 buffer 是否已准备好
;;;488    	uint8_t ii;
;;;489    //	uint8_t len=0;
;;;490        /**** 1. 判断当前状态通信已结束, 状态通信已结束，并且开机初始化流程还未走完****/
;;;491    #if 0 // test
;;;492    	uint8_t test_master_read_buffer[10] = {0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
;;;493    	uint8_t write_buffer[10] = {0x04, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
;;;494    
;;;495    //	for (ii =0x20; ii<0x7F; ii++)
;;;496    	{
;;;497    		//hal_i2c_m_dma_init(ii, SCREEN_I2C_ADDR_BITS);
;;;498    		//delayMs(100);
;;;499    		if (hal_i2c_m_dma_write(write_buffer, 1))
;;;500    		{
;;;501    			//break;
;;;502    		}
;;;503    		while(!hal_i2c_m_transfer_complate());
;;;504    		hal_i2c_m_dma_read(test_master_read_buffer, 1, test_master_read_buffer, 2);
;;;505    	}
;;;506    #endif
;;;507    
;;;508    
;;;509        if (app_tp_m_transfer_complate() && (s_screen_const_transfer_count < screen_reg_start_data_size))
000006  2800              CMP      r0,#0
000008  d012              BEQ      |L20.48|
00000a  4c0a              LDR      r4,|L20.52|
00000c  490a              LDR      r1,|L20.56|
00000e  7960              LDRB     r0,[r4,#5]  ; s_screen_const_transfer_count
000010  7809              LDRB     r1,[r1,#0]  ; screen_reg_start_data_size
000012  4288              CMP      r0,r1
000014  d20c              BCS      |L20.48|
;;;510        {
;;;511            if (s_spim_write)                                                //SPI 写数据后需要把接收FIFO的数据读出，不然会影响下一次读取
000016  7820              LDRB     r0,[r4,#0]  ; s_spim_write
000018  2800              CMP      r0,#0
00001a  d003              BEQ      |L20.36|
;;;512            {
;;;513                hal_spi_m_clear_rxfifo();
00001c  f7fffffe          BL       hal_spi_m_clear_rxfifo
;;;514                s_spim_write = false;
000020  2000              MOVS     r0,#0
000022  7020              STRB     r0,[r4,#0]
                  |L20.36|
;;;515            }
;;;516    
;;;517    	#if 1
;;;518    		
;;;519    //		#ifndef USE_FOR_SUMSUNG_S20
;;;520    //		for (ii =0; ii<screen_reg_start_data_size; ii++)
;;;521    //		{
;;;522    //            if (!screen_reg_start_data[ii].read_flag)     //当前通信不需要读回，直接写
;;;523    //            {
;;;524    //                app_tp_m_write(screen_reg_start_data[ii].buffer, screen_reg_start_data[ii].txbuffer_size);
;;;525    //            }
;;;526    //            else                                             //当前通信需要读回，先写再读
;;;527    //            {
;;;528    //                app_tp_m_read(screen_reg_start_data[ii].buffer, screen_reg_start_data[ii].txbuffer_size, \
;;;529    //                              s_screen_read_bak, screen_reg_start_data[ii].rxbuffer_size);
;;;530    //            }
;;;531    //			while(!hal_i2c_m_transfer_complate());
;;;532    //		}
;;;533    //		#endif
;;;534    		#ifdef USE_FOR_SUMSUNG_S21
;;;535    		
;;;536    	#if 1	
;;;537    	
;;;538    		if(phone_start_flag==1)
000024  4805              LDR      r0,|L20.60|
000026  7800              LDRB     r0,[r0,#0]  ; phone_start_flag
000028  2801              CMP      r0,#1
00002a  d101              BNE      |L20.48|
;;;539    		{
;;;540    			S20_Start_init();
00002c  f7fffffe          BL       S20_Start_init
                  |L20.48|
;;;541    		}
;;;542    	#endif					
;;;543    	
;;;544    	#if 0//
;;;545    		delayMs(100);
;;;546    		app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_number, screen_reg_int_data[0].rxbuffer_size);
;;;547    		while(!hal_i2c_m_transfer_complate());
;;;548    	#endif
;;;549    	#ifdef USE_FOR_SUMSUNG_S20
;;;550    		s_screen_init_complate = true;
;;;551    	#endif
;;;552    		
;;;553    	#else
;;;554            /**** 2. 发送或读取从机数据 ****/
;;;555            if (screen_const_transfer_buffer_ready)
;;;556            {
;;;557                screen_const_transfer_buffer_ready = false;
;;;558                if (!screen_reg_start_data[s_screen_const_transfer_count].read_flag)     //当前通信不需要读回，直接写
;;;559                {
;;;560                    app_tp_m_write(screen_reg_start_data[s_screen_const_transfer_count].buffer, screen_reg_start_data[s_screen_const_transfer_count].txbuffer_size);
;;;561                }
;;;562                else                                                             //当前通信需要读回，先写再读
;;;563                {
;;;564                    app_tp_m_read(screen_reg_start_data[s_screen_const_transfer_count].buffer, screen_reg_start_data[s_screen_const_transfer_count].txbuffer_size, \
;;;565                                  s_screen_number, screen_reg_start_data[s_screen_const_transfer_count].rxbuffer_size);
;;;566                }
;;;567    			s_screen_init_complate = true;
;;;568            }
;;;569            /**** 3. 解析本次通信数据，并准备下一次通信的buffer ****/
;;;570            else
;;;571            {
;;;572                screen_const_transfer_buffer_ready = true;
;;;573                s_screen_const_transfer_count = app_tp_screen_analysis_const(s_screen_const_transfer_count, s_screen_number, \
;;;574                                                screen_reg_start_data[s_screen_const_transfer_count].rxbuffer_size);
;;;575    
;;;576                if (s_screen_const_transfer_count >= screen_reg_start_data_size)
;;;577                {
;;;578                    s_screen_init_complate = true;
;;;579                }
;;;580            }
;;;581    	#endif	
;;;582        }
;;;583    }
000030  bd10              POP      {r4,pc}
;;;584    
                          ENDP

000032  0000              DCW      0x0000
                  |L20.52|
                          DCD      ||.data||
                  |L20.56|
                          DCD      screen_reg_start_data_size
                  |L20.60|
                          DCD      phone_start_flag

                          AREA ||i.app_tp_transfer_screen_int||, CODE, READONLY, ALIGN=2

                  app_tp_transfer_screen_int PROC
;;;747    **************************************************************************/
;;;748    void app_tp_transfer_screen_int(void)
000000  b5f8              PUSH     {r3-r7,lr}
;;;749    {
;;;750    	uint8_t len=0;
;;;751    	uint8_t temp_len=0;
;;;752    	bool screen_gpio_int = false;
;;;753    	static uint8_t screen_int_transfer_count = 0;            //记录当前通信到哪一步
;;;754    	static bool    screen_int_transfer_buffer_ready = true;  //发送 buffer 是否已准备好
;;;755    	//    static uint8_t test_flag = 0;
;;;756    	//	  s_screen_init_complate=false;//为了在线烧录，特意将码片设置为不下发数据，而是FT8719与敦泰的工具通讯
;;;757        if (!s_screen_init_complate)                             //TP 初始化还未完成，则先进行初始化操作
000002  4d4c              LDR      r5,|L21.308|
000004  7928              LDRB     r0,[r5,#4]  ; s_screen_init_complate
000006  2800              CMP      r0,#0
000008  d005              BEQ      |L21.22|
;;;758        {
;;;759    
;;;760            app_tp_transfer_screen_const();
;;;761    			
;;;762            return;
;;;763        }
;;;764    
;;;765    
;;;766        /**** 1. 判断 screen 是否发出中断信号 ****/
;;;767        // s_screen_int_flag:           中断信号标志位
;;;768        // app_tp_screen_int_lvl_low :  SPI 长时间通信时，偶尔会出现cs拉高导致通信异常卡死，该标志位用于解决卡死的问题
;;;769        screen_gpio_int = s_screen_int_flag || app_tp_screen_int_lvl_low();
00000a  7868              LDRB     r0,[r5,#1]  ; s_screen_int_flag
00000c  2600              MOVS     r6,#0
00000e  4f4a              LDR      r7,|L21.312|
000010  2800              CMP      r0,#0
000012  d108              BNE      |L21.38|
000014  e002              B        |L21.28|
                  |L21.22|
000016  f7fffffe          BL       app_tp_transfer_screen_const
                  |L21.26|
;;;770        if (screen_gpio_int)
;;;771        {
;;;772          s_screen_int_flag = false;
;;;773    		
;;;774    		app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 5*8);
;;;775    		while(!hal_i2c_m_transfer_complate());
;;;776    	/*	if(s_screen_read_buffer[7]>0)
;;;777    		{
;;;778    		  len=s_screen_read_buffer[7]*8;
;;;779    		  app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[8], len);
;;;780    		  while(!hal_i2c_m_transfer_complate());
;;;781    //			temp_len=len+7;
;;;782    		}
;;;783    	*/
;;;784    #if 0
;;;785    //		if(s_screen_read_buffer[temp_len]>0)
;;;786    //		{
;;;787    //		  len=s_screen_read_buffer[7]*8;
;;;788    	//	  app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[temp_len+1], len);
;;;789    	//	  while(!hal_i2c_m_transfer_complate());		
;;;790    	//	}			
;;;791    	//	delayUs(100);
;;;792    #endif
;;;793    		delayMs(2);
;;;794    				// TP 异常事件
;;;795    		if(s_screen_read_buffer[0] == 0xF3)  // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00 
;;;796    		{
;;;797    //			g_clk_cnt++;
;;;798    
;;;799    			 			app_tp_screen_reset();		
;;;800    
;;;801    
;;;802    //			app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));
;;;803    //			while(!hal_i2c_m_transfer_complate());
;;;804      //   S20_Start_init();
;;;805    		 //   ap_tp_system_softReset();			
;;;806    		  	delayMs(5);    //5
;;;807    	
;;;808    			TAU_LOGD("TP system reset 0\n");
;;;809    			return;
;;;810    		}
;;;811    		else if(s_screen_read_buffer[1] == 0xFF && s_screen_read_buffer[2] == 0xFF&& s_screen_read_buffer[3] == 0xFF&&s_screen_read_buffer[4] == 0xFF)
;;;812    		{
;;;813    		 app_tp_screen_reset();	
;;;814    	//		ap_tp_system_softReset();			
;;;815    			delayMs(10);
;;;816    		//	ap_tp_system_softReset();
;;;817    			TAU_LOGD("TP system reset ff 0\n");
;;;818    			return;
;;;819    		}
;;;820    		
;;;821    		while(!hal_gpio_get_input_data(g_screen_input_int_pad))
;;;822    		{
;;;823    		app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
;;;824    		while(!hal_i2c_m_transfer_complate());		
;;;825    		delayUs(100);
;;;826    		if(s_screen_read_buffer[7]>0)
;;;827    		{
;;;828    		 len=s_screen_read_buffer[7]*8;
;;;829    		  app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[8], len);
;;;830    		  while(!hal_i2c_m_transfer_complate());
;;;831        delayUs(100);			
;;;832    		}		
;;;833    
;;;834    			if(s_screen_read_buffer[0] == 0xF3 )  // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00 
;;;835    			{
;;;836    			//	ap_tp_system_softReset();
;;;837    			app_tp_screen_reset();
;;;838    			 	delayMs(10);
;;;839    				TAU_LOGD("TP system reset 1\n");
;;;840    				return;
;;;841    			}		
;;;842    		}
;;;843    
;;;844    			// TP 异常事件
;;;845    			if(s_screen_read_buffer[0] == 0xF3 && s_screen_read_buffer[1] == 0x02 && s_screen_read_buffer[2] == 0x00)  // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00 
;;;846    			{
;;;847    			//	ap_tp_system_softReset();
;;;848    				app_tp_screen_reset();
;;;849    				TAU_LOGD("TP system reset 2\n");
;;;850    				return;
;;;851    			}
;;;852    			else
;;;853    			{	
;;;854    	//			printf("%2x,%2d,%2d\n",s_screen_read_buffer[0],screen_reg_int_data[2].rxbuffer_size,screen_int_transfer_count);
;;;855    			}		
;;;856    			screen_int_transfer_buffer_ready = true;
;;;857    			screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer,screen_reg_int_data[2].rxbuffer_size);
;;;858    			screen_int_transfer_count = 0;
;;;859    			s_screen_int_transfer_status = false;
;;;860        }
;;;861    }
00001a  bdf8              POP      {r3-r7,pc}
                  |L21.28|
00001c  7838              LDRB     r0,[r7,#0]  ; g_screen_input_int_pad
00001e  f7fffffe          BL       hal_gpio_get_input_data
000022  2800              CMP      r0,#0
000024  d1f9              BNE      |L21.26|
                  |L21.38|
000026  4c45              LDR      r4,|L21.316|
000028  706e              STRB     r6,[r5,#1]            ;772
00002a  2328              MOVS     r3,#0x28              ;774
00002c  4a44              LDR      r2,|L21.320|
00002e  2101              MOVS     r1,#1                 ;774
000030  6820              LDR      r0,[r4,#0]            ;774  ; screen_reg_int_data
000032  f7fffffe          BL       app_tp_m_read
                  |L21.54|
000036  f7fffffe          BL       hal_i2c_m_transfer_complate
00003a  2800              CMP      r0,#0                 ;775
00003c  d0fb              BEQ      |L21.54|
00003e  2002              MOVS     r0,#2                 ;793
000040  f7fffffe          BL       delayMs
000044  483e              LDR      r0,|L21.320|
000046  7801              LDRB     r1,[r0,#0]            ;795  ; s_screen_read_buffer
000048  29f3              CMP      r1,#0xf3              ;795
00004a  d003              BEQ      |L21.84|
00004c  7841              LDRB     r1,[r0,#1]            ;811  ; s_screen_read_buffer
00004e  29ff              CMP      r1,#0xff              ;811
000050  d00a              BEQ      |L21.104|
000052  e012              B        |L21.122|
                  |L21.84|
000054  f7fffffe          BL       app_tp_screen_reset
000058  2005              MOVS     r0,#5                 ;806
00005a  f7fffffe          BL       delayMs
00005e  2265              MOVS     r2,#0x65              ;808
000060  00d2              LSLS     r2,r2,#3              ;808
000062  a138              ADR      r1,|L21.324|
000064  a039              ADR      r0,|L21.332|
000066  e061              B        |L21.300|
                  |L21.104|
000068  7881              LDRB     r1,[r0,#2]            ;811  ; s_screen_read_buffer
00006a  29ff              CMP      r1,#0xff              ;811
00006c  d105              BNE      |L21.122|
00006e  78c1              LDRB     r1,[r0,#3]            ;811  ; s_screen_read_buffer
000070  29ff              CMP      r1,#0xff              ;811
000072  d102              BNE      |L21.122|
000074  7901              LDRB     r1,[r0,#4]            ;811  ; s_screen_read_buffer
000076  29ff              CMP      r1,#0xff              ;811
000078  d00b              BEQ      |L21.146|
                  |L21.122|
00007a  4604              MOV      r4,r0                 ;774
00007c  3008              ADDS     r0,r0,#8              ;829
00007e  9000              STR      r0,[sp,#0]            ;829
                  |L21.128|
000080  7838              LDRB     r0,[r7,#0]            ;821  ; g_screen_input_int_pad
000082  f7fffffe          BL       hal_gpio_get_input_data
000086  2800              CMP      r0,#0                 ;821
000088  d00c              BEQ      |L21.164|
00008a  7820              LDRB     r0,[r4,#0]            ;845  ; s_screen_read_buffer
00008c  28f3              CMP      r0,#0xf3              ;845
00008e  d036              BEQ      |L21.254|
000090  e03b              B        |L21.266|
                  |L21.146|
000092  f7fffffe          BL       app_tp_screen_reset
000096  200a              MOVS     r0,#0xa               ;815
000098  f7fffffe          BL       delayMs
00009c  4a33              LDR      r2,|L21.364|
00009e  a129              ADR      r1,|L21.324|
0000a0  a033              ADR      r0,|L21.368|
0000a2  e043              B        |L21.300|
                  |L21.164|
0000a4  4825              LDR      r0,|L21.316|
0000a6  2308              MOVS     r3,#8                 ;823
0000a8  6800              LDR      r0,[r0,#0]            ;823  ; screen_reg_int_data
0000aa  4a25              LDR      r2,|L21.320|
0000ac  2101              MOVS     r1,#1                 ;823
0000ae  f7fffffe          BL       app_tp_m_read
                  |L21.178|
0000b2  f7fffffe          BL       hal_i2c_m_transfer_complate
0000b6  2800              CMP      r0,#0                 ;824
0000b8  d0fb              BEQ      |L21.178|
0000ba  2064              MOVS     r0,#0x64              ;825
0000bc  f7fffffe          BL       delayUs
0000c0  79e0              LDRB     r0,[r4,#7]            ;826  ; s_screen_read_buffer
0000c2  2800              CMP      r0,#0                 ;826
0000c4  d00e              BEQ      |L21.228|
0000c6  06c0              LSLS     r0,r0,#27             ;828
0000c8  0e03              LSRS     r3,r0,#24             ;828
0000ca  481c              LDR      r0,|L21.316|
0000cc  2101              MOVS     r1,#1                 ;829
0000ce  6800              LDR      r0,[r0,#0]            ;829  ; screen_reg_int_data
0000d0  9a00              LDR      r2,[sp,#0]            ;829
0000d2  f7fffffe          BL       app_tp_m_read
                  |L21.214|
0000d6  f7fffffe          BL       hal_i2c_m_transfer_complate
0000da  2800              CMP      r0,#0                 ;830
0000dc  d0fb              BEQ      |L21.214|
0000de  2064              MOVS     r0,#0x64              ;831
0000e0  f7fffffe          BL       delayUs
                  |L21.228|
0000e4  7820              LDRB     r0,[r4,#0]            ;834  ; s_screen_read_buffer
0000e6  28f3              CMP      r0,#0xf3              ;834
0000e8  d1ca              BNE      |L21.128|
0000ea  f7fffffe          BL       app_tp_screen_reset
0000ee  200a              MOVS     r0,#0xa               ;838
0000f0  f7fffffe          BL       delayMs
0000f4  4a1d              LDR      r2,|L21.364|
0000f6  a113              ADR      r1,|L21.324|
0000f8  3216              ADDS     r2,r2,#0x16           ;839
0000fa  a026              ADR      r0,|L21.404|
0000fc  e016              B        |L21.300|
                  |L21.254|
0000fe  7860              LDRB     r0,[r4,#1]            ;845  ; s_screen_read_buffer
000100  2802              CMP      r0,#2                 ;845
000102  d102              BNE      |L21.266|
000104  78a0              LDRB     r0,[r4,#2]            ;845  ; s_screen_read_buffer
000106  2800              CMP      r0,#0                 ;845
000108  d00a              BEQ      |L21.288|
                  |L21.266|
00010a  2001              MOVS     r0,#1                 ;856
00010c  71e8              STRB     r0,[r5,#7]            ;856
00010e  480b              LDR      r0,|L21.316|
000110  490b              LDR      r1,|L21.320|
000112  6a82              LDR      r2,[r0,#0x28]         ;857  ; screen_reg_int_data
000114  79a8              LDRB     r0,[r5,#6]            ;857  ; screen_int_transfer_count
000116  f7fffffe          BL       app_tp_screen_analysis_int
00011a  71ae              STRB     r6,[r5,#6]            ;858
00011c  70ee              STRB     r6,[r5,#3]            ;859
00011e  bdf8              POP      {r3-r7,pc}
                  |L21.288|
000120  f7fffffe          BL       app_tp_screen_reset
000124  4a11              LDR      r2,|L21.364|
000126  a107              ADR      r1,|L21.324|
000128  3220              ADDS     r2,r2,#0x20           ;849
00012a  a022              ADR      r0,|L21.436|
                  |L21.300|
00012c  f7fffffe          BL       LOG_printf
000130  bdf8              POP      {r3-r7,pc}
;;;862    
                          ENDP

000132  0000              DCW      0x0000
                  |L21.308|
                          DCD      ||.data||
                  |L21.312|
                          DCD      g_screen_input_int_pad
                  |L21.316|
                          DCD      screen_reg_int_data
                  |L21.320|
                          DCD      ||.bss||
                  |L21.324|
000144  7461755f          DCB      "tau_log",0
000148  6c6f6700
                  |L21.332|
00014c  5b25735d          DCB      "[%s] (%04d) TP system reset 0\n",0
000150  20282530
000154  34642920
000158  54502073
00015c  79737465
000160  6d207265
000164  73657420
000168  300a00  
00016b  00                DCB      0
                  |L21.364|
                          DCD      0x00000331
                  |L21.368|
000170  5b25735d          DCB      "[%s] (%04d) TP system reset ff 0\n",0
000174  20282530
000178  34642920
00017c  54502073
000180  79737465
000184  6d207265
000188  73657420
00018c  66662030
000190  0a00    
000192  00                DCB      0
000193  00                DCB      0
                  |L21.404|
000194  5b25735d          DCB      "[%s] (%04d) TP system reset 1\n",0
000198  20282530
00019c  34642920
0001a0  54502073
0001a4  79737465
0001a8  6d207265
0001ac  73657420
0001b0  310a00  
0001b3  00                DCB      0
                  |L21.436|
0001b4  5b25735d          DCB      "[%s] (%04d) TP system reset 2\n",0
0001b8  20282530
0001bc  34642920
0001c0  54502073
0001c4  79737465
0001c8  6d207265
0001cc  73657420
0001d0  320a00  
0001d3  00                DCB      0

                          AREA ||i.app_tp_transfer_screen_start||, CODE, READONLY, ALIGN=2

                  app_tp_transfer_screen_start PROC
;;;679    **************************************************************************/
;;;680    void app_tp_transfer_screen_start(void)
000000  b570              PUSH     {r4-r6,lr}
;;;681    {
;;;682        s_screen_init_complate = false;
000002  4c04              LDR      r4,|L22.20|
000004  2500              MOVS     r5,#0
000006  7125              STRB     r5,[r4,#4]
;;;683        s_screen_const_transfer_count = 0;
000008  7165              STRB     r5,[r4,#5]
;;;684        //app_tp_screen_init();
;;;685    #ifndef DISABLE_I2C_INIT_CODE    
;;;686        app_tp_transfer_screen_const();
00000a  f7fffffe          BL       app_tp_transfer_screen_const
;;;687    #endif
;;;688    	s_screen_int_flag = false;
00000e  7065              STRB     r5,[r4,#1]
;;;689    }
000010  bd70              POP      {r4-r6,pc}
;;;690    
                          ENDP

000012  0000              DCW      0x0000
                  |L22.20|
                          DCD      ||.data||

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  s_screen_read_buffer
                          %        200
                  s_phone_read_buffer
                          %        200
                  tp_scan_data
                          %        12

                          AREA ||.data||, DATA, ALIGN=0

                  s_spim_write
000000  00                DCB      0x00
                  s_screen_int_flag
000001  00                DCB      0x00
                  s_phone_reset_flag
000002  00                DCB      0x00
                  s_screen_int_transfer_status
000003  00                DCB      0x00
                  s_screen_init_complate
000004  00                DCB      0x00
                  s_screen_const_transfer_count
000005  ff                DCB      0xff
                  screen_int_transfer_count
000006  00                DCB      0x00
                  screen_int_transfer_buffer_ready
000007  01                DCB      0x01
                  MI10_PRO_screen_init_data0
000008  a00000            DCB      0xa0,0x00,0x00
                  MI10_PRO_screen_init_data1
00000b  a0                DCB      0xa0
00000c  0001              DCB      0x00,0x01
                  MI10_PRO_screen_init_data3
00000e  a202              DCB      0xa2,0x02
000010  00                DCB      0x00
                  MI10_PRO_screen_init_data4
000011  c00701            DCB      0xc0,0x07,0x01
                  MI10_PRO_screen_init_data11
000014  a40005            DCB      0xa4,0x00,0x05
                  MI10_PRO_TP_Tuning_data2
000017  a4                DCB      0xa4
000018  0003              DCB      0x00,0x03
                  MI10_PRO_TP_Tuning_data3
00001a  a400              DCB      0xa4,0x00
00001c  02                DCB      0x02
                  MI10_PRO_TP_Tuning_data6
00001d  a40501            DCB      0xa4,0x05,0x01
                  MI10_PRO_TP_Tuning_data7
000020  a40502            DCB      0xa4,0x05,0x02
                  MI10_PRO_TP_Tuning_data8
000023  a4                DCB      0xa4
000024  0504              DCB      0x05,0x04
                  MI10_PRO_TP_Tuning_data9
000026  a400              DCB      0xa4,0x00
000028  01                DCB      0x01
                  MI10_PRO_TP_Tuning_data4
000029  a40313            DCB      0xa4,0x03,0x13
00002c  00                DCB      0x00
                  MI10_PRO_TP_Tuning_data5
00002d  a4030c            DCB      0xa4,0x03,0x0c
000030  00                DCB      0x00
                  MI10_PRO_screen_init_data2
000031  a20300            DCB      0xa2,0x03,0x00
000034  000003            DCB      0x00,0x00,0x03

                          AREA ||area_number.27||, DATA, ALIGN=0

                          EXPORTAS ||area_number.27||, ||.data||
                  MI10_PRO_screen_init_data5
000000  a40670            DCB      0xa4,0x06,0x70

                          AREA ||area_number.28||, DATA, ALIGN=0

                          EXPORTAS ||area_number.28||, ||.data||
                  MI10_PRO_screen_init_data6
000000  a60000            DCB      0xa6,0x00,0x00

                          AREA ||area_number.29||, DATA, ALIGN=0

                          EXPORTAS ||area_number.29||, ||.data||
                  MI10_PRO_screen_init_data7
000000  fa200000          DCB      0xfa,0x20,0x00,0x00
000004  78                DCB      0x78

                          AREA ||area_number.30||, DATA, ALIGN=0

                          EXPORTAS ||area_number.30||, ||.data||
                  MI10_PRO_screen_init_data8
000000  a2032000          DCB      0xa2,0x03,0x20,0x00
000004  0000              DCB      0x00,0x00

                          AREA ||area_number.31||, DATA, ALIGN=0

                          EXPORTAS ||area_number.31||, ||.data||
                  MI10_PRO_screen_init_data9
000000  a001              DCB      0xa0,0x01

                          AREA ||area_number.32||, DATA, ALIGN=0

                          EXPORTAS ||area_number.32||, ||.data||
                  MI10_PRO_screen_init_data10
000000  a00000            DCB      0xa0,0x00,0x00

                          AREA ||area_number.33||, DATA, ALIGN=0

                          EXPORTAS ||area_number.33||, ||.data||
                  MI10_PRO_TP_Tuning_data1
000000  a40000            DCB      0xa4,0x00,0x00

                          AREA ||area_number.34||, DATA, ALIGN=0

                          EXPORTAS ||area_number.34||, ||.data||
                  read_point
000000  00                DCB      0x00

                          AREA ||area_number.35||, DATA, ALIGN=0

                          EXPORTAS ||area_number.35||, ||.data||
                  s_screen_number
000000  0000              DCB      0x00,0x00

                          AREA ||area_number.36||, DATA, ALIGN=0

                          EXPORTAS ||area_number.36||, ||.data||
                  s_screen_temp
000000  0000              DCB      0x00,0x00

;*** Start embedded assembler ***

#line 1 "..\\src\\app\\demo\\app_tp_transfer.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___17_app_tp_transfer_c_e672c05a____REV16|
#line 467 "C:\\Users\\Markin\\AppData\\Local\\Arm\\Packs\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h"
|__asm___17_app_tp_transfer_c_e672c05a____REV16| PROC
#line 468

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___17_app_tp_transfer_c_e672c05a____REVSH|
#line 482
|__asm___17_app_tp_transfer_c_e672c05a____REVSH| PROC
#line 483

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
