;Driver Command: ccarm -c -MD -IGenerated\inc\ -I..\Generated\inc -I..\Src ; -I..\Src -I..\Generated\inc\ -I..\Src ; -I..\..\..\MCAL\Platform_ZX_K14xM\Inc ; -I..\..\..\MCAL\Platform_ZX_K14xM\StartUp\Inc ; -I..\..\..\MCAL\McalLib_ZX_K14xM\Inc\Devices ; -I..\..\..\MCAL\McalLib_ZX_K14xM\Inc ; -I..\..\..\MCAL\Mcu_ZX_K14xM\Inc -I..\..\..\MCAL\Adc_ZX_K14xM\Inc ; -I..\..\..\MCAL\Dem_ZX_K14xM\Inc -I..\..\..\MCAL\Det_ZX_K14xM\Inc ; -I..\..\..\MCAL\Dio_ZX_K14xM\Inc ; -I..\..\..\MCAL\Base_ZX_K14xM\Inc ; -I..\..\..\MCAL\Wdg_ZX_K14xM\Inc ; -I..\..\..\MCAL\Port_ZX_K14xM\Inc ; -I..\..\..\MCAL\Rte_ZX_K14xM\Inc ; -I..\..\..\MCAL\Base_ZX_K14xM\Inc\MemMap ; -I..\..\..\MCAL\WdgIf_ZX_K14xM\Inc ; -I..\..\..\MCAL\Can_ZX_K14xM\Inc -I..\..\..\MCAL\Gpt_ZX_K14xM\Inc ; -I..\..\..\MCAL\Dma_ZX_K14xM\Inc -I..\..\..\MCAL\Pwm_ZX_K14xM\Inc ; -I..\..\..\MCAL\EcuM_ZX_K14xM\Inc ; -I..\..\..\MCAL\Can_ZX_K14xM\Inc ; -I..\..\..\MCAL\CanIf_ZX_K14xM\Inc ; -I..\..\..\mcal\Icu_ZX_K14xM\Inc ; -I..\..\..\MCAL\Ecum_ZX_K14xM\Inc ; -I..\..\..\MCAL\Fls_ZX_K14xM\Inc ; -I..\..\..\MCAL\MemIf_ZX_K14xM\Inc ; -I..\..\..\mcal\Icu_ZX_K14xM\Inc -I..\..\..\mcal\Spi_ZX_K14xM\Inc ; -I..\..\..\Package\OS\Task ; -I..\..\..\Package\OS\Task\cpu_port\Zhixin ; -I..\..\..\Package\cm_backtrace -I..\..\..\Package\Cdd ; -I..\..\..\Package\Cdd\CddBuck\Gen ; -I..\..\..\Package\Cdd\CddBuck\Gen ; -I..\..\..\Package\Cdd\CddSbc\Api ; -I..\..\..\Package\Cdd\CddSbc\Cfg ; -I..\..\..\Package\Cdd\CddTle94x1\Cfg ; -I..\..\..\Package\Cdd\CddTle94x1\Api ; -I..\..\..\Package\Cdd\CddTle94x1\Gen ; -I..\..\..\Package\Cdd\CddBoost\Api -cpu=cortexm4f -Wshadow ; -Wtrigraphs -keeptempfiles -Wundef -Wimplicit-int -dual_debug ; --no_commons --no_exceptions --gnu_asm ; --incorrect_pragma_warnings --prototype_errors -list ; --misra_2004=2.1 -ignore_debug_references ; -preprocess_assembly_files -thumb_lib -thumb --hardware_divide ; -c99 -no_japanese_automotive_c --std --stdl --slash_comment ; -Ospeed --no_debug -object_dir=objs\release -filetype.c ; ..\..\..\MCAL\Gpt_ZX_K14xM\Src\Gpt.c -o objs\release\Gpt.o ;Source File: ..\..\..\MCAL\Gpt_ZX_K14xM\Src\Gpt.c ;Directory: ; D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject ;Compile Date: Mon Dec 18 00:01:44 2023 ;Host OS: Win64 ;Version: C-ARM 2021.1.4 RELEASE VERSION ;Release: Compiler v2021.1.4 ;Revision Date: Mon Apr 26 12:37:23 2021 ;Release Date: Mon Apr 26 08:01:05 2021 ; ecom -w -OLM .section ".mcal_code","ax" .align 2 ..gh.f.f.1.a.1.e.0: .endo ..gh.f.f.1.a.1.e.0 .thumb2 Gpt_GetVersionInfo:: movs r2,r0 bne .L865 movs r3,22 cpy r1,r0 movs r0,100 .L974: b Det_ReportError .L865: movs r1,179 strh r1,[r0] movs r1,100 strh r1,[r0,2] movs r1,1 strb r1,[r0,4] movs r1,2 strb r1,[r0,5] movs r1,0 strb r1,[r0,6] .L976: ret .endf Gpt_GetVersionInfo ;VersionInfoPtr r0 param .section ".bss","awb" .L932: .endo .L932 .section ".ghtailcalltbl","" .align 4 .L975: .data.w .L974 .endo .L975 .section ".ghrettbl","" .align 4 .L977: .data.w .L976 .endo .L977 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 ..gh.f.f.1.a.1.e.1: .endo ..gh.f.f.1.a.1.e.1 Gpt_Init:: push {r4-r7,r10,lr} movw r5,%lo(Gpt_ConfigPtr) movt r5,%hi(Gpt_ConfigPtr) ldr r1,[r5] cbz r1,.L995 movs r2,1 movs r3,13 movs r1,0 movs r0,100 pop {r4-r7,r10,lr} .L3459: b Det_ReportError .L995: cpy r6,r0 movs r4,r1 it ne .L3461: pop {r4-r7,r10,pc} cbz r0,.L1000 movs r3,14 movs r2,1 movs r0,100 pop {r4-r7,r10,lr} .L3463: b Det_ReportError .L1000: movw r2,%lo(Gpt_PreDefinedConfigPtr) movt r2,%hi(Gpt_PreDefinedConfigPtr) ldr r1,[r2] ldrb r0,[r1,8] str r1,[r5] cmp r4,r0 bhs .L1001 .L1004: ldr r3,[r1,12] rsb r2,r4,r4 lsl 2 add r0,r3,r2 lsl 2 .L3465: bl Gpt_Drvw_InitInstances ldr r1,[r5] ldrb r2,[r1,8] adds r4,r4,1 uxtb r4,r4 cmp r4,r2 blo .L1004 .L1001: ldr r0,[r1] cpy r4,r6 cmp r6,r0 bhs .L1033 mov r10,r6 add r7,r5,20 adds r6,r5,4 .L1774: ldr r3,[r1,20] ldrb r12,[r3] mov r2,r10 cmp r4,r12 beq .L1008 ldrb r12,[r3,1]! movs r2,1 cmp r4,r12 beq .L1008 ldrb r12,[r3,1]! movs r2,2 cmp r4,r12 beq .L1008 ldrb r3,[r3,1] movs r2,3 cmp r4,r3 it ne mov r2,4 .L1008: mov r12,1 str r12,[r7,r2 lsl 3] add r3,r7,r2 lsl 3 strh r10,[r3,4] strb r10,[r3,6] ldr r1,[r1,4] str r10,[r6,r2 lsl 2] add r3,r1,r4 lsl 5 ldr r0,[r3,28] .L3467: bl Gpt_Drvw_Init ldr r1,[r5] ldr r2,[r1] adds r4,r4,1 cmp r4,r2 blo .L1774 .L1033: ldr r0,[r1,16] movs r1,0 ldr r0,[r0] .L3469: bl Gpt_Drvw_StartPredefTimer ldr r0,[r5] ldr r0,[r0,16] movs r1,1 ldr r0,[r0,4] .L3471: bl Gpt_Drvw_StartPredefTimer ldr r0,[r5] ldr r0,[r0,16] movs r1,2 ldr r0,[r0,8] .L3473: bl Gpt_Drvw_StartPredefTimer ldr r0,[r5] ldr r0,[r0,16] movs r1,3 ldr r0,[r0,12] .L3475: bl Gpt_Drvw_StartPredefTimer movs r0,0 movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) str r0,[r1] .L3477: pop {r4-r7,r10,pc} .endf Gpt_Init ;InstanceIndex r4 local ;ChannelIndex r4 local ;Channel r2 local ;ReturnValue r4 local ;ConfigPtr r6 param .section ".bss","awb" .align 4 Gpt_Mode: .space 4 .endo Gpt_Mode .section ".mcal_bss","awb" .align 4 Gpt_ConfigPtr: .space 4 .endo Gpt_ConfigPtr Gpt_StopTime: .space 16 .endo Gpt_StopTime Gpt_ChannelInfo: .space 32 .endo Gpt_ChannelInfo .section ".ghtailcalltbl","" .L3460: .data.w .L3459 .endo .L3460 .section ".ghrettbl","" .L3462: .data.w .L3461 .endo .L3462 .section ".ghtailcalltbl","" .L3464: .data.w .L3463 .endo .L3464 .section ".ghcalltbl","" .align 4 .L3466: .data.w .L3465 .endo .L3466 .L3468: .data.w .L3467 .endo .L3468 .L3470: .data.w .L3469 .endo .L3470 .L3472: .data.w .L3471 .endo .L3472 .L3474: .data.w .L3473 .endo .L3474 .L3476: .data.w .L3475 .endo .L3476 .section ".ghrettbl","" .L3478: .data.w .L3477 .endo .L3478 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 ..gh.f.f.1.a.1.e.2: .endo ..gh.f.f.1.a.1.e.2 Gpt_DeInit:: push {r4-r7,r10,lr} movw r5,%lo(Gpt_ConfigPtr) movt r5,%hi(Gpt_ConfigPtr) ldr r1,[r5] cbnz r1,.L3493 movs r3,10 movs r2,2 movs r0,100 pop {r4-r7,r10,lr} .L6372: b Det_ReportError .L3493: ldr r0,[r1] movs r4,0 cmp r4,r0 bhs .L3522 add r6,r5,20 .L4384: ldr r1,[r1,20] ldrb r2,[r1] movs r0,0 cmp r4,r2 beq .L3512 ldrb r2,[r1,1]! movs r0,1 cmp r4,r2 beq .L3512 ldrb r2,[r1,1]! movs r0,2 cmp r4,r2 beq .L3512 ldrb r1,[r1,1] movs r0,3 cmp r4,r1 it ne mov r0,4 .L3512: ldr.w r0,[r6,r0 lsl 3] movw r2,%lo(Gpt_Mode) movt r2,%hi(Gpt_Mode) cmp r0,4 ldr r1,[r2] bne .L3497 movs r3,11 movs r2,2 movs r1,0 movs r0,100 pop {r4-r7,r10,lr} .L6374: b Det_ReportRuntimeError .L3497: ldr r1,[r5] ldr r0,[r1] adds r4,r4,1 cmp r4,r0 blo .L4384 .L3522: movs r4,0 cmp r4,r0 bhs .L3551 mov r10,r4 add r6,r5,20 adds r7,r5,4 .L4396: ldr r2,[r1,20] ldrb r3,[r2] mov r0,r10 cmp r4,r3 beq .L3526 ldrb r3,[r2,1]! movs r0,1 cmp r4,r3 beq .L3526 ldrb r3,[r2,1]! movs r0,2 cmp r4,r3 beq .L3526 ldrb r2,[r2,1] movs r0,3 cmp r4,r2 it ne mov r0,4 .L3526: add r2,r6,r0 lsl 3 strh r10,[r2,4] str r10,[r7,r0 lsl 2] strb r10,[r2,6] ldr r1,[r1,4] str r10,[r2] add r0,r1,r4 lsl 5 ldr r0,[r0,28] .L6376: bl Gpt_Drvw_DeInit ldr r1,[r5] ldr r2,[r1] adds r4,r4,1 cmp r4,r2 blo .L4396 .L3551: ldr r0,[r1,16] ldr r0,[r0] .L6378: bl Gpt_Drvw_StopPredefTimer ldr r0,[r5] ldr r0,[r0,16] ldr r0,[r0,4] .L6380: bl Gpt_Drvw_StopPredefTimer ldr r0,[r5] ldr r0,[r0,16] ldr r0,[r0,8] .L6382: bl Gpt_Drvw_StopPredefTimer ldr r0,[r5] ldr r0,[r0,16] ldr r0,[r0,12] .L6384: bl Gpt_Drvw_StopPredefTimer movs r0,0 str r0,[r5] .L6386: pop {r4-r7,r10,pc} .endf Gpt_DeInit ;Channel r0 local ;ChannelIndex r4 local .section ".ghtailcalltbl","" .L6373: .data.w .L6372 .endo .L6373 .L6375: .data.w .L6374 .endo .L6375 .section ".ghcalltbl","" .L6377: .data.w .L6376 .endo .L6377 .L6379: .data.w .L6378 .endo .L6379 .L6381: .data.w .L6380 .endo .L6381 .L6383: .data.w .L6382 .endo .L6383 .L6385: .data.w .L6384 .endo .L6385 .section ".ghrettbl","" .L6387: .data.w .L6386 .endo .L6387 .section ".mcal_code","ax" .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (ReturnHwChannelInfo - Gpt_ConfigPtr) +0 == 52 ..gh.f.f.1.a.1.e.3: .endo ..gh.f.f.1.a.1.e.3 Gpt_GetTimeElapsed:: push {r4-r7,r10,lr} mov r10,r0 movw r7,%lo(Gpt_ConfigPtr) movt r7,%hi(Gpt_ConfigPtr) movs r4,0 strb r4,[r7,52] ldr r0,[r7] str r4,[r7,56] cbz r0,.L6398 add r6,r7,52 cmp r10,4 bhs .L6397 ldr r1,[r0,20] ldrb r5,[r1,r10] cmp r5,255 bne .L6402 movs r3,24 movs r2,3 cpy r1,r4 movs r0,100 .L6916: bl Det_ReportError cpy r0,r4 .L6918: pop {r4-r7,r10,pc} .L6397: movs r3,20 movs r2,3 cpy r1,r4 movs r0,100 .L6920: bl Det_ReportError cpy r0,r4 .L6922: pop {r4-r7,r10,pc} .L6398: movs r3,10 movs r2,3 cpy r1,r4 movs r0,100 .L6924: bl Det_ReportError cpy r0,r4 .L6926: pop {r4-r7,r10,pc} .L6410: movs r0,0 .L6928: pop {r4-r7,r10,pc} .L6413: adds r1,r7,4 ldr.w r0,[r1,r10 lsl 2] .L6930: pop {r4-r7,r10,pc} .L6402: ldr r0,[r0,4] cpy r1,r6 add r0,r0,r5 lsl 5 ldr r0,[r0,28] .L6932: bl Gpt_Drvw_GetTimeElapsed cpy r4,r0 add r1,r7,20 ldr.w r0,[r1,r10 lsl 3] subs r0,r0,1 blo .L6401 beq .L6410 subs r0,r0,2 blo .L6413 beq .L6416 cmp r0,1 itt ne mov r0,r4 .L6934: pop {r4-r7,r10,pc} ldrb r0,[r6] cmp r0,1 bne .L6401 ldr r0,[r7] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r0,[r0,24] cmp r0,1 .L6416: it eq ldr r4,[r6,4] .L6401: cpy r0,r4 .L6936: pop {r4-r7,r10,pc} .endf Gpt_GetTimeElapsed ;ChannelIndex r5 local ;ReturnValue r4 local ;Channel r10 param .section ".mcal_bss","awb" ReturnHwChannelInfo: .space 8 .endo ReturnHwChannelInfo .section ".ghcalltbl","" .L6917: .data.w .L6916 .endo .L6917 .section ".ghrettbl","" .L6919: .data.w .L6918 .endo .L6919 .section ".ghcalltbl","" .L6921: .data.w .L6920 .endo .L6921 .section ".ghrettbl","" .L6923: .data.w .L6922 .endo .L6923 .section ".ghcalltbl","" .L6925: .data.w .L6924 .endo .L6925 .section ".ghrettbl","" .L6927: .data.w .L6926 .endo .L6927 .L6929: .data.w .L6928 .endo .L6929 .L6931: .data.w .L6930 .endo .L6931 .section ".ghcalltbl","" .L6933: .data.w .L6932 .endo .L6933 .section ".ghrettbl","" .L6935: .data.w .L6934 .endo .L6935 .L6937: .data.w .L6936 .endo .L6937 .section ".mcal_code","ax" .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (ReturnHwChannelInfo - Gpt_ConfigPtr) +0 == 52 ..gh.f.f.1.a.1.e.4: .endo ..gh.f.f.1.a.1.e.4 Gpt_GetTimeRemaining:: push {r4-r7,r10,lr} mov r10,r0 movw r7,%lo(Gpt_ConfigPtr) movt r7,%hi(Gpt_ConfigPtr) movs r4,0 strb r4,[r7,52] ldr r0,[r7] str r4,[r7,56] cbz r0,.L6948 add r6,r7,52 cmp r10,4 bhs .L6947 ldr r1,[r0,20] ldrb r5,[r1,r10] cmp r5,255 bne .L6952 movs r3,24 movs r2,4 cpy r1,r4 movs r0,100 .L7463: bl Det_ReportError cpy r0,r4 .L7465: pop {r4-r7,r10,pc} .L6947: movs r3,20 movs r2,4 cpy r1,r4 movs r0,100 .L7467: bl Det_ReportError cpy r0,r4 .L7469: pop {r4-r7,r10,pc} .L6948: movs r3,10 movs r2,4 cpy r1,r4 movs r0,100 .L7471: bl Det_ReportError cpy r0,r4 .L7473: pop {r4-r7,r10,pc} .L6952: ldr r0,[r0,4] cpy r1,r6 add r0,r0,r5 lsl 5 ldr r0,[r0,28] .L7475: bl Gpt_Drvw_GetTimeElapsed cpy r4,r0 add r1,r7,20 ldr.w r0,[r1,r10 lsl 3] subs r0,r0,1 blo .L6951 beq .L6967 subs r0,r0,2 blo .L6964 beq .L6967 cmp r0,1 itt ne mov r0,r4 .L7477: pop {r4-r7,r10,pc} ldrb r0,[r6] cmp r0,1 bne .L6955 ldr r0,[r7] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r0,[r0,24] cmp r0,1 beq .L6967 .L6955: ldr r0,[r6,4] subs r0,r0,r4 .L7479: pop {r4-r7,r10,pc} .L6964: adds r1,r7,4 ldr r2,[r6,4] ldr.w r0,[r1,r10 lsl 2] subs r0,r2,r0 .L7481: pop {r4-r7,r10,pc} .L6967: movs r4,0 .L6951: cpy r0,r4 .L7483: pop {r4-r7,r10,pc} .endf Gpt_GetTimeRemaining ;ChannelIndex r5 local ;ReturnValue r4 local ;Channel r10 param .section ".ghcalltbl","" .L7464: .data.w .L7463 .endo .L7464 .section ".ghrettbl","" .L7466: .data.w .L7465 .endo .L7466 .section ".ghcalltbl","" .L7468: .data.w .L7467 .endo .L7468 .section ".ghrettbl","" .L7470: .data.w .L7469 .endo .L7470 .section ".ghcalltbl","" .L7472: .data.w .L7471 .endo .L7472 .section ".ghrettbl","" .L7474: .data.w .L7473 .endo .L7474 .section ".ghcalltbl","" .L7476: .data.w .L7475 .endo .L7476 .section ".ghrettbl","" .L7478: .data.w .L7477 .endo .L7478 .L7480: .data.w .L7479 .endo .L7480 .L7482: .data.w .L7481 .endo .L7482 .L7484: .data.w .L7483 .endo .L7484 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 ..gh.f.f.1.a.1.e.5: .endo ..gh.f.f.1.a.1.e.5 Gpt_StartTimer:: push {r4-r7,r10,lr} cpy r7,r0 movw r6,%lo(Gpt_ConfigPtr) movt r6,%hi(Gpt_ConfigPtr) ldr r0,[r6] mov r10,r1 add r4,r6,20 movs r1,r0 beq .L7495 cmp r7,4 bhs .L7494 ldr r0,[r0,20] ldrb r0,[r0,r7] cmp r0,255 bne .L7493 movs r3,24 movs r2,5 movs r1,0 movs r0,100 .L8377: bl Det_ReportError .L8379: pop {r4-r7,r10,pc} .L7493: movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) ldr r0,[r1] movs r5,0 cpy r2,r4 cmp r0,1 bne .L7501 add r0,r4,r7 lsl 3 ldrb r1,[r0,5] cbnz r1,.L7501 movs r3,160 movs r2,5 movs r0,100 pop {r4-r7,r10,lr} .L8381: b Det_ReportError .L7501: ldr.w r0,[r2,r7 lsl 3] cmp r0,4 bne .L7505 movs r3,11 movs r2,5 cpy r1,r5 movs r0,100 pop {r4-r7,r10,lr} .L8383: b Det_ReportRuntimeError .L7505: ldr r0,[r6] ldr r1,[r0,20] ldrb r1,[r1,r7] ldr r0,[r0,4] add r0,r0,r1 lsl 5 ldr r0,[r0,20] cmp r10,r0 bhi .L7507 cmp r10,0 bne .L7508 .L7507: movs r3,21 movs r2,5 movs r1,0 movs r0,100 .L8385: bl Det_ReportError .L8387: pop {r4-r7,r10,pc} .L7494: movs r3,20 movs r2,5 movs r1,0 movs r0,100 .L8389: bl Det_ReportError .L8391: pop {r4-r7,r10,pc} .L7495: movs r3,10 movs r2,5 movs r0,100 .L8393: bl Det_ReportError .L8395: pop {r4-r7,r10,pc} .L7508: ldr r0,[r6] ldr r1,[r0,20] ldrb r5,[r1,r7] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r1,[r0,24] cmp r1,1 bne .L7521 ldr r0,[r0,28] .L8397: bl Gpt_Drvw_EnableInterrupt ldr r0,[r6] ldr r0,[r0,4] add r0,r0,r5 lsl 5 .L7521: movs r2,4 str r2,[r4,r7 lsl 3] mov r1,r10 ldr r0,[r0,28] .L8399: bl Gpt_Drvw_StartTimer cmp r0,0 it eq .L8401: pop {r4-r7,r10,pc} movs r3,43 movs r2,5 movs r1,0 movs r0,100 pop {r4-r7,r10,lr} .L8403: b Det_ReportRuntimeError .endf Gpt_StartTimer ;ChannelIndex r5 local ;ReturnValue r5 local ;ReturnValue r5 local ;ReturnValue r5 local ;Channel r7 param ;Value r10 param .section ".ghcalltbl","" .L8378: .data.w .L8377 .endo .L8378 .section ".ghrettbl","" .L8380: .data.w .L8379 .endo .L8380 .section ".ghtailcalltbl","" .L8382: .data.w .L8381 .endo .L8382 .L8384: .data.w .L8383 .endo .L8384 .section ".ghcalltbl","" .L8386: .data.w .L8385 .endo .L8386 .section ".ghrettbl","" .L8388: .data.w .L8387 .endo .L8388 .section ".ghcalltbl","" .L8390: .data.w .L8389 .endo .L8390 .section ".ghrettbl","" .L8392: .data.w .L8391 .endo .L8392 .section ".ghcalltbl","" .L8394: .data.w .L8393 .endo .L8394 .section ".ghrettbl","" .L8396: .data.w .L8395 .endo .L8396 .section ".ghcalltbl","" .L8398: .data.w .L8397 .endo .L8398 .L8400: .data.w .L8399 .endo .L8400 .section ".ghrettbl","" .L8402: .data.w .L8401 .endo .L8402 .section ".ghtailcalltbl","" .L8404: .data.w .L8403 .endo .L8404 .section ".mcal_code","ax" .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (ReturnHwChannelInfo - Gpt_ConfigPtr) +0 == 52 ..gh.f.f.1.a.1.e.6: .endo ..gh.f.f.1.a.1.e.6 Gpt_StopTimer:: push {r4-r7,r10-fp,lr} cpy r6,r0 movw r5,%lo(Gpt_ConfigPtr) movt r5,%hi(Gpt_ConfigPtr) movs r0,0 strb r0,[r5,52] str r0,[r5,56] ldr r0,[r5] movs r1,r0 beq .L8415 add fp,r5,52 cmp r6,4 bhs .L8414 ldr r1,[r0,20] ldrb r4,[r1,r6] cmp r4,255 bne .L8419 movs r3,24 movs r2,6 movs r1,0 movs r0,100 pop {r4-r7,r10-fp,lr} .L8798: b Det_ReportError .L8414: movs r3,20 movs r2,6 movs r1,0 movs r0,100 pop {r4-r7,r10-fp,lr} .L8800: b Det_ReportError .L8415: movs r3,10 movs r2,6 movs r0,100 pop {r4-r7,r10-fp,lr} .L8802: b Det_ReportError .L8419: ldr r0,[r0,4] mov r1,fp add r0,r0,r4 lsl 5 ldr r0,[r0,28] .L8804: bl Gpt_Drvw_GetTimeElapsed mov r10,r0 add r7,r5,20 ldr.w r0,[r7,r6 lsl 3] cmp r0,4 it ne .L8806: pop {r4-r7,r10-fp,pc} ldr r1,[r5] ldr r1,[r1,4] add r0,r1,r4 lsl 5 ldr r0,[r0,28] .L8808: bl Gpt_Drvw_StopTimer ldrb r0,[fp] cmp r0,1 bne .L8432 ldr r0,[r5] ldr r0,[r0,4] add r0,r0,r4 lsl 5 ldr r0,[r0,24] cmp r0,1 bne .L8432 movs r1,3 str r1,[r7,r6 lsl 3] .L8810: pop {r4-r7,r10-fp,pc} .L8432: movs r1,2 str r1,[r7,r6 lsl 3] adds r1,r5,4 str r10,[r1,r6 lsl 2] .L8812: pop {r4-r7,r10-fp,pc} .endf Gpt_StopTimer ;ChannelIndex r4 local ;ElapsedTime r10 local ;Channel r6 param .section ".ghtailcalltbl","" .L8799: .data.w .L8798 .endo .L8799 .L8801: .data.w .L8800 .endo .L8801 .L8803: .data.w .L8802 .endo .L8803 .section ".ghcalltbl","" .L8805: .data.w .L8804 .endo .L8805 .section ".ghrettbl","" .L8807: .data.w .L8806 .endo .L8807 .section ".ghcalltbl","" .L8809: .data.w .L8808 .endo .L8809 .section ".ghrettbl","" .L8811: .data.w .L8810 .endo .L8811 .L8813: .data.w .L8812 .endo .L8813 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.7: .endo ..gh.f.f.1.a.1.e.7 Gpt_EnableNotification:: push {r4-r6,lr} cpy r6,r0 movw r5,%lo(Gpt_ConfigPtr) movt r5,%hi(Gpt_ConfigPtr) ldr r0,[r5] movs r1,r0 beq .L8824 cmp r6,4 bhs .L8823 ldr r0,[r0,20] ldrb r0,[r0,r6] cmp r0,255 bne .L8822 movs r3,24 movs r2,7 movs r1,0 movs r0,100 .L9230: bl Det_ReportError .L9232: pop {r4-r6,pc} .L8822: ldr r0,[r5] ldr r1,[r0,20] ldrb r1,[r1,r6] ldr r3,[r0,4] add r2,r3,r1 lsl 5 ldr r2,[r2,4] movs r4,0 cbnz r2,.L8832 movs r3,20 movs r2,7 cpy r1,r4 movs r0,100 pop {r4-r6,lr} .L9234: b Det_ReportError .L8823: movs r3,20 movs r2,7 movs r1,0 movs r0,100 .L9236: bl Det_ReportError .L9238: pop {r4-r6,pc} .L8824: movs r3,10 movs r2,7 movs r0,100 .L9240: bl Det_ReportError .L9242: pop {r4-r6,pc} .L8832: add r2,r5,r6 lsl 3 movs r3,1 strb r3,[r2,24] movw r3,%lo(Gpt_Mode) movt r3,%hi(Gpt_Mode) ldr r2,[r3] cmp r2,0 it ne .L9244: pop {r4-r6,pc} ldr r0,[r0,4] add r0,r0,r1 lsl 5 ldr r0,[r0,28] pop {r4-r6,lr} .L9246: b Gpt_Drvw_EnableInterrupt .endf Gpt_EnableNotification ;ChannelIndex r1 local ;ReturnValue r4 local ;ReturnValue r4 local ;Channel r6 param .section ".ghcalltbl","" .L9231: .data.w .L9230 .endo .L9231 .section ".ghrettbl","" .L9233: .data.w .L9232 .endo .L9233 .section ".ghtailcalltbl","" .L9235: .data.w .L9234 .endo .L9235 .section ".ghcalltbl","" .L9237: .data.w .L9236 .endo .L9237 .section ".ghrettbl","" .L9239: .data.w .L9238 .endo .L9239 .section ".ghcalltbl","" .L9241: .data.w .L9240 .endo .L9241 .section ".ghrettbl","" .L9243: .data.w .L9242 .endo .L9243 .L9245: .data.w .L9244 .endo .L9245 .section ".ghtailcalltbl","" .L9247: .data.w .L9246 .endo .L9247 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.8: .endo ..gh.f.f.1.a.1.e.8 Gpt_DisableNotification:: push {r4-r6,lr} cpy r5,r0 movw r6,%lo(Gpt_ConfigPtr) movt r6,%hi(Gpt_ConfigPtr) ldr r0,[r6] movs r1,r0 beq .L9258 cmp r5,4 bhs .L9257 ldr r0,[r0,20] ldrb r0,[r0,r5] cmp r0,255 bne .L9256 movs r3,24 movs r2,8 movs r1,0 movs r0,100 .L9740: bl Det_ReportError .L9742: pop {r4-r6,pc} .L9256: ldr r0,[r6] ldr r1,[r0,20] ldrb r1,[r1,r5] ldr r3,[r0,4] add r2,r3,r1 lsl 5 ldr r2,[r2,4] movs r4,0 cbnz r2,.L9266 movs r3,20 movs r2,8 cpy r1,r4 movs r0,100 pop {r4-r6,lr} .L9744: b Det_ReportError .L9257: movs r3,20 movs r2,8 movs r1,0 movs r0,100 .L9746: bl Det_ReportError .L9748: pop {r4-r6,pc} .L9258: movs r3,10 movs r2,8 movs r0,100 .L9750: bl Det_ReportError .L9752: pop {r4-r6,pc} .L9266: add r3,r6,r5 lsl 3 movw r12,%lo(Gpt_Mode) movt r12,%hi(Gpt_Mode) strb r4,[r3,24] ldr.w r3,[r12] add r2,r6,20 cmp r3,0 it ne .L9754: pop {r4-r6,pc} ldr r0,[r0,4] add r0,r0,r1 lsl 5 ldr r1,[r0,24] cmp r1,0 beq .L9272 ldr.w r1,[r2,r5 lsl 3] cmp r1,4 it eq .L9756: pop {r4-r6,pc} .L9272: ldr r0,[r0,28] pop {r4-r6,lr} .L9758: b Gpt_Drvw_DisableInterrupt .endf Gpt_DisableNotification ;ChannelIndex r1 local ;ReturnValue r4 local ;ReturnValue r4 local ;Channel r5 param .section ".ghcalltbl","" .L9741: .data.w .L9740 .endo .L9741 .section ".ghrettbl","" .L9743: .data.w .L9742 .endo .L9743 .section ".ghtailcalltbl","" .L9745: .data.w .L9744 .endo .L9745 .section ".ghcalltbl","" .L9747: .data.w .L9746 .endo .L9747 .section ".ghrettbl","" .L9749: .data.w .L9748 .endo .L9749 .section ".ghcalltbl","" .L9751: .data.w .L9750 .endo .L9751 .section ".ghrettbl","" .L9753: .data.w .L9752 .endo .L9753 .L9755: .data.w .L9754 .endo .L9755 .L9757: .data.w .L9756 .endo .L9757 .section ".ghtailcalltbl","" .L9759: .data.w .L9758 .endo .L9759 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_StopTime - Gpt_ConfigPtr) +0 == 4 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (ReturnHwChannelInfo - Gpt_ConfigPtr) +0 == 52 ..gh.f.f.1.a.1.e.9: .endo ..gh.f.f.1.a.1.e.9 Gpt_SetMode:: push {r4-r7,r10-fp,lr} movw r6,%lo(Gpt_ConfigPtr) movt r6,%hi(Gpt_ConfigPtr) ldr r1,[r6] cmp r1,0 beq .L9770 cpy r5,r0 movs r4,0 cmp r0,1 beq .L9784 b .L9773 .L9770: movs r3,10 movs r2,9 movs r0,100 pop {r4-r7,r10-fp,lr} .L13950: b Det_ReportError .L9773: cmp r0,0 beq .L9806 movs r3,31 movs r2,9 cpy r1,r4 movs r0,100 pop {r4-r7,r10-fp,lr} .L13952: b Det_ReportError .L9784: movw r2,%lo(ReturnHwChannelInfo) movt r2,%hi(ReturnHwChannelInfo) strb r4,[r2] str r4,[r2,4] ldr r1,[r6] ldr r0,[r1] cpy r5,r4 cmp r4,r0 bhs .L9800 mov r10,r4 add r7,r6,20 .L12236: ldr r2,[r1,20] ldrb r3,[r2] movs r4,0 cmp r5,r3 beq .L9789 ldrb r3,[r2,1]! movs r4,1 cmp r5,r3 beq .L9789 ldrb r3,[r2,1]! movs r4,2 cmp r5,r3 beq .L9789 ldrb r2,[r2,1] movs r4,3 cmp r5,r2 it ne mov r4,4 .L9789: ldr r1,[r1,4] lsl fp,r4,3 add r2,r7,fp add r3,r10,r1 ldrb r1,[r2,5] ldr r0,[r3,28] cbnz r1,.L9796 .L13954: bl Gpt_Drvw_DisableInterrupt ldr r2,[r6] ldr r2,[r2,4] movw r1,%lo(ReturnHwChannelInfo) movt r1,%hi(ReturnHwChannelInfo) add r2,r2,r10 ldr r0,[r2,28] .L13956: bl Gpt_Drvw_GetTimeElapsed ldr.w r1,[r7,fp] cmp r1,4 bne .L9798 ldr r1,[r6] movw r3,%lo(ReturnHwChannelInfo) movt r3,%hi(ReturnHwChannelInfo) ldrb r2,[r3] ldr r1,[r1,4] cmp r2,1 add r1,r1,r10 itt eq ldr r2,[r1,24] cmp r2,1 bne .L9794 movs r2,3 ldr r0,[r1,28] str r2,[r7,r4 lsl 3] .L13958: bl Gpt_Drvw_StopTimer ldr r1,[r6] ldr r2,[r1] add r10,r10,32 adds r5,r5,1 cmp r5,r2 blo .L12236 b .L9800 .L9794: adds r3,r6,4 movs r2,2 str r2,[r7,r4 lsl 3] str r0,[r3,r4 lsl 2] ldr r0,[r1,28] .L13960: bl Gpt_Drvw_StopTimer ldr r1,[r6] ldr r2,[r1] add r10,r10,32 adds r5,r5,1 cmp r5,r2 blo .L12236 b .L9800 .L9796: .L13962: bl Gpt_Drvw_EnableInterrupt .L9798: ldr r1,[r6] ldr r2,[r1] add r10,r10,32 adds r5,r5,1 cmp r5,r2 blo .L12236 .L9800: ldr r0,[r1,16] ldr r0,[r0] .L13964: bl Gpt_Drvw_StopPredefTimer ldr r0,[r6] ldr r0,[r0,16] ldr r0,[r0,4] .L13966: bl Gpt_Drvw_StopPredefTimer ldr r0,[r6] ldr r0,[r0,16] ldr r0,[r0,8] .L13968: bl Gpt_Drvw_StopPredefTimer ldr r0,[r6] ldr r0,[r0,16] ldr r0,[r0,12] .L13970: bl Gpt_Drvw_StopPredefTimer movs r0,1 b .L9760 .L9806: movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) ldr r0,[r1] cmp r0,1 bne .L9825 ldr r0,[r6] ldr r0,[r0,16] cpy r1,r4 ldr r0,[r0] .L13972: bl Gpt_Drvw_StartPredefTimer ldr r0,[r6] ldr r0,[r0,16] movs r1,1 ldr r0,[r0,4] .L13974: bl Gpt_Drvw_StartPredefTimer ldr r0,[r6] ldr r0,[r0,16] movs r1,2 ldr r0,[r0,8] .L13976: bl Gpt_Drvw_StartPredefTimer ldr r0,[r6] ldr r0,[r0,16] movs r1,3 ldr r0,[r0,12] .L13978: bl Gpt_Drvw_StartPredefTimer .L9825: ldr r1,[r6] ldr r2,[r1] cmp r4,r2 bhs .L9823 add r7,r6,20 .L12248: ldr r3,[r1,20] ldrb r0,[r3] mov r12,0 cmp r4,r0 beq .L9830 ldrb r0,[r3,1]! mov r12,1 cmp r4,r0 beq .L9830 ldrb r0,[r3,1]! mov r12,2 cmp r4,r0 beq .L9830 ldrb r3,[r3,1] mov r12,3 cmp r4,r3 it ne mov r12,4 .L9830: lsl r3,r12,3 add r12,r7,r3 ldr r0,[r1,4] ldrb r10,[r12,4] cmp r10,1 add r12,r5,r0 bne .L9832 ldr.w r0,[r12,28] .L13980: bl Gpt_Drvw_EnableInterrupt ldr r1,[r6] ldr r2,[r1] adds r5,r5,32 adds r4,r4,1 cmp r4,r2 blo .L12248 b .L9823 .L9832: ldr r0,[r7,r3] mov r3,r12 cmp r0,4 bne .L9834 ldr.w r12,[r12,24] cmp r12,0 bne .L9836 .L9834: ldr r0,[r3,28] .L13982: bl Gpt_Drvw_DisableInterrupt ldr r1,[r6] ldr r2,[r1] .L9836: adds r5,r5,32 adds r4,r4,1 cmp r4,r2 blo .L12248 .L9823: movs r0,0 .L9760: movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) str r0,[r1] .L13984: pop {r4-r7,r10-fp,pc} .endf Gpt_SetMode ;ReturnValue r4 local ;ElapsedTime r0 local ;ChannelIndex r5 local ;Channel r4 local ;ChannelIndex r4 local ;Channel r12 local ;Mode r5 param .section ".ghtailcalltbl","" .L13951: .data.w .L13950 .endo .L13951 .L13953: .data.w .L13952 .endo .L13953 .section ".ghcalltbl","" .L13955: .data.w .L13954 .endo .L13955 .L13957: .data.w .L13956 .endo .L13957 .L13959: .data.w .L13958 .endo .L13959 .L13961: .data.w .L13960 .endo .L13961 .L13963: .data.w .L13962 .endo .L13963 .L13965: .data.w .L13964 .endo .L13965 .L13967: .data.w .L13966 .endo .L13967 .L13969: .data.w .L13968 .endo .L13969 .L13971: .data.w .L13970 .endo .L13971 .L13973: .data.w .L13972 .endo .L13973 .L13975: .data.w .L13974 .endo .L13975 .L13977: .data.w .L13976 .endo .L13977 .L13979: .data.w .L13978 .endo .L13979 .L13981: .data.w .L13980 .endo .L13981 .L13983: .data.w .L13982 .endo .L13983 .section ".ghrettbl","" .L13985: .data.w .L13984 .endo .L13985 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.10: .endo ..gh.f.f.1.a.1.e.10 Gpt_DisableWakeup:: push {r4-r6,lr} cpy r5,r0 movw r6,%lo(Gpt_ConfigPtr) movt r6,%hi(Gpt_ConfigPtr) ldr r0,[r6] movs r1,r0 beq .L13996 cmp r5,4 bhs .L13995 ldr r0,[r0,20] ldrb r0,[r0,r5] cmp r0,255 bne .L13994 movs r3,24 movs r2,10 movs r1,0 movs r0,100 .L14476: bl Det_ReportError .L14478: pop {r4-r6,pc} .L13994: ldr r0,[r6] ldr r1,[r0,20] ldr r3,[r0,4] ldrb r1,[r1,r5] movs r4,0 lsls r2,r1,5 ldrb r2,[r2,r3] cmp r2,1 beq .L14004 movs r3,20 movs r2,10 cpy r1,r4 movs r0,100 pop {r4-r6,lr} .L14480: b Det_ReportError .L13995: movs r3,20 movs r2,10 movs r1,0 movs r0,100 .L14482: bl Det_ReportError .L14484: pop {r4-r6,pc} .L13996: movs r3,10 cpy r2,r3 movs r0,100 .L14486: bl Det_ReportError .L14488: pop {r4-r6,pc} .L14004: add r3,r6,r5 lsl 3 movw r12,%lo(Gpt_Mode) movt r12,%hi(Gpt_Mode) strb r4,[r3,25] ldr.w r3,[r12] add r2,r6,20 cmp r3,1 it ne .L14490: pop {r4-r6,pc} ldr r0,[r0,4] add r0,r0,r1 lsl 5 ldr r1,[r0,24] cmp r1,0 beq .L14010 ldr.w r1,[r2,r5 lsl 3] cmp r1,4 it eq .L14492: pop {r4-r6,pc} .L14010: ldr r0,[r0,28] pop {r4-r6,lr} .L14494: b Gpt_Drvw_DisableInterrupt .endf Gpt_DisableWakeup ;ChannelIndex r1 local ;ReturnValue r4 local ;ReturnValue r4 local ;Channel r5 param .section ".ghcalltbl","" .L14477: .data.w .L14476 .endo .L14477 .section ".ghrettbl","" .L14479: .data.w .L14478 .endo .L14479 .section ".ghtailcalltbl","" .L14481: .data.w .L14480 .endo .L14481 .section ".ghcalltbl","" .L14483: .data.w .L14482 .endo .L14483 .section ".ghrettbl","" .L14485: .data.w .L14484 .endo .L14485 .section ".ghcalltbl","" .L14487: .data.w .L14486 .endo .L14487 .section ".ghrettbl","" .L14489: .data.w .L14488 .endo .L14489 .L14491: .data.w .L14490 .endo .L14491 .L14493: .data.w .L14492 .endo .L14493 .section ".ghtailcalltbl","" .L14495: .data.w .L14494 .endo .L14495 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.11: .endo ..gh.f.f.1.a.1.e.11 Gpt_EnableWakeup:: push {r4-r6,lr} cpy r6,r0 movw r5,%lo(Gpt_ConfigPtr) movt r5,%hi(Gpt_ConfigPtr) ldr r0,[r5] movs r1,r0 beq .L14506 cmp r6,4 bhs .L14505 ldr r0,[r0,20] ldrb r0,[r0,r6] cmp r0,255 bne .L14504 movs r3,24 movs r2,11 movs r1,0 movs r0,100 .L14926: bl Det_ReportError .L14928: pop {r4-r6,pc} .L14504: ldr r0,[r5] ldr r1,[r0,20] ldr r3,[r0,4] ldrb r1,[r1,r6] movs r4,0 lsls r2,r1,5 ldrb r2,[r2,r3] cmp r2,1 beq .L14514 movs r3,20 movs r2,11 cpy r1,r4 movs r0,100 pop {r4-r6,lr} .L14930: b Det_ReportError .L14505: movs r3,20 movs r2,11 movs r1,0 movs r0,100 .L14932: bl Det_ReportError .L14934: pop {r4-r6,pc} .L14506: movs r3,10 movs r2,11 movs r0,100 .L14936: bl Det_ReportError .L14938: pop {r4-r6,pc} .L14514: add r2,r5,r6 lsl 3 movs r3,1 strb r3,[r2,25] movw r3,%lo(Gpt_Mode) movt r3,%hi(Gpt_Mode) ldr r2,[r3] cmp r2,1 it ne .L14940: pop {r4-r6,pc} ldr r0,[r0,4] add r0,r0,r1 lsl 5 ldr r0,[r0,28] pop {r4-r6,lr} .L14942: b Gpt_Drvw_EnableInterrupt .endf Gpt_EnableWakeup ;ChannelIndex r1 local ;ReturnValue r4 local ;ReturnValue r4 local ;Channel r6 param .section ".ghcalltbl","" .L14927: .data.w .L14926 .endo .L14927 .section ".ghrettbl","" .L14929: .data.w .L14928 .endo .L14929 .section ".ghtailcalltbl","" .L14931: .data.w .L14930 .endo .L14931 .section ".ghcalltbl","" .L14933: .data.w .L14932 .endo .L14933 .section ".ghrettbl","" .L14935: .data.w .L14934 .endo .L14935 .section ".ghcalltbl","" .L14937: .data.w .L14936 .endo .L14937 .section ".ghrettbl","" .L14939: .data.w .L14938 .endo .L14939 .L14941: .data.w .L14940 .endo .L14941 .section ".ghtailcalltbl","" .L14943: .data.w .L14942 .endo .L14943 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.12: .endo ..gh.f.f.1.a.1.e.12 Gpt_CheckWakeup:: push {r4-r7,r10,lr} movw r4,%lo(Gpt_ConfigPtr) movt r4,%hi(Gpt_ConfigPtr) ldr r2,[r4] movs r1,0 cbnz r2,.L14958 movs r3,10 movs r2,12 movs r0,100 pop {r4-r7,r10,lr} .L16165: b Det_ReportError .L14958: ldr r5,[r2] cmp r1,r5 it hs .L16167: pop {r4-r7,r10,pc} cpy r3,r1 ldr r7,[r2,4] ldr r6,[r2,20] .L15135: ldrb r12,[r6] movs r2,0 cmp r1,r12 beq .L14963 ldrb r10,[r6,1] movs r2,1 add r12,r6,1 cmp r1,r10 beq .L14963 ldrb r10,[r6,2] movs r2,2 add r12,r12,1 cmp r1,r10 beq .L14963 ldrb r12,[r12,1] movs r2,3 cmp r1,r12 it ne mov r2,4 .L14963: add r12,r3,r7 ldr.w r12,[r12,8] cmp r12,r0 bne .L14962 add r2,r4,r2 lsl 3 ldrb r12,[r2,26] adds r2,r2,20 cmp r12,1 bne .L14962 movs r1,0 strb r1,[r2,6] pop {r4-r7,r10,lr} .L16169: b EcuM_SetWakeupEvent .L14962: adds r3,r3,32 adds r1,r1,1 cmp r1,r5 blo .L15135 .L16171: pop {r4-r7,r10,pc} .endf Gpt_CheckWakeup ;Channel r2 local ;ChannelIndex r1 local ;WakeupSource r0 param .section ".ghtailcalltbl","" .L16166: .data.w .L16165 .endo .L16166 .section ".ghrettbl","" .L16168: .data.w .L16167 .endo .L16168 .section ".ghtailcalltbl","" .L16170: .data.w .L16169 .endo .L16170 .section ".ghrettbl","" .L16172: .data.w .L16171 .endo .L16172 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.13: .endo ..gh.f.f.1.a.1.e.13 Gpt_GetPredefTimerValue:: push {r4-r7,lr} cpy r4,r0 movw r6,%lo(Gpt_ConfigPtr) movt r6,%hi(Gpt_ConfigPtr) ldr r0,[r6] movs r5,1 cbnz r0,.L16185 movs r3,10 movs r2,13 cpy r1,r0 movs r0,100 .L16982: bl Det_ReportError b .L16173 .L16185: subs r7,r1,0 bne .L16187 movs r3,22 movs r2,13 movs r0,100 .L16984: bl Det_ReportError subs r5,r5,0 it ne mov r5,1 b .L16173 .L16187: movs r5,1 cmp r4,0 ittt ne cmp r4,1 cmp r4,2 cmp r4,3 bne .L16204 ldr r0,[r6] ldr r1,[r0,16] ldr.w r0,[r1,r4 lsl 2] cbz r0,.L16204 movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) ldr r0,[r1] movs r5,1 cmp r0,1 bne .L16213 movs r3,12 movs r2,13 movs r1,0 movs r0,100 .L16986: bl Det_ReportRuntimeError movs r0,0 str r0,[r7] b .L16173 .L16204: movs r3,23 movs r2,13 movs r1,0 movs r0,100 .L16988: bl Det_ReportError movs r0,0 str r0,[r7] b .L16173 .L16213: ldr r3,[r6] ldr r3,[r3,16] movs r5,0 subs r1,r4,1 cpy r2,r7 ldr.w r0,[r3,r4 lsl 2] cmp r1,2 ite hi mov r1,r5 mov r1,r4 .L16990: bl Gpt_Drvw_GetPredefTimerValue .L16173: cpy r0,r5 .L16992: pop {r4-r7,pc} .endf Gpt_GetPredefTimerValue ;ReturnValue r5 local ;Channel r0 local ;ReturnValue r5 local ;ReturnValue r5 local ;ReturnValue r5 local ;ReturnValue r5 local ;PredefTimer r4 param ;TimeValuePtr r7 param .section ".ghcalltbl","" .L16983: .data.w .L16982 .endo .L16983 .L16985: .data.w .L16984 .endo .L16985 .L16987: .data.w .L16986 .endo .L16987 .L16989: .data.w .L16988 .endo .L16989 .L16991: .data.w .L16990 .endo .L16991 .section ".ghrettbl","" .L16993: .data.w .L16992 .endo .L16993 .section ".mcal_code","ax" .assert 0x0 + (Gpt_ConfigPtr - Gpt_ConfigPtr) +0 == 0 .assert 0x0 + (Gpt_ChannelInfo - Gpt_ConfigPtr) +0 == 20 ..gh.f.f.1.a.1.e.14: .endo ..gh.f.f.1.a.1.e.14 Gpt_TimeMatchCallback:: push {r4-r7,lr} cpy r4,r0 movw r7,%lo(Gpt_ConfigPtr) movt r7,%hi(Gpt_ConfigPtr) ldr r0,[r7] cmp r0,0 it eq .L17314: pop {r4-r7,pc} ldr r1,[r0,20] ldrb r5,[r1,r4] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r1,[r0,24] add r6,r7,20 cmp r1,1 bne .L16998 ldr r0,[r0,28] .L17316: bl Gpt_Drvw_StopTimer movs r1,3 str r1,[r6,r4 lsl 3] .L16998: movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) ldr r0,[r1] cbnz r0,.L17004 add r0,r6,r4 lsl 3 ldrb r0,[r0,4] cmp r0,1 bne .L17004 ldr r0,[r7] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r0,[r0,4] cmp r0,0 it ne .L17318: blx r0 .L17004: movw r1,%lo(Gpt_Mode) movt r1,%hi(Gpt_Mode) ldr r0,[r1] cmp r0,1 it ne .L17320: pop {r4-r7,pc} add r0,r6,r4 lsl 3 ldrb r0,[r0,5] cmp r0,1 it ne .L17322: pop {r4-r7,pc} add r1,r6,r4 lsl 3 strb r0,[r1,6] ldr r0,[r7] ldr r0,[r0,4] add r0,r0,r5 lsl 5 ldr r0,[r0,8] pop {r4-r7,lr} .L17324: b EcuM_CheckWakeup .endf Gpt_TimeMatchCallback ;ChannelIndex r5 local ;Channel r4 param .section ".ghrettbl","" .L17315: .data.w .L17314 .endo .L17315 .section ".ghcalltbl","" .L17317: .data.w .L17316 .endo .L17317 .L17319: .data.w .L17318 .endo .L17319 .section ".ghrettbl","" .L17321: .data.w .L17320 .endo .L17321 .L17323: .data.w .L17322 .endo .L17323 .section ".ghtailcalltbl","" .L17325: .data.w .L17324 .endo .L17325 .section ".mcal_code","ax" ;Gpt_PreDefinedConfigPtr Gpt_PreDefinedConfigPtr import ;Gpt_ConfigPtr Gpt_ConfigPtr static ;Gpt_Mode Gpt_Mode static ;Gpt_StopTime Gpt_StopTime static ;Gpt_ChannelInfo Gpt_ChannelInfo static ;ReturnHwChannelInfo ReturnHwChannelInfo static .global Gpt_PreDefinedConfigPtr .ghsnote info, 27, 3, 640