;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\Dio_ZX_K14xM\Src\Dio.c -o objs\release\Dio.o ;Source File: ..\..\..\MCAL\Dio_ZX_K14xM\Src\Dio.c ;Directory: ; D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject ;Compile Date: Mon Dec 18 00:01:47 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 Dio_GetVersionInfo:: movs r1,r0 bne .L221 movs r3,32 movs r2,18 movs r0,120 .L318: b Det_ReportError .L221: movs r1,179 strh r1,[r0] movs r1,120 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] .L320: ret .endf Dio_GetVersionInfo ;VersionInfo r0 param .section ".bss","awb" .L276: .endo .L276 .section ".ghtailcalltbl","" .align 4 .L319: .data.w .L318 .endo .L319 .section ".ghrettbl","" .align 4 .L321: .data.w .L320 .endo .L321 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.1: .endo ..gh.f.f.1.a.1.e.1 Dio_FlipChannel:: push {r4,lr} movs r4,0 cmp r0,159 bhi .L332 asrs r1,r0,5 movw r2,%lo(Dio_AvailablePinsForWrite) movt r2,%hi(Dio_AvailablePinsForWrite) and r3,r0,31 mov r12,1 ldr.w r1,[r2,r1 lsl 2] lsl r3,r12,r3 tst r3,r1 beq .L332 movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r1,[r3] ldr r2,[r1,8] ldr.w r1,[r2,r0 lsl 2] ands r1,r1,1 cmp r1,1 beq .L325 .L332: movs r3,10 movs r2,17 cpy r1,r4 movs r0,120 .L545: bl Det_ReportError cpy r0,r4 .L547: pop {r4,pc} .L325: pop {r4,lr} .L549: b Dio_Drvw_FlipChannel .endf Dio_FlipChannel ;ChannelLevel r4 local ;ChannelId r0 param .section ".bss","awb" .L488: .endo .L488 .section ".ghcalltbl","" .align 4 .L546: .data.w .L545 .endo .L546 .section ".ghrettbl","" .L548: .data.w .L547 .endo .L548 .section ".ghtailcalltbl","" .L550: .data.w .L549 .endo .L550 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.2: .endo ..gh.f.f.1.a.1.e.2 Dio_MaskedWritePort:: cmp r0,5 bhs .L561 movw r12,%lo(Dio_AvailablePinsForWrite) movt r12,%hi(Dio_AvailablePinsForWrite) ldr.w r3,[r12,r0 lsl 2] cbz r3,.L561 movw r12,%lo(Dio_PreDefinedConfigPtr) movt r12,%hi(Dio_PreDefinedConfigPtr) ldr.w r3,[r12] ldr.w r12,[r3,12] ldr.w r3,[r12,r0 lsl 2] ands r3,r3,1 cmp r3,1 beq .L554 .L561: movs r3,20 movs r2,19 movs r1,0 movs r0,120 .L756: b Det_ReportError .L554: .L758: b Dio_Drvw_MaskedWritePort .endf Dio_MaskedWritePort ;PortId r0 param ;Level r1 param ;Mask r2 param .section ".bss","awb" .L705: .endo .L705 .section ".ghtailcalltbl","" .L757: .data.w .L756 .endo .L757 .L759: .data.w .L758 .endo .L759 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.3: .endo ..gh.f.f.1.a.1.e.3 Dio_ReadChannel:: push {r4,lr} movs r4,0 cmp r0,159 bhi .L770 asrs r1,r0,5 movw r2,%lo(Dio_AvailablePinsForRead) movt r2,%hi(Dio_AvailablePinsForRead) and r3,r0,31 mov r12,1 ldr.w r1,[r2,r1 lsl 2] lsl r3,r12,r3 tst r3,r1 beq .L770 movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r1,[r3] ldr r2,[r1,8] ldr.w r1,[r2,r0 lsl 2] ands r1,r1,1 cmp r1,1 beq .L763 .L770: movs r3,10 cpy r2,r4 cpy r1,r4 movs r0,120 .L993: bl Det_ReportError cpy r0,r4 .L995: pop {r4,pc} .L763: pop {r4,lr} .L997: b Dio_Drvw_ReadChannel .endf Dio_ReadChannel ;ChannelLevel r4 local ;ChannelId r0 param .section ".bss","awb" .L936: .endo .L936 .section ".ghcalltbl","" .L994: .data.w .L993 .endo .L994 .section ".ghrettbl","" .L996: .data.w .L995 .endo .L996 .section ".ghtailcalltbl","" .L998: .data.w .L997 .endo .L998 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.4: .endo ..gh.f.f.1.a.1.e.4 Dio_WriteChannel:: push {r4} cmp r0,159 bhi .L1009 asrs r2,r0,5 movw r3,%lo(Dio_AvailablePinsForWrite) movt r3,%hi(Dio_AvailablePinsForWrite) and r4,r0,31 mov r12,1 ldr.w r2,[r3,r2 lsl 2] lsl r4,r12,r4 tst r4,r2 beq .L1009 movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r2,[r3] ldr r3,[r2,8] ldr.w r2,[r3,r0 lsl 2] ands r2,r2,1 cmp r2,1 beq .L1002 .L1009: movs r3,10 movs r2,1 movs r1,0 movs r0,120 pop {r4} .L1204: b Det_ReportError .L1002: pop {r4} .L1206: b Dio_Drvw_WriteChannel .endf Dio_WriteChannel ;ChannelId r0 param ;Level r1 param .section ".bss","awb" .L1153: .endo .L1153 .section ".ghtailcalltbl","" .L1205: .data.w .L1204 .endo .L1205 .L1207: .data.w .L1206 .endo .L1207 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.5: .endo ..gh.f.f.1.a.1.e.5 Dio_ReadPort:: push {r4,lr} movs r4,0 cmp r0,5 bhs .L1218 movw r2,%lo(Dio_AvailablePinsForRead) movt r2,%hi(Dio_AvailablePinsForRead) ldr.w r1,[r2,r0 lsl 2] cbz r1,.L1218 movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r1,[r3] ldr r2,[r1,12] ldr.w r1,[r2,r0 lsl 2] ands r1,r1,1 cmp r1,1 beq .L1211 .L1218: movs r3,20 movs r2,2 cpy r1,r4 movs r0,120 .L1433: bl Det_ReportError cpy r0,r4 .L1435: pop {r4,pc} .L1211: pop {r4,lr} .L1437: b Dio_Drvw_ReadPort .endf Dio_ReadPort ;PortLevel r4 local ;PortId r0 param .section ".bss","awb" .L1376: .endo .L1376 .section ".ghcalltbl","" .L1434: .data.w .L1433 .endo .L1434 .section ".ghrettbl","" .L1436: .data.w .L1435 .endo .L1436 .section ".ghtailcalltbl","" .L1438: .data.w .L1437 .endo .L1438 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.6: .endo ..gh.f.f.1.a.1.e.6 Dio_WritePort:: cmp r0,5 bhs .L1449 movw r3,%lo(Dio_AvailablePinsForWrite) movt r3,%hi(Dio_AvailablePinsForWrite) ldr.w r2,[r3,r0 lsl 2] cbz r2,.L1449 movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r2,[r3] ldr r3,[r2,12] ldr.w r2,[r3,r0 lsl 2] ands r2,r2,1 cmp r2,1 beq .L1442 .L1449: movs r3,20 movs r2,3 movs r1,0 movs r0,120 .L1636: b Det_ReportError .L1442: .L1638: b Dio_Drvw_WritePort .endf Dio_WritePort ;PortId r0 param ;Level r1 param .section ".bss","awb" .L1585: .endo .L1585 .section ".ghtailcalltbl","" .L1637: .data.w .L1636 .endo .L1637 .L1639: .data.w .L1638 .endo .L1639 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.7: .endo ..gh.f.f.1.a.1.e.7 Dio_WriteChannelGroup:: cbnz r0,.L1648 movs r3,32 movs r2,5 cpy r1,r0 movs r0,120 .L1956: b Det_ReportError .L1648: movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r2,[r3] ldr r3,[r2,4] cmp r0,r3 blo .L1654 ldrb r2,[r2] add r2,r3,r2 lsl 3 subs r2,r2,8 cmp r0,r2 itt ls ldrb r2,[r0] cmp r2,5 bhs .L1654 ldrb r3,[r0,1] cmp r3,31 bhi .L1654 movw r3,%lo(Dio_AvailablePinsForWrite) movt r3,%hi(Dio_AvailablePinsForWrite) ldr.w r2,[r3,r2 lsl 2] cbnz r2,.L1643 .L1654: movs r3,31 movs r2,5 movs r1,0 movs r0,120 .L1958: b Det_ReportError .L1643: .L1960: b Dio_Drvw_WriteChannelGroup .endf Dio_WriteChannelGroup ;ChannelGroupIdPtr r0 param ;Level r1 param .section ".bss","awb" .L1872: .endo .L1872 .section ".ghtailcalltbl","" .L1957: .data.w .L1956 .endo .L1957 .L1959: .data.w .L1958 .endo .L1959 .L1961: .data.w .L1960 .endo .L1961 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.8: .endo ..gh.f.f.1.a.1.e.8 Dio_ReadChannelGroup:: push {r4,lr} movs r4,0 cbnz r0,.L1970 movs r3,32 movs r2,4 cpy r1,r4 movs r0,120 .L2297: bl Det_ReportError cpy r0,r4 .L2299: pop {r4,pc} .L1970: movw r3,%lo(Dio_PreDefinedConfigPtr) movt r3,%hi(Dio_PreDefinedConfigPtr) ldr r1,[r3] ldr r2,[r1,4] cmp r0,r2 blo .L1976 ldrb r1,[r1] add r1,r2,r1 lsl 3 subs r1,r1,8 cmp r0,r1 itt ls ldrb r1,[r0] cmp r1,5 bhs .L1976 ldrb r2,[r0,1] cmp r2,31 bhi .L1976 movw r2,%lo(Dio_AvailablePinsForRead) movt r2,%hi(Dio_AvailablePinsForRead) ldr.w r1,[r2,r1 lsl 2] cmp r1,0 bne .L1965 .L1976: movs r3,31 movs r2,4 cpy r1,r4 movs r0,120 .L2301: bl Det_ReportError cpy r0,r4 .L2303: pop {r4,pc} .L1965: pop {r4,lr} .L2305: b Dio_Drvw_ReadChannelGroup .endf Dio_ReadChannelGroup ;PortLevel r4 local ;ChannelGroupIdPtr r0 param .section ".bss","awb" .L2207: .endo .L2207 .section ".ghcalltbl","" .L2298: .data.w .L2297 .endo .L2298 .section ".ghrettbl","" .L2300: .data.w .L2299 .endo .L2300 .section ".ghcalltbl","" .L2302: .data.w .L2301 .endo .L2302 .section ".ghrettbl","" .L2304: .data.w .L2303 .endo .L2304 .section ".ghtailcalltbl","" .L2306: .data.w .L2305 .endo .L2306 .section ".mcal_code","ax" ;Dio_PreDefinedConfigPtr Dio_PreDefinedConfigPtr import ;Dio_AvailablePinsForWrite Dio_AvailablePinsForWrite import ;Dio_AvailablePinsForRead Dio_AvailablePinsForRead import .global Dio_PreDefinedConfigPtr .global Dio_AvailablePinsForWrite .global Dio_AvailablePinsForRead .ghsnote info, 27, 3, 640