;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\Fls_ZX_K14xM\Src\Fls.c -o objs\release\Fls.o ;Source File: ..\..\..\mcal\Fls_ZX_K14xM\Src\Fls.c ;Directory: ; D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject ;Compile Date: Mon Dec 18 00:01:43 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 Fls_GetLogicStartAddr: movs r1,r0 itt eq mov r0,0 .L1588: ret movw r2,%lo(Fls_ConfigPtr) movt r2,%hi(Fls_ConfigPtr) ldr r0,[r2] ldr r0,[r0,32] add r0,r0,r1 lsl 2 ldr.w r0,[r0,-4] ldr r0,[r0,8] adds r0,r0,1 .L1590: ret .endf Fls_GetLogicStartAddr ;Address r0 local ;SectorIndex r1 param .section ".mcal_bss","awb" .align 4 Fls_ConfigPtr: .space 4 .endo Fls_ConfigPtr .section ".ghrettbl","" .align 4 .L1589: .data.w .L1588 .endo .L1589 .L1591: .data.w .L1590 .endo .L1591 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.1: .endo ..gh.f.f.1.a.1.e.1 Fls_ConvertJobLogicAddrToPhyAddr: push {r4-r5,lr} movw r5,%lo(Fls_ConfigPtr) movt r5,%hi(Fls_ConfigPtr) ldr r4,[r5,12] cpy r0,r4 .L1653: bl Fls_GetLogicStartAddr ldr r1,[r5,20] subs r0,r1,r0 ldr r1,[r5] ldr r1,[r1,32] ldr.w r1,[r1,r4 lsl 2] ldr r1,[r1,12] add r0,r0,r1 .L1655: pop {r4-r5,pc} .endf Fls_ConvertJobLogicAddrToPhyAddr .section ".mcal_bss","awb" Fls_Job: .space 36 .endo Fls_Job .section ".ghcalltbl","" .align 4 .L1654: .data.w .L1653 .endo .L1654 .section ".ghrettbl","" .L1656: .data.w .L1655 .endo .L1656 .section ".mcal_code","ax" ..gh.f.f.1.a.1.e.2: .endo ..gh.f.f.1.a.1.e.2 Fls_GetSectorIndex: push {r4-r6} movw r3,%lo(Fls_ConfigPtr) movt r3,%hi(Fls_ConfigPtr) ldr r5,[r3] ldr r2,[r5,28] movs r1,0 lsrs r4,r2,3 beq .L1719 ldr r3,[r5,32] .L1727: ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 ldr.w r6,[r3,r1 lsl 2] ldr r6,[r6,8] cmp r0,r6 bls .L1665 adds r1,r1,1 subs r4,r4,1 bne .L1727 .L1719: ands r2,r2,7 beq .L1665 ldr r3,[r5,32] add r3,r3,r1 lsl 2 .L1722: ldr r4,[r3] ldr r4,[r4,8] cmp r0,r4 bls .L1665 adds r3,r3,4 adds r1,r1,1 subs r2,r2,1 bne .L1722 .L1665: cpy r0,r1 pop {r4-r6} .L2622: ret .endf Fls_GetSectorIndex ;SectorIndex r1 local ;TargetAddr r0 param .section ".ghrettbl","" .L2623: .data.w .L2622 .endo .L2623 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_Job) +0 == 0 ..gh.f.f.1.a.1.e.3: .endo ..gh.f.f.1.a.1.e.3 Fls_ObtainRWEndAddr: movw r2,%lo(Fls_Job) movt r2,%hi(Fls_Job) ldr r1,[r2,16] add r1,r1,r0 subs r0,r1,1 ldr r1,[r2,20] cmp r1,r0 it lo mov r0,r1 .L2739: ret .endf Fls_ObtainRWEndAddr ;TransferEndAddr r0 local ;MaxTransferSize r0 param .section ".ghrettbl","" .L2740: .data.w .L2739 .endo .L2740 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.4: .endo ..gh.f.f.1.a.1.e.4 Fls_Init:: push {r4,lr} cbz r0,.L2743 movs r3,1 movs r2,0 cpy r1,r2 movs r0,92 pop {r4,lr} .L3107: b Det_ReportError .L2743: movw r4,%lo(Fls_ConfigPtr) movt r4,%hi(Fls_ConfigPtr) ldr r0,[r4,8] cmp r0,2 bne .L2746 movs r3,6 movs r2,0 cpy r1,r2 movs r0,92 pop {r4,lr} .L3109: b Det_ReportError .L2746: movw r2,%lo(Fls_PreDefinedConfigPtr) movt r2,%hi(Fls_PreDefinedConfigPtr) ldr r0,[r2] ldr r1,[r0,8] str r0,[r4] cmp r1,1 bne .L2749 ldr r1,[r0,12] str r1,[r4,40] ldr r1,[r0,20] ldr r0,[r0,36] str r1,[r4,44] .L3111: bl Fls_Drvw_Init cmp r0,6 beq .L2753 .L2752: cmp r0,7 bne .L2755 movs r3,6 movs r2,0 cpy r1,r2 movs r0,92 .L3113: bl Det_ReportTransientFault movs r0,0 str r0,[r4,8] strb r0,[r4,36] .L3115: pop {r4,pc} .L2749: ldr r1,[r0,16] str r1,[r4,40] ldr r1,[r0,24] ldr r0,[r0,36] str r1,[r4,44] .L3117: bl Fls_Drvw_Init cmp r0,6 bne .L2752 .L2753: cpy r3,r0 movs r2,0 cpy r1,r2 movs r0,92 .L3119: bl Det_ReportError movs r0,0 str r0,[r4,8] strb r0,[r4,36] .L3121: pop {r4,pc} .L2755: cmp r0,9 bne .L2754 movs r3,4 movs r2,0 cpy r1,r2 movs r0,92 .L3123: bl Det_ReportError .L2754: movs r0,0 str r0,[r4,8] strb r0,[r4,36] .L3125: pop {r4,pc} .endf Fls_Init ;Ret r0 local ;ConfigPtr r0 param .section ".mcal_bss","awb" Fls_MaxRead: .space 4 .endo Fls_MaxRead Fls_MaxWrite: .space 4 .endo Fls_MaxWrite .section ".ghtailcalltbl","" .align 4 .L3108: .data.w .L3107 .endo .L3108 .L3110: .data.w .L3109 .endo .L3110 .section ".ghcalltbl","" .L3112: .data.w .L3111 .endo .L3112 .L3114: .data.w .L3113 .endo .L3114 .section ".ghrettbl","" .L3116: .data.w .L3115 .endo .L3116 .section ".ghcalltbl","" .L3118: .data.w .L3117 .endo .L3118 .L3120: .data.w .L3119 .endo .L3120 .section ".ghrettbl","" .L3122: .data.w .L3121 .endo .L3122 .section ".ghcalltbl","" .L3124: .data.w .L3123 .endo .L3124 .section ".ghrettbl","" .L3126: .data.w .L3125 .endo .L3126 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.5: .endo ..gh.f.f.1.a.1.e.5 Fls_Erase:: push {r4-fp,lr} sub sp,sp,12 cpy r7,r0 movw r6,%lo(Fls_ConfigPtr) movt r6,%hi(Fls_ConfigPtr) add r0,r0,r1 str r1,[sp,8] ldr r1,[r6] sub fp,r0,1 movs r4,0 cbnz r1,.L3129 movs r3,5 movs r2,1 movs r0,92 .L3747: bl Det_ReportError movs r4,1 .L3129: movs r8,r4 bne .L3158 ldr r0,[r6] ldr r5,[r0,32] ldr r0,[r0,28] add r0,r5,r0 lsl 2 ldr.w r0,[r0,-4] ldr.w r10,[r0,8] cmp r7,r10 bhi .L3144 cpy r0,r7 .L3749: bl Fls_GetSectorIndex ldr.w r2,[r5,r0 lsl 2] ldr r4,[r2] .L3751: bl Fls_GetLogicStartAddr cbz r4,.L3144 subs r0,r7,r0 udiv r2,r0,r4 mls r0,r2,r4,r0 cbz r0,.L3137 .L3144: movs r3,2 movs r2,1 mov r1,r8 movs r0,92 .L3753: bl Det_ReportError ldr r0,[r6] ldr r5,[r0,32] ldr r0,[r0,28] add r0,r5,r0 lsl 2 ldr.w r0,[r0,-4] mov r8,1 ldr.w r10,[r0,8] .L3137: mov r4,r8 mov r9,0 cmp fp,r10 bhi .L3155 mov r0,fp .L3755: bl Fls_GetSectorIndex ldr.w r2,[r5,r0 lsl 2] ldr r5,[r2] .L3757: bl Fls_GetLogicStartAddr cbz r5,.L3155 add r2,fp,1 subs r0,r2,r0 udiv r2,r0,r5 mls r0,r2,r5,r0 cbnz r0,.L3155 ldr r0,[sp,8] cbnz r0,.L3135 .L3155: movs r3,3 movs r2,1 mov r1,r9 movs r0,92 .L3759: bl Det_ReportError mov r9,1 .L3135: orrs r4,r4,r9 bne .L3158 ldr r0,[r6,8] cmp r0,2 bne .L3160 movs r3,6 movs r2,1 cpy r1,r4 movs r0,92 .L3761: bl Det_ReportError movs r0,1 b .L3127 .L3160: cpy r0,r7 .L3763: bl Fls_GetSectorIndex str r0,[r6,12] mov r0,fp .L3765: bl Fls_GetSectorIndex add r1,r6,16 stm r1,{r0,r7,fp} str r4,[r1,-12] movs r2,2 str r2,[r1,-8] strb r4,[r1,20] .L3158: cpy r0,r4 .L3127: add sp,sp,12 .L3767: pop {r4-fp,pc} .endf Fls_Erase ;RetVal r4 local ;EndAddr fp local ;RetVal r4 local ;RetVal r8 local ;SectorSize r4 local ;StartAddr r0 local ;RetVal r9 local ;SecSize r5 local ;StartAddr r0 local ;TargetAddress r7 param ;Length [sp,8] param .section ".ghcalltbl","" .L3748: .data.w .L3747 .endo .L3748 .L3750: .data.w .L3749 .endo .L3750 .L3752: .data.w .L3751 .endo .L3752 .L3754: .data.w .L3753 .endo .L3754 .L3756: .data.w .L3755 .endo .L3756 .L3758: .data.w .L3757 .endo .L3758 .L3760: .data.w .L3759 .endo .L3760 .L3762: .data.w .L3761 .endo .L3762 .L3764: .data.w .L3763 .endo .L3764 .L3766: .data.w .L3765 .endo .L3766 .section ".ghrettbl","" .L3768: .data.w .L3767 .endo .L3768 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.6: .endo ..gh.f.f.1.a.1.e.6 Fls_Write:: push {r4-fp,lr} sub sp,sp,20 cpy r7,r0 mov r10,r1 movw r6,%lo(Fls_ConfigPtr) movt r6,%hi(Fls_ConfigPtr) add r0,r0,r2 sub fp,r0,1 movs r4,0 ldr r1,[r6] str r2,[sp,12] cbnz r1,.L3771 movs r3,5 movs r2,2 movs r0,92 .L4446: bl Det_ReportError movs r4,1 .L3771: cmp r4,0 bne .L3802 ldr r0,[r6] ldr r5,[r0,32] ldr r0,[r0,28] add r0,r5,r0 lsl 2 ldr.w r0,[r0,-4] ldr.w r9,[r0,8] cmp r7,r9 bhi .L3786 cpy r0,r7 .L4448: bl Fls_GetSectorIndex str r0,[sp,8] .L4450: bl Fls_GetLogicStartAddr ldr r1,[sp,8] ldr.w r3,[r5,r1 lsl 2] ldr r3,[r3,4] cbz r3,.L3786 subs r0,r7,r0 udiv r12,r0,r3 mls r0,r12,r3,r0 cbz r0,.L3779 .L3786: movs r3,2 cpy r2,r3 cpy r1,r4 movs r0,92 .L4452: bl Det_ReportError ldr r0,[r6] ldr r5,[r0,32] ldr r0,[r0,28] add r0,r5,r0 lsl 2 ldr.w r0,[r0,-4] movs r4,1 ldr.w r9,[r0,8] .L3779: mov r8,0 cmp fp,r9 bhi .L3797 mov r0,fp .L4454: bl Fls_GetSectorIndex ldr.w r3,[r5,r0 lsl 2] ldr r5,[r3,4] .L4456: bl Fls_GetLogicStartAddr cbz r5,.L3797 add r3,fp,1 subs r0,r3,r0 udiv r3,r0,r5 mls r0,r3,r5,r0 cbnz r0,.L3797 ldr r0,[sp,12] cbnz r0,.L3789 .L3797: movs r3,3 movs r2,2 mov r1,r8 movs r0,92 .L4458: bl Det_ReportError mov r8,1 .L3789: orr r4,r4,r8 .L3802: movs r0,0 subs r1,r10,0 bne .L3800 movs r3,4 movs r2,2 movs r0,92 .L4460: bl Det_ReportError movs r0,1 .L3800: orrs r4,r0 bne .L3806 ldr r2,[r6,8] cmp r2,2 bne .L3808 movs r3,6 cpy r1,r4 movs r0,92 .L4462: bl Det_ReportError movs r0,1 b .L3769 .L3808: cpy r0,r7 .L4464: bl Fls_GetSectorIndex str r0,[r6,12] mov r0,fp .L4466: bl Fls_GetSectorIndex add r1,r6,16 mov r8,fp stm r1,{r0,r7-r8,r10} movs r0,1 str r0,[r1,-12] strb r4,[r1,20] movs r0,2 str r0,[r1,-8] .L3806: cpy r0,r4 .L3769: add sp,sp,20 .L4468: pop {r4-fp,pc} .endf Fls_Write ;RetVal r4 local ;EndAddr fp local ;RetVal r4 local ;RetVal r4 local ;SecIndex [sp,8] local ;PageSize r3 local ;StartAddr r0 local ;RetVal r8 local ;PageSize r5 local ;StartAddr r0 local ;RetVal r0 local ;TargetAddress r7 param ;SourceAddressPtr r10 param ;Length [sp,12] param .section ".ghcalltbl","" .L4447: .data.w .L4446 .endo .L4447 .L4449: .data.w .L4448 .endo .L4449 .L4451: .data.w .L4450 .endo .L4451 .L4453: .data.w .L4452 .endo .L4453 .L4455: .data.w .L4454 .endo .L4455 .L4457: .data.w .L4456 .endo .L4457 .L4459: .data.w .L4458 .endo .L4459 .L4461: .data.w .L4460 .endo .L4461 .L4463: .data.w .L4462 .endo .L4463 .L4465: .data.w .L4464 .endo .L4465 .L4467: .data.w .L4466 .endo .L4467 .section ".ghrettbl","" .L4469: .data.w .L4468 .endo .L4469 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.7: .endo ..gh.f.f.1.a.1.e.7 Fls_Cancel:: push {r4,lr} movw r4,%lo(Fls_ConfigPtr) movt r4,%hi(Fls_ConfigPtr) ldr r1,[r4] cbnz r1,.L4472 movs r3,5 movs r2,3 movs r0,92 pop {r4,lr} .L4729: b Det_ReportError .L4472: ldr r0,[r4,8] cmp r0,2 bne .L4475 ldr r0,[r4,4] .L4731: bl Fls_Drvw_Cancel cmp r0,0 it ne cmp r0,8 beq .L4480 movs r3,9 movs r2,3 movs r1,0 movs r0,92 .L4733: bl Det_ReportRuntimeError .L4480: movs r0,3 str r0,[r4,8] movs r0,0 strb r0,[r4,36] ldr r0,[r4] ldr r0,[r0,4] cmp r0,0 it eq .L4735: pop {r4,pc} pop {r4,lr} .L4737: bx r0 .L4475: movs r0,0 strb r0,[r4,36] .L4739: pop {r4,pc} .endf Fls_Cancel ;Ret r0 local .section ".ghtailcalltbl","" .L4730: .data.w .L4729 .endo .L4730 .section ".ghcalltbl","" .L4732: .data.w .L4731 .endo .L4732 .L4734: .data.w .L4733 .endo .L4734 .section ".ghrettbl","" .L4736: .data.w .L4735 .endo .L4736 .section ".ghtailcalltbl","" .L4738: .data.w .L4737 .endo .L4738 .section ".ghrettbl","" .L4740: .data.w .L4739 .endo .L4740 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.8: .endo ..gh.f.f.1.a.1.e.8 Fls_GetStatus:: push {r4} movw r4,%lo(Fls_ConfigPtr) movt r4,%hi(Fls_ConfigPtr) ldr r0,[r4] cbz r0,.L4741 ldr r0,[r4,8] cmp r0,2 it ne mov r0,1 .L4741: pop {r4} .L4981: ret .endf Fls_GetStatus .section ".ghrettbl","" .L4982: .data.w .L4981 .endo .L4982 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.9: .endo ..gh.f.f.1.a.1.e.9 Fls_GetJobResult:: push {r4,lr} movw r4,%lo(Fls_ConfigPtr) movt r4,%hi(Fls_ConfigPtr) ldr r1,[r4] cbnz r1,.L4985 movs r3,5 cpy r2,r3 movs r0,92 .L5094: bl Det_ReportError movs r0,1 .L5096: pop {r4,pc} .L4985: ldr r0,[r4,8] .L5098: pop {r4,pc} .endf Fls_GetJobResult .section ".ghcalltbl","" .L5095: .data.w .L5094 .endo .L5095 .section ".ghrettbl","" .L5097: .data.w .L5096 .endo .L5097 .L5099: .data.w .L5098 .endo .L5099 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.10: .endo ..gh.f.f.1.a.1.e.10 Fls_Read:: push {r4-r7,r10-fp,lr} mov r10,r1 movw r5,%lo(Fls_ConfigPtr) movt r5,%hi(Fls_ConfigPtr) ldr r1,[r5] cpy r6,r0 mov fp,r2 add r0,r0,r2 subs r7,r0,1 movs r4,0 cbnz r1,.L5102 movs r3,5 movs r2,6 movs r0,92 .L5600: bl Det_ReportError movs r4,1 .L5102: cbnz r4,.L5125 ldr r1,[r5] ldr r0,[r1,28] ldr r2,[r1,32] add r0,r2,r0 lsl 2 ldr.w r0,[r0,-4] ldr r0,[r0,8] cmp r6,r0 bls .L5110 movs r3,2 movs r2,6 cpy r1,r4 movs r0,92 .L5602: bl Det_ReportError movs r4,1 .L5110: movs r0,0 cmp fp,0 beq .L5120 ldr r1,[r5] ldr r2,[r1,32] ldr r1,[r1,28] add r1,r2,r1 lsl 2 ldr.w r1,[r1,-4] ldr r1,[r1,8] cmp r7,r1 bls .L5116 .L5120: movs r3,3 movs r2,6 cpy r1,r0 movs r0,92 .L5604: bl Det_ReportError movs r0,1 .L5116: orrs r4,r0 .L5125: movs r0,0 cmp r10,0 bne .L5123 movs r3,4 movs r2,6 cpy r1,r0 movs r0,92 .L5606: bl Det_ReportError movs r0,1 .L5123: orrs r4,r0 bne .L5129 ldr r0,[r5,8] cmp r0,2 bne .L5131 movs r3,6 cpy r2,r3 cpy r1,r4 movs r0,92 .L5608: bl Det_ReportError movs r0,1 .L5610: pop {r4-r7,r10-fp,pc} .L5131: cpy r0,r6 .L5612: bl Fls_GetSectorIndex str r0,[r5,12] cpy r0,r7 .L5614: bl Fls_GetSectorIndex add r1,r5,16 stm r1,{r0,r6-r7} str r10,[r1,16] movs r0,2 str r0,[r1,-12] str r0,[r1,-8] strb r4,[r1,20] .L5129: cpy r0,r4 .L5616: pop {r4-r7,r10-fp,pc} .endf Fls_Read ;RetVal r4 local ;EndAddr r7 local ;RetVal r4 local ;RetVal r4 local ;RetVal r0 local ;RetVal r0 local ;SourceAddress r6 param ;TargetAddressPtr r10 param ;Length fp param .section ".ghcalltbl","" .L5601: .data.w .L5600 .endo .L5601 .L5603: .data.w .L5602 .endo .L5603 .L5605: .data.w .L5604 .endo .L5605 .L5607: .data.w .L5606 .endo .L5607 .L5609: .data.w .L5608 .endo .L5609 .section ".ghrettbl","" .L5611: .data.w .L5610 .endo .L5611 .section ".ghcalltbl","" .L5613: .data.w .L5612 .endo .L5613 .L5615: .data.w .L5614 .endo .L5615 .section ".ghrettbl","" .L5617: .data.w .L5616 .endo .L5617 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.11: .endo ..gh.f.f.1.a.1.e.11 Fls_Compare:: push {r4-r7,r10-fp,lr} mov r10,r1 movw r5,%lo(Fls_ConfigPtr) movt r5,%hi(Fls_ConfigPtr) ldr r1,[r5] cpy r6,r0 mov fp,r2 add r0,r0,r2 subs r7,r0,1 movs r4,0 cbnz r1,.L5620 movs r3,5 movs r2,7 movs r0,92 .L6128: bl Det_ReportError movs r4,1 .L5620: cbnz r4,.L5643 ldr r1,[r5] ldr r0,[r1,28] ldr r2,[r1,32] add r0,r2,r0 lsl 2 ldr.w r0,[r0,-4] ldr r0,[r0,8] cmp r6,r0 bls .L5628 movs r3,2 movs r2,7 cpy r1,r4 movs r0,92 .L6130: bl Det_ReportError movs r4,1 .L5628: movs r0,0 cmp fp,0 beq .L5638 ldr r1,[r5] ldr r2,[r1,32] ldr r1,[r1,28] add r1,r2,r1 lsl 2 ldr.w r1,[r1,-4] ldr r1,[r1,8] cmp r7,r1 bls .L5634 .L5638: movs r3,3 movs r2,7 cpy r1,r0 movs r0,92 .L6132: bl Det_ReportError movs r0,1 .L5634: orrs r4,r0 .L5643: movs r0,0 cmp r10,0 bne .L5641 movs r3,4 movs r2,7 cpy r1,r0 movs r0,92 .L6134: bl Det_ReportError movs r0,1 .L5641: orrs r4,r0 bne .L5647 ldr r0,[r5,8] cmp r0,2 bne .L5649 movs r3,6 movs r2,7 cpy r1,r4 movs r0,92 .L6136: bl Det_ReportError movs r0,1 .L6138: pop {r4-r7,r10-fp,pc} .L5649: cpy r0,r6 .L6140: bl Fls_GetSectorIndex str r0,[r5,12] cpy r0,r7 .L6142: bl Fls_GetSectorIndex add r1,r5,16 stm r1,{r0,r6-r7,r10} movs r0,3 str r0,[r1,-12] strb r4,[r1,20] movs r0,2 str r0,[r1,-8] .L5647: cpy r0,r4 .L6144: pop {r4-r7,r10-fp,pc} .endf Fls_Compare ;RetVal r4 local ;EndAddr r7 local ;RetVal r4 local ;RetVal r4 local ;RetVal r0 local ;RetVal r0 local ;SourceAddress r6 param ;TargetAddressPtr r10 param ;Length fp param .section ".ghcalltbl","" .L6129: .data.w .L6128 .endo .L6129 .L6131: .data.w .L6130 .endo .L6131 .L6133: .data.w .L6132 .endo .L6133 .L6135: .data.w .L6134 .endo .L6135 .L6137: .data.w .L6136 .endo .L6137 .section ".ghrettbl","" .L6139: .data.w .L6138 .endo .L6139 .section ".ghcalltbl","" .L6141: .data.w .L6140 .endo .L6141 .L6143: .data.w .L6142 .endo .L6143 .section ".ghrettbl","" .L6145: .data.w .L6144 .endo .L6145 .section ".mcal_code","ax" .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.12: .endo ..gh.f.f.1.a.1.e.12 Fls_SetMode:: push {r4,lr} movw r4,%lo(Fls_ConfigPtr) movt r4,%hi(Fls_ConfigPtr) ldr r1,[r4] cbnz r1,.L6148 movs r3,5 movs r2,8 movs r0,92 pop {r4,lr} .L6355: b Det_ReportError .L6148: ldr r2,[r4,8] cmp r2,2 bne .L6151 movs r3,6 movs r2,8 movs r1,0 movs r0,92 pop {r4,lr} .L6357: b Det_ReportError .L6151: cmp r0,1 blo .L6156 it ne .L6359: pop {r4,pc} ldr r0,[r1,12] str r0,[r4,40] ldr r0,[r1,20] str r0,[r4,44] .L6361: pop {r4,pc} .L6156: ldr r0,[r1,16] str r0,[r4,40] ldr r0,[r1,24] str r0,[r4,44] .L6363: pop {r4,pc} .endf Fls_SetMode ;Mode r0 param .section ".ghtailcalltbl","" .L6356: .data.w .L6355 .endo .L6356 .L6358: .data.w .L6357 .endo .L6358 .section ".ghrettbl","" .L6360: .data.w .L6359 .endo .L6360 .L6362: .data.w .L6361 .endo .L6362 .L6364: .data.w .L6363 .endo .L6364 .section ".mcal_code","ax" .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 ..gh.f.f.1.a.1.e.13: .endo ..gh.f.f.1.a.1.e.13 Fls_BlankCheck:: push {r4-r7,r10,lr} cpy r6,r0 mov r10,r1 movw r5,%lo(Fls_ConfigPtr) movt r5,%hi(Fls_ConfigPtr) add r0,r0,r1 ldr r1,[r5] subs r7,r0,1 movs r4,0 cbnz r1,.L6367 movs r3,5 movs r2,10 movs r0,92 .L6819: bl Det_ReportError movs r4,1 .L6367: cmp r4,0 bne .L6388 ldr r0,[r5] ldr r1,[r0,32] ldr r0,[r0,28] add r0,r1,r0 lsl 2 ldr.w r0,[r0,-4] ldr r0,[r0,8] cmp r6,r0 bls .L6375 movs r3,2 movs r2,10 cpy r1,r4 movs r0,92 .L6821: bl Det_ReportError movs r4,1 .L6375: movs r1,0 cmp r10,0 beq .L6385 ldr r0,[r5] ldr r2,[r0,32] ldr r0,[r0,28] add r0,r2,r0 lsl 2 ldr.w r0,[r0,-4] ldr r0,[r0,8] cmp r7,r0 bls .L6373 .L6385: movs r3,3 movs r2,10 movs r0,92 .L6823: bl Det_ReportError movs r1,1 .L6373: orrs r4,r1 bne .L6388 ldr r0,[r5,8] cmp r0,2 bne .L6390 movs r3,6 movs r2,10 cpy r1,r4 movs r0,92 .L6825: bl Det_ReportError movs r0,1 .L6827: pop {r4-r7,r10,pc} .L6390: cpy r0,r6 .L6829: bl Fls_GetSectorIndex str r0,[r5,12] cpy r0,r7 .L6831: bl Fls_GetSectorIndex add r1,r5,16 stm r1,{r0,r6-r7} movs r0,4 str r0,[r1,-12] strb r4,[r1,20] movs r0,2 str r0,[r1,-8] .L6388: cpy r0,r4 .L6833: pop {r4-r7,r10,pc} .endf Fls_BlankCheck ;RetVal r4 local ;EndAddr r7 local ;RetVal r4 local ;RetVal r4 local ;RetVal r1 local ;TargetAddress r6 param ;Length r10 param .section ".ghcalltbl","" .L6820: .data.w .L6819 .endo .L6820 .L6822: .data.w .L6821 .endo .L6822 .L6824: .data.w .L6823 .endo .L6824 .L6826: .data.w .L6825 .endo .L6826 .section ".ghrettbl","" .L6828: .data.w .L6827 .endo .L6828 .section ".ghcalltbl","" .L6830: .data.w .L6829 .endo .L6830 .L6832: .data.w .L6831 .endo .L6832 .section ".ghrettbl","" .L6834: .data.w .L6833 .endo .L6834 .section ".mcal_code","ax" .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 ..gh.f.f.1.a.1.e.14: .endo ..gh.f.f.1.a.1.e.14 Fls_MainFunction:: push {r4-r8,r10-fp,lr} movw r6,%lo(Fls_ConfigPtr) movt r6,%hi(Fls_ConfigPtr) ldr r5,[r6] sub sp,sp,4 cmp r5,0 beq .L6835 ldr r0,[r6,8] cmp r0,2 bne .L6835 ldrb r0,[r6,36] ldr.w fp,[r6,4] cmp r0,1 beq .L6845 mov r8,2 cmp fp,0 ldr r7,[r6,20] beq .L6872 .L6886: cmp fp,1 ldr r0,[r6,24] bne .L6911 mov r10,0 cmp r7,r0 bhi .L6940 ldr r0,[r6,44] .L11711: bl Fls_ObtainRWEndAddr cpy r4,r0 cmp r7,r0 bhi .L6900 b .L6899 .L6845: cmp fp,0 bne .L6855 mov r8,2 .L11713: bl Fls_ConvertJobLogicAddrToPhyAddr ldr r2,[r5,32] ldr r1,[r6,12] ldr.w r1,[r2,r1 lsl 2] ldr r4,[r1] cpy r1,r4 .L11715: bl Fls_Drvw_HandleAsyncEraseJob cpy r5,r0 cmp r0,6 beq .L6945 strb fp,[r6,36] cbz r5,.L6852 movs r3,1 mov r8,r3 movs r2,11 mov r1,fp movs r0,92 .L11717: bl Det_ReportTransientFault cmp r5,2 bne .L6850 movs r3,7 movs r2,11 mov r1,fp movs r0,92 .L11719: bl Det_ReportRuntimeError str r8,[r6,8] b .L6951 .L6850: cmp r5,5 bne .L6945 b .L6861 .L6852: ldr r5,[r6] ldr r1,[r6,12] ldr r0,[r5,32] ldr r7,[r6,20] ldr.w r0,[r0,r1 lsl 2] add r7,r7,r4 str r7,[r6,20] ldr r0,[r0,8] cmp r7,r0 bls .L6871 b .L7278 .L6855: mov r8,r0 cmp fp,1 bne .L6945 movs r7,2 mov r8,r7 .L11721: bl Fls_ConvertJobLogicAddrToPhyAddr ldr r2,[r5,32] ldr r1,[r6,12] ldr.w r1,[r2,r1 lsl 2] ldr r4,[r1,4] ldr r1,[r6,28] cpy r2,r4 .L11723: bl Fls_Drvw_HandleAsyncWriteJob cpy r5,r0 cmp r0,6 beq .L6945 movs r1,0 strb r1,[r6,36] cbz r5,.L6862 mov r8,fp cpy r3,r7 movs r2,11 movs r0,92 .L11725: bl Det_ReportTransientFault cmp r5,3 bne .L6860 movs r3,8 movs r2,11 movs r1,0 movs r0,92 .L11727: bl Det_ReportRuntimeError str fp,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6860: cmp r5,5 bne .L6945 .L6861: movs r3,9 movs r2,11 movs r1,0 movs r0,92 .L11729: bl Det_ReportRuntimeError str r8,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6862: ldr r0,[r6,28] ldr r5,[r6] ldr r1,[r6,12] add r0,r0,r4 str r0,[r6,28] ldr r0,[r5,32] ldr r7,[r6,20] ldr.w r0,[r0,r1 lsl 2] add r7,r7,r4 str r7,[r6,20] ldr r0,[r0,8] cmp r7,r0 bls .L6871 .L7278: adds r0,r1,1 str r0,[r6,12] .L6871: ldr.w fp,[r6,4] cmp fp,0 bne .L6886 .L6872: .L11731: bl Fls_ConvertJobLogicAddrToPhyAddr ldr r1,[r6,24] cmp r7,r1 bhi .L6940 ldr r2,[r5,32] ldr r1,[r6,12] ldr.w r1,[r2,r1 lsl 2] ldrb r4,[r1,16] ldr r5,[r1] cpy r1,r4 .L11733: bl Fls_Drvw_EraseSector cpy r7,r0 cmp r0,4 beq .L6901 cbz r0,.L6881 movs r3,1 mov r8,r3 movs r2,11 mov r1,fp movs r0,92 .L11735: bl Det_ReportTransientFault cmp r7,2 beq .L6904 cmp r7,5 beq .L6908 b .L6945 .L6881: cmp r4,0 bne .L6945 ldr r7,[r6,20] ldr r0,[r6,24] add r7,r7,r5 str r7,[r6,20] cmp r7,r0 bhi .L6940 ldr r0,[r6] ldr r1,[r6,12] ldr r0,[r0,32] ldr.w r0,[r0,r1 lsl 2] ldr r0,[r0,8] cmp r7,r0 bls .L6945 adds r0,r1,1 str r0,[r6,12] str r8,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6893: ldr r0,[r6] ldr r1,[r6,12] ldr r2,[r0,32] ldr.w r1,[r2,r1 lsl 2] ldr r0,[r1,8] ldr r2,[r1,4] ldrb r10,[r1,17] cmp r0,r4 it hi mov r0,r4 subs r0,r0,r7 adds r5,r0,1 cmp r10,1 bne .L6895 cmp r5,r2 it hi mov r5,r2 .L6895: .L11737: bl Fls_ConvertJobLogicAddrToPhyAddr mov r3,r10 cpy r1,r5 ldr r2,[r6,28] .L11739: bl Fls_Drvw_WriteSector subs r10,r0,0 ldr r7,[r6,20] beq .L6896 cmp r7,r4 bls .L6899 b .L6900 .L6896: ldr r2,[r6] ldr r1,[r6,12] ldr r2,[r2,32] add r7,r7,r5 ldr r0,[r6,28] ldr.w r2,[r2,r1 lsl 2] str r7,[r6,20] add r0,r0,r5 ldr r2,[r2,8] str r0,[r6,28] cmp r7,r2 itt hi add r0,r1,1 str r0,[r6,12] cmp r7,r4 bhi .L6900 .L6899: cmp r10,0 beq .L6893 .L6900: cmp r10,4 bne .L6902 .L6901: movs r0,1 strb r0,[r6,36] str r8,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6902: cmp r10,0 beq .L6939 mov r8,fp movs r3,2 movs r2,11 movs r1,0 movs r0,92 .L11741: bl Det_ReportTransientFault cmp r10,2 bne .L6905 .L6904: movs r3,7 movs r2,11 movs r1,0 movs r0,92 .L11743: bl Det_ReportRuntimeError str r8,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6905: cmp r10,3 bne .L6907 movs r3,8 movs r2,11 movs r1,0 movs r0,92 .L11745: bl Det_ReportRuntimeError str fp,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6907: cmp r10,5 bne .L6945 .L6908: movs r3,9 movs r2,11 movs r1,0 movs r0,92 .L11747: bl Det_ReportRuntimeError str r8,[r6,8] cmp r8,1 beq .L6951 b .L6949 .L6911: cmp r7,r0 bhi .L6940 ldr r0,[r6,40] .L11749: bl Fls_ObtainRWEndAddr mov r10,r0 cmp r7,r0 bhi .L6945 ldr r1,[r6,12] ldr r2,[r5,32] .L6917: ldr.w r0,[r2,r1 lsl 2] ldr r0,[r0,8] movs r4,1 cmp r0,r10 it hi mov r0,r10 subs r0,r0,r7 adds r5,r0,1 .L11751: bl Fls_ConvertJobLogicAddrToPhyAddr subs fp,fp,2 blo .L6928 beq .L6918 cmp fp,2 blo .L6921 beq .L6925 add r0,r7,r5 str r0,[r6,20] cmp r4,1 bne .L6935 b .L6936 .L6918: cpy r1,r5 ldr r2,[r6,32] .L11753: bl Fls_Drvw_ReadSector subs r4,r0,0 beq .L6920 movs r3,3 movs r2,11 movs r1,0 movs r0,92 .L11755: bl Det_ReportTransientFault .L6920: ldr r0,[r6,32] ldr r7,[r6,20] add r0,r0,r5 str r0,[r6,32] add r7,r7,r5 str r7,[r6,20] cmp r4,0 beq .L6929 .L6934: cmp r4,1 .L6935: it ne cmp r4,2 bne .L6937 .L6936: movs r1,1 str r1,[r6,8] ldr r1,[r6] ldr r0,[r1,4] cmp r0,0 beq .L6835 .L6952: add sp,sp,4 pop {r4-r8,r10-fp,lr} .L11757: bx r0 .L6937: cmp r4,3 ite ne mov r8,2 mov r8,4 str r8,[r6,8] cmp r8,0 beq .L6946 b .L6948 .L6921: cpy r1,r5 ldr r2,[r6,28] .L11759: bl Fls_Drvw_CompareSector subs r4,r0,0 beq .L6924 movs r3,4 movs r2,11 movs r1,0 movs r0,92 .L11761: bl Det_ReportTransientFault cmp r4,3 bne .L6924 movs r3,8 movs r2,11 movs r1,0 movs r0,92 .L11763: bl Det_ReportRuntimeError .L6924: ldr r0,[r6,28] ldr r7,[r6,20] add r0,r0,r5 str r0,[r6,28] add r7,r7,r5 str r7,[r6,20] cbz r4,.L6929 b .L6934 .L6925: cpy r1,r5 .L11765: bl Fls_Drvw_BlankCheckSector subs r4,r0,0 beq .L9630 movs r3,4 movs r2,11 movs r1,0 movs r0,92 .L11767: bl Det_ReportTransientFault cmp r4,2 bne .L9630 movs r3,7 movs r2,11 movs r1,0 movs r0,92 .L11769: bl Det_ReportRuntimeError .L9630: ldr r7,[r6,20] .L6928: add r7,r7,r5 str r7,[r6,20] cmp r4,0 bne .L6934 .L6929: ldr r0,[r6] ldr r1,[r6,12] ldr r2,[r0,32] ldr.w r0,[r2,r1 lsl 2] ldr r0,[r0,8] cmp r7,r0 itt hi add r1,r1,1 str r1,[r6,12] cmp r7,r10 it ls ldr.w fp,[r6,4] bls .L6917 .L6939: ldr r0,[r6,24] cmp r7,r0 .L6940: it hi mov r8,0 .L6945: str r8,[r6,8] cmp r8,0 bne .L6948 .L6946: ldr r1,[r6] ldr r0,[r1] cbz r0,.L6835 add sp,sp,4 pop {r4-r8,r10-fp,lr} .L11771: bx r0 .L6948: cmp r8,1 beq .L6951 .L6949: cmp r8,3 it ne cmp r8,4 bne .L6835 .L6951: ldr r1,[r6] ldr r0,[r1,4] cmp r0,0 bne .L6952 .L6835: add sp,sp,4 .L11773: pop {r4-r8,r10-fp,pc} .endf Fls_MainFunction ;Result r8 local ;Ret r5 local ;PhySectorSize r4 local ;Ret r5 local ;PageSize r4 local ;AsyncFlag r4 local ;PhysicalSectorSize r5 local ;LowLevelRes r7 local ;PhyAddr r0 local ;WriteEndAddr r4 local ;LowLevelRes r10 local ;WriteLen r5 local ;PageSize r2 local ;ReadEndAddr r10 local ;LowLevelRes r4 local ;ReadLen r5 local ;PhyAddr r0 local .section ".ghcalltbl","" .L11712: .data.w .L11711 .endo .L11712 .L11714: .data.w .L11713 .endo .L11714 .L11716: .data.w .L11715 .endo .L11716 .L11718: .data.w .L11717 .endo .L11718 .L11720: .data.w .L11719 .endo .L11720 .L11722: .data.w .L11721 .endo .L11722 .L11724: .data.w .L11723 .endo .L11724 .L11726: .data.w .L11725 .endo .L11726 .L11728: .data.w .L11727 .endo .L11728 .L11730: .data.w .L11729 .endo .L11730 .L11732: .data.w .L11731 .endo .L11732 .L11734: .data.w .L11733 .endo .L11734 .L11736: .data.w .L11735 .endo .L11736 .L11738: .data.w .L11737 .endo .L11738 .L11740: .data.w .L11739 .endo .L11740 .L11742: .data.w .L11741 .endo .L11742 .L11744: .data.w .L11743 .endo .L11744 .L11746: .data.w .L11745 .endo .L11746 .L11748: .data.w .L11747 .endo .L11748 .L11750: .data.w .L11749 .endo .L11750 .L11752: .data.w .L11751 .endo .L11752 .L11754: .data.w .L11753 .endo .L11754 .L11756: .data.w .L11755 .endo .L11756 .section ".ghtailcalltbl","" .L11758: .data.w .L11757 .endo .L11758 .section ".ghcalltbl","" .L11760: .data.w .L11759 .endo .L11760 .L11762: .data.w .L11761 .endo .L11762 .L11764: .data.w .L11763 .endo .L11764 .L11766: .data.w .L11765 .endo .L11766 .L11768: .data.w .L11767 .endo .L11768 .L11770: .data.w .L11769 .endo .L11770 .section ".ghtailcalltbl","" .L11772: .data.w .L11771 .endo .L11772 .section ".ghrettbl","" .L11774: .data.w .L11773 .endo .L11774 .section ".mcal_code","ax" ;Fls_PreDefinedConfigPtr Fls_PreDefinedConfigPtr import ;Fls_Job Fls_Job static ;Fls_ConfigPtr Fls_ConfigPtr static ;Fls_MaxRead Fls_MaxRead static ;Fls_MaxWrite Fls_MaxWrite static .global Fls_PreDefinedConfigPtr .ghsnote info, 27, 3, 640