Page 1 objs\release\Fls.s Command Line: C:\ghs\comp_202114\asarm.exe -annotate_call_return -elf -b0 -IGenerated\inc\ -I..\Generated\inc -I..\Src -I..\Generated\inc\ -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\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\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\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 -IC:\ghs\comp_202114\lib\thumb2 -cpu=cortexm4f -fpu=vfpv3_d16 -fpu=single -hardware_divide -source=Fls.c -o objs\release\Fls.o -list=objs\release\Fls.lst objs\release\Fls.s Original File: objs\release\Fls.s Source File: Fls.c Directory: D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject Host OS: Windows EASE: Copyright (C) 1983-2021 Green Hills Software. All Rights Reserved. Release: Compiler v2021.1.4 Build Directory: [Directory] COMP-VAL-WIN1:C:/autoval2/v2021.1-2021-04-25/win64-comp Revision: [VCInfo] http://toolsvc/branches/release-branch-2021-1-comp/src@696881 (built by auto-compiler) Revision Date: Mon Apr 26 12:33:25 2021 Release Date: Mon Apr 26 08:01:05 2021 1 ;Driver Command: ccarm -c -MD -IGenerated\inc\ -I..\Generated\inc -I..\Src 2 ; -I..\Src -I..\Generated\inc\ -I..\Src 3 ; -I..\..\..\MCAL\Platform_ZX_K14xM\Inc 4 ; -I..\..\..\MCAL\Platform_ZX_K14xM\StartUp\Inc 5 ; -I..\..\..\MCAL\McalLib_ZX_K14xM\Inc\Devices 6 ; -I..\..\..\MCAL\McalLib_ZX_K14xM\Inc 7 ; -I..\..\..\MCAL\Mcu_ZX_K14xM\Inc -I..\..\..\MCAL\Adc_ZX_K14xM\Inc 8 ; -I..\..\..\MCAL\Dem_ZX_K14xM\Inc -I..\..\..\MCAL\Det_ZX_K14xM\Inc 9 ; -I..\..\..\MCAL\Dio_ZX_K14xM\Inc 10 ; -I..\..\..\MCAL\Base_ZX_K14xM\Inc 11 ; -I..\..\..\MCAL\Wdg_ZX_K14xM\Inc 12 ; -I..\..\..\MCAL\Port_ZX_K14xM\Inc 13 ; -I..\..\..\MCAL\Rte_ZX_K14xM\Inc 14 ; -I..\..\..\MCAL\Base_ZX_K14xM\Inc\MemMap 15 ; -I..\..\..\MCAL\WdgIf_ZX_K14xM\Inc 16 ; -I..\..\..\MCAL\Can_ZX_K14xM\Inc -I..\..\..\MCAL\Gpt_ZX_K14xM\Inc 17 ; -I..\..\..\MCAL\Dma_ZX_K14xM\Inc -I..\..\..\MCAL\Pwm_ZX_K14xM\Inc 18 ; -I..\..\..\MCAL\EcuM_ZX_K14xM\Inc 19 ; -I..\..\..\MCAL\Can_ZX_K14xM\Inc 20 ; -I..\..\..\MCAL\CanIf_ZX_K14xM\Inc 21 ; -I..\..\..\mcal\Icu_ZX_K14xM\Inc 22 ; -I..\..\..\MCAL\Ecum_ZX_K14xM\Inc 23 ; -I..\..\..\MCAL\Fls_ZX_K14xM\Inc 24 ; -I..\..\..\MCAL\MemIf_ZX_K14xM\Inc 25 ; -I..\..\..\mcal\Icu_ZX_K14xM\Inc -I..\..\..\mcal\Spi_ZX_K14xM\Inc 26 ; -I..\..\..\Package\OS\Task 27 ; -I..\..\..\Package\OS\Task\cpu_port\Zhixin 28 ; -I..\..\..\Package\cm_backtrace -I..\..\..\Package\Cdd 29 ; -I..\..\..\Package\Cdd\CddBuck\Gen 30 ; -I..\..\..\Package\Cdd\CddBuck\Gen 31 ; -I..\..\..\Package\Cdd\CddSbc\Api 32 ; -I..\..\..\Package\Cdd\CddSbc\Cfg 33 ; -I..\..\..\Package\Cdd\CddTle94x1\Cfg 34 ; -I..\..\..\Package\Cdd\CddTle94x1\Api 35 ; -I..\..\..\Package\Cdd\CddTle94x1\Gen 36 ; -I..\..\..\Package\Cdd\CddBoost\Api -cpu=cortexm4f -Wshadow 37 ; -Wtrigraphs -keeptempfiles -Wundef -Wimplicit-int -dual_debug 38 ; --no_commons --no_exceptions --gnu_asm 39 ; --incorrect_pragma_warnings --prototype_errors -list 40 ; --misra_2004=2.1 -ignore_debug_references 41 ; -preprocess_assembly_files -thumb_lib -thumb --hardware_divide 42 ; -c99 -no_japanese_automotive_c --std --stdl --slash_comment 43 ; -Ospeed --no_debug -object_dir=objs\release -filetype.c 44 ; ..\..\..\mcal\Fls_ZX_K14xM\Src\Fls.c -o objs\release\Fls.o 45 ;Source File: ..\..\..\mcal\Fls_ZX_K14xM\Src\Fls.c 46 ;Directory: 47 ; D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject 48 ;Compile Date: Mon Dec 18 00:01:43 2023 49 ;Host OS: Win64 50 ;Version: C-ARM 2021.1.4 RELEASE VERSION Page 2 objs\release\Fls.s 51 ;Release: Compiler v2021.1.4 52 ;Revision Date: Mon Apr 26 12:37:23 2021 53 ;Release Date: Mon Apr 26 08:01:05 2021 54 ; ecom -w -OLM 55 .section ".mcal_code","ax" 56 .align 2 57 ..gh.f.f.1.a.1.e.0: 58 .endo ..gh.f.f.1.a.1.e.0 59 .thumb2 60 Fls_GetLogicStartAddr: 00000000 0001 61 movs r1,r0 00000002 bf04 62 itt eq 00000004 2000 63 mov r0,0 64 .L1588: 65 00000006 4770 66 ret 00000008 f2400200* 67 movw r2,%lo(Fls_ConfigPtr) 0000000c f2c00200* 68 movt r2,%hi(Fls_ConfigPtr) 00000010 6810 69 ldr r0,[r2] 00000012 6a00 70 ldr r0,[r0,32] 00000014 eb000081 71 add r0,r0,r1 lsl 2 00000018 f8500c04 72 ldr.w r0,[r0,-4] 0000001c 6880 73 ldr r0,[r0,8] 0000001e 1c40 74 adds r0,r0,1 75 .L1590: 76 00000020 4770 77 ret 78 .endf Fls_GetLogicStartAddr 79 ;Address r0 local 80 81 ;SectorIndex r1 param 82 83 .section ".mcal_bss","awb" 84 .align 4 00000000 00000000 85 Fls_ConfigPtr: .space 4 86 .endo Fls_ConfigPtr 87 .section ".ghrettbl","" 88 .align 4 00000000 00000000* 89 .L1589: .data.w .L1588 90 .endo .L1589 00000004 00000000* 91 .L1591: .data.w .L1590 92 .endo .L1591 93 .section ".mcal_code","ax" 94 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 95 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 96 ..gh.f.f.1.a.1.e.1: 97 .endo ..gh.f.f.1.a.1.e.1 98 Fls_ConvertJobLogicAddrToPhyAddr: 00000022 b530 99 push {r4-r5,lr} 00000024 f2400500* 100 movw r5,%lo(Fls_ConfigPtr) 00000028 f2c00500* 101 movt r5,%hi(Fls_ConfigPtr) 0000002c 68ec 102 ldr r4,[r5,12] 0000002e 4620 103 cpy r0,r4 104 .L1653: 105 00000030 f7ffffe6* 106 bl Fls_GetLogicStartAddr 00000034 6969 107 ldr r1,[r5,20] 00000036 1a08 108 subs r0,r1,r0 00000038 6829 109 ldr r1,[r5] 0000003a 6a09 110 ldr r1,[r1,32] 0000003c f8511024 111 ldr.w r1,[r1,r4 lsl 2] Page 3 objs\release\Fls.s 00000040 68c9 112 ldr r1,[r1,12] 00000042 4408 113 add r0,r0,r1 114 .L1655: 115 00000044 bd30 116 pop {r4-r5,pc} 117 .endf Fls_ConvertJobLogicAddrToPhyAddr 118 119 .section ".mcal_bss","awb" 00000004 00000000 120 Fls_Job: .space 36 00000008 00000000 0000000c 00000000 00000010 00000000 00000014 00000000 00000018 00000000 0000001c 00000000 00000020 00000000 00000024 00000000 121 .endo Fls_Job 122 .section ".ghcalltbl","" 123 .align 4 00000000 00000000* 124 .L1654: .data.w .L1653 125 .endo .L1654 126 .section ".ghrettbl","" 00000008 00000000* 127 .L1656: .data.w .L1655 128 .endo .L1656 129 .section ".mcal_code","ax" 130 ..gh.f.f.1.a.1.e.2: 131 .endo ..gh.f.f.1.a.1.e.2 132 Fls_GetSectorIndex: 00000046 b470 133 push {r4-r6} 00000048 f2400300* 134 movw r3,%lo(Fls_ConfigPtr) 0000004c f2c00300* 135 movt r3,%hi(Fls_ConfigPtr) 00000050 681d 136 ldr r5,[r3] 00000052 69ea 137 ldr r2,[r5,28] 00000054 2100 138 movs r1,0 00000056 08d4 139 lsrs r4,r2,3 00000058 d032* 140 beq .L1719 0000005a 6a2b 141 ldr r3,[r5,32] 142 .L1727: 0000005c f8536021 143 ldr.w r6,[r3,r1 lsl 2] 00000060 68b6 144 ldr r6,[r6,8] 00000062 42b0 145 cmp r0,r6 00000064 d93a* 146 bls .L1665 00000066 1c49 147 adds r1,r1,1 00000068 f8536021 148 ldr.w r6,[r3,r1 lsl 2] 0000006c 68b6 149 ldr r6,[r6,8] 0000006e 42b0 150 cmp r0,r6 00000070 d934* 151 bls .L1665 00000072 1c49 152 adds r1,r1,1 00000074 f8536021 153 ldr.w r6,[r3,r1 lsl 2] 00000078 68b6 154 ldr r6,[r6,8] 0000007a 42b0 155 cmp r0,r6 0000007c d92e* 156 bls .L1665 0000007e 1c49 157 adds r1,r1,1 00000080 f8536021 158 ldr.w r6,[r3,r1 lsl 2] 00000084 68b6 159 ldr r6,[r6,8] 00000086 42b0 160 cmp r0,r6 00000088 d928* 161 bls .L1665 0000008a 1c49 162 adds r1,r1,1 0000008c f8536021 163 ldr.w r6,[r3,r1 lsl 2] 00000090 68b6 164 ldr r6,[r6,8] Page 4 objs\release\Fls.s 00000092 42b0 165 cmp r0,r6 00000094 d922* 166 bls .L1665 00000096 1c49 167 adds r1,r1,1 00000098 f8536021 168 ldr.w r6,[r3,r1 lsl 2] 0000009c 68b6 169 ldr r6,[r6,8] 0000009e 42b0 170 cmp r0,r6 000000a0 d91c* 171 bls .L1665 000000a2 1c49 172 adds r1,r1,1 000000a4 f8536021 173 ldr.w r6,[r3,r1 lsl 2] 000000a8 68b6 174 ldr r6,[r6,8] 000000aa 42b0 175 cmp r0,r6 000000ac d916* 176 bls .L1665 000000ae 1c49 177 adds r1,r1,1 000000b0 f8536021 178 ldr.w r6,[r3,r1 lsl 2] 000000b4 68b6 179 ldr r6,[r6,8] 000000b6 42b0 180 cmp r0,r6 000000b8 d910* 181 bls .L1665 000000ba 1c49 182 adds r1,r1,1 000000bc 1e64 183 subs r4,r4,1 000000be d1cd* 184 bne .L1727 185 .L1719: 000000c0 f0120207 186 ands r2,r2,7 000000c4 d00a* 187 beq .L1665 000000c6 6a2b 188 ldr r3,[r5,32] 000000c8 eb030381 189 add r3,r3,r1 lsl 2 190 .L1722: 000000cc 681c 191 ldr r4,[r3] 000000ce 68a4 192 ldr r4,[r4,8] 000000d0 42a0 193 cmp r0,r4 000000d2 d903* 194 bls .L1665 000000d4 1d1b 195 adds r3,r3,4 000000d6 1c49 196 adds r1,r1,1 000000d8 1e52 197 subs r2,r2,1 000000da d1f7* 198 bne .L1722 199 .L1665: 000000dc 4608 200 cpy r0,r1 000000de bc70 201 pop {r4-r6} 202 .L2622: 203 000000e0 4770 204 ret 205 .endf Fls_GetSectorIndex 206 ;SectorIndex r1 local 207 208 ;TargetAddr r0 param 209 210 .section ".ghrettbl","" 0000000c 00000000* 211 .L2623: .data.w .L2622 212 .endo .L2623 213 .section ".mcal_code","ax" 214 .assert 0x0 + (Fls_Job - Fls_Job) +0 == 0 215 ..gh.f.f.1.a.1.e.3: 216 .endo ..gh.f.f.1.a.1.e.3 217 Fls_ObtainRWEndAddr: 000000e2 f2400200* 218 movw r2,%lo(Fls_Job) 000000e6 f2c00200* 219 movt r2,%hi(Fls_Job) 000000ea 6911 220 ldr r1,[r2,16] 000000ec 4401 221 add r1,r1,r0 000000ee 1e48 222 subs r0,r1,1 000000f0 6951 223 ldr r1,[r2,20] 000000f2 4281 224 cmp r1,r0 000000f4 bf38 225 it lo Page 5 objs\release\Fls.s 000000f6 4608 226 mov r0,r1 227 .L2739: 228 000000f8 4770 229 ret 230 .endf Fls_ObtainRWEndAddr 231 ;TransferEndAddr r0 local 232 233 ;MaxTransferSize r0 param 234 235 .section ".ghrettbl","" 00000010 00000000* 236 .L2740: .data.w .L2739 237 .endo .L2740 238 .section ".mcal_code","ax" 239 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 240 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 241 .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 242 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 243 ..gh.f.f.1.a.1.e.4: 244 .endo ..gh.f.f.1.a.1.e.4 245 Fls_Init:: 000000fa b510 246 push {r4,lr} 000000fc b138* 247 cbz r0,.L2743 000000fe 2301 248 movs r3,1 00000100 2200 249 movs r2,0 00000102 4611 250 cpy r1,r2 00000104 205c 251 movs r0,92 00000106 e8bd4010 252 pop {r4,lr} 253 .L3107: 254 0000010a f000b800* 255 b Det_ReportError 256 .L2743: 0000010e f2400400* 257 movw r4,%lo(Fls_ConfigPtr) 00000112 f2c00400* 258 movt r4,%hi(Fls_ConfigPtr) 00000116 68a0 259 ldr r0,[r4,8] 00000118 2802 260 cmp r0,2 0000011a d107* 261 bne .L2746 0000011c 2306 262 movs r3,6 0000011e 2200 263 movs r2,0 00000120 4611 264 cpy r1,r2 00000122 205c 265 movs r0,92 00000124 e8bd4010 266 pop {r4,lr} 267 .L3109: 268 00000128 f000b800* 269 b Det_ReportError 270 .L2746: 0000012c f2400200* 271 movw r2,%lo(Fls_PreDefinedConfigPtr) 00000130 f2c00200* 272 movt r2,%hi(Fls_PreDefinedConfigPtr) 00000134 6810 273 ldr r0,[r2] 00000136 6881 274 ldr r1,[r0,8] 00000138 6020 275 str r0,[r4] 0000013a 2901 276 cmp r1,1 0000013c d115* 277 bne .L2749 0000013e 68c1 278 ldr r1,[r0,12] 00000140 62a1 279 str r1,[r4,40] 00000142 6941 280 ldr r1,[r0,20] 00000144 6a40 281 ldr r0,[r0,36] 00000146 62e1 282 str r1,[r4,44] 283 .L3111: 284 00000148 f000f800* 285 bl Fls_Drvw_Init 0000014c 2806 286 cmp r0,6 Page 6 objs\release\Fls.s 0000014e d015* 287 beq .L2753 288 .L2752: 00000150 2807 289 cmp r0,7 00000152 d11e* 290 bne .L2755 00000154 2306 291 movs r3,6 00000156 2200 292 movs r2,0 00000158 4611 293 cpy r1,r2 0000015a 205c 294 movs r0,92 295 .L3113: 296 0000015c f000f800* 297 bl Det_ReportTransientFault 00000160 2000 298 movs r0,0 00000162 60a0 299 str r0,[r4,8] 00000164 f8840024 300 strb r0,[r4,36] 301 .L3115: 302 00000168 bd10 303 pop {r4,pc} 304 .L2749: 0000016a 6901 305 ldr r1,[r0,16] 0000016c 62a1 306 str r1,[r4,40] 0000016e 6981 307 ldr r1,[r0,24] 00000170 6a40 308 ldr r0,[r0,36] 00000172 62e1 309 str r1,[r4,44] 310 .L3117: 311 00000174 f000f800* 312 bl Fls_Drvw_Init 00000178 2806 313 cmp r0,6 0000017a d1e9* 314 bne .L2752 315 .L2753: 0000017c 4603 316 cpy r3,r0 0000017e 2200 317 movs r2,0 00000180 4611 318 cpy r1,r2 00000182 205c 319 movs r0,92 320 .L3119: 321 00000184 f000f800* 322 bl Det_ReportError 00000188 2000 323 movs r0,0 0000018a 60a0 324 str r0,[r4,8] 0000018c f8840024 325 strb r0,[r4,36] 326 .L3121: 327 00000190 bd10 328 pop {r4,pc} 329 .L2755: 00000192 2809 330 cmp r0,9 00000194 d105* 331 bne .L2754 00000196 2304 332 movs r3,4 00000198 2200 333 movs r2,0 0000019a 4611 334 cpy r1,r2 0000019c 205c 335 movs r0,92 336 .L3123: 337 0000019e f000f800* 338 bl Det_ReportError 339 .L2754: 000001a2 2000 340 movs r0,0 000001a4 60a0 341 str r0,[r4,8] 000001a6 f8840024 342 strb r0,[r4,36] 343 .L3125: 344 000001aa bd10 345 pop {r4,pc} 346 .endf Fls_Init 347 ;Ret r0 local Page 7 objs\release\Fls.s 348 349 ;ConfigPtr r0 param 350 351 .section ".mcal_bss","awb" 00000028 00000000 352 Fls_MaxRead: .space 4 353 .endo Fls_MaxRead 0000002c 00000000 354 Fls_MaxWrite: .space 4 355 .endo Fls_MaxWrite 356 .section ".ghtailcalltbl","" 357 .align 4 00000000 00000000* 358 .L3108: .data.w .L3107 359 .endo .L3108 00000004 00000000* 360 .L3110: .data.w .L3109 361 .endo .L3110 362 .section ".ghcalltbl","" 00000004 00000000* 363 .L3112: .data.w .L3111 364 .endo .L3112 00000008 00000000* 365 .L3114: .data.w .L3113 366 .endo .L3114 367 .section ".ghrettbl","" 00000014 00000000* 368 .L3116: .data.w .L3115 369 .endo .L3116 370 .section ".ghcalltbl","" 0000000c 00000000* 371 .L3118: .data.w .L3117 372 .endo .L3118 00000010 00000000* 373 .L3120: .data.w .L3119 374 .endo .L3120 375 .section ".ghrettbl","" 00000018 00000000* 376 .L3122: .data.w .L3121 377 .endo .L3122 378 .section ".ghcalltbl","" 00000014 00000000* 379 .L3124: .data.w .L3123 380 .endo .L3124 381 .section ".ghrettbl","" 0000001c 00000000* 382 .L3126: .data.w .L3125 383 .endo .L3126 384 .section ".mcal_code","ax" 385 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 386 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 387 ..gh.f.f.1.a.1.e.5: 388 .endo ..gh.f.f.1.a.1.e.5 389 Fls_Erase:: 000001ac e92d4ff0 390 push {r4-fp,lr} 000001b0 b083 391 sub sp,sp,12 000001b2 4607 392 cpy r7,r0 000001b4 f2400600* 393 movw r6,%lo(Fls_ConfigPtr) 000001b8 f2c00600* 394 movt r6,%hi(Fls_ConfigPtr) 000001bc 4408 395 add r0,r0,r1 000001be 9102 396 str r1,[sp,8] 000001c0 6831 397 ldr r1,[r6] 000001c2 f1a00b01 398 sub fp,r0,1 000001c6 2400 399 movs r4,0 000001c8 b929* 400 cbnz r1,.L3129 000001ca 2305 401 movs r3,5 000001cc 2201 402 movs r2,1 000001ce 205c 403 movs r0,92 404 .L3747: 405 000001d0 f000f800* 406 bl Det_ReportError 000001d4 2401 407 movs r4,1 408 .L3129: Page 8 objs\release\Fls.s 000001d6 ea5f0804 409 movs r8,r4 000001da d169* 410 bne .L3158 000001dc 6830 411 ldr r0,[r6] 000001de 6a05 412 ldr r5,[r0,32] 000001e0 69c0 413 ldr r0,[r0,28] 000001e2 eb050080 414 add r0,r5,r0 lsl 2 000001e6 f8500c04 415 ldr.w r0,[r0,-4] 000001ea f8d0a008 416 ldr.w r10,[r0,8] 000001ee 4557 417 cmp r7,r10 000001f0 d80e* 418 bhi .L3144 000001f2 4638 419 cpy r0,r7 420 .L3749: 421 000001f4 f7ffff27* 422 bl Fls_GetSectorIndex 000001f8 f8552020 423 ldr.w r2,[r5,r0 lsl 2] 000001fc 6814 424 ldr r4,[r2] 425 .L3751: 426 000001fe f7fffeff* 427 bl Fls_GetLogicStartAddr 00000202 b12c* 428 cbz r4,.L3144 00000204 1a38 429 subs r0,r7,r0 00000206 fbb0f2f4 430 udiv r2,r0,r4 0000020a fb020014 431 mls r0,r2,r4,r0 0000020e b180* 432 cbz r0,.L3137 433 .L3144: 00000210 2302 434 movs r3,2 00000212 2201 435 movs r2,1 00000214 4641 436 mov r1,r8 00000216 205c 437 movs r0,92 438 .L3753: 439 00000218 f000f800* 440 bl Det_ReportError 0000021c 6830 441 ldr r0,[r6] 0000021e 6a05 442 ldr r5,[r0,32] 00000220 69c0 443 ldr r0,[r0,28] 00000222 eb050080 444 add r0,r5,r0 lsl 2 00000226 f8500c04 445 ldr.w r0,[r0,-4] 0000022a f04f0801 446 mov r8,1 0000022e f8d0a008 447 ldr.w r10,[r0,8] 448 .L3137: 00000232 4644 449 mov r4,r8 00000234 f04f0900 450 mov r9,0 00000238 45d3 451 cmp fp,r10 0000023a d812* 452 bhi .L3155 0000023c 4658 453 mov r0,fp 454 .L3755: 455 0000023e f7ffff02* 456 bl Fls_GetSectorIndex 00000242 f8552020 457 ldr.w r2,[r5,r0 lsl 2] 00000246 6815 458 ldr r5,[r2] 459 .L3757: 460 00000248 f7fffeda* 461 bl Fls_GetLogicStartAddr 0000024c b14d* 462 cbz r5,.L3155 0000024e f10b0201 463 add r2,fp,1 00000252 1a10 464 subs r0,r2,r0 00000254 fbb0f2f5 465 udiv r2,r0,r5 00000258 fb020015 466 mls r0,r2,r5,r0 0000025c b908* 467 cbnz r0,.L3155 0000025e 9802 468 ldr r0,[sp,8] 00000260 b938* 469 cbnz r0,.L3135 Page 9 objs\release\Fls.s 470 .L3155: 00000262 2303 471 movs r3,3 00000264 2201 472 movs r2,1 00000266 4649 473 mov r1,r9 00000268 205c 474 movs r0,92 475 .L3759: 476 0000026a f000f800* 477 bl Det_ReportError 0000026e f04f0901 478 mov r9,1 479 .L3135: 00000272 ea540409 480 orrs r4,r4,r9 00000276 d11b* 481 bne .L3158 00000278 68b0 482 ldr r0,[r6,8] 0000027a 2802 483 cmp r0,2 0000027c d107* 484 bne .L3160 0000027e 2306 485 movs r3,6 00000280 2201 486 movs r2,1 00000282 4621 487 cpy r1,r4 00000284 205c 488 movs r0,92 489 .L3761: 490 00000286 f000f800* 491 bl Det_ReportError 0000028a 2001 492 movs r0,1 0000028c e011* 493 b .L3127 494 .L3160: 0000028e 4638 495 cpy r0,r7 496 .L3763: 497 00000290 f7fffed9* 498 bl Fls_GetSectorIndex 00000294 60f0 499 str r0,[r6,12] 00000296 4658 500 mov r0,fp 501 .L3765: 502 00000298 f7fffed5* 503 bl Fls_GetSectorIndex 0000029c f1060110 504 add r1,r6,16 000002a0 e8810881 505 stm r1,{r0,r7,fp} 000002a4 f8414c0c 506 str r4,[r1,-12] 000002a8 2202 507 movs r2,2 000002aa f8412c08 508 str r2,[r1,-8] 000002ae 750c 509 strb r4,[r1,20] 510 .L3158: 000002b0 4620 511 cpy r0,r4 512 .L3127: 000002b2 b003 513 add sp,sp,12 514 .L3767: 515 000002b4 e8bd8ff0 516 pop {r4-fp,pc} 517 .endf Fls_Erase 518 ;RetVal r4 local 519 ;EndAddr fp local 520 ;RetVal r4 local 521 ;RetVal r8 local 522 ;SectorSize r4 local 523 ;StartAddr r0 local 524 ;RetVal r9 local 525 ;SecSize r5 local 526 ;StartAddr r0 local 527 528 ;TargetAddress r7 param 529 ;Length [sp,8] param 530 Page 10 objs\release\Fls.s 531 .section ".ghcalltbl","" 00000018 00000000* 532 .L3748: .data.w .L3747 533 .endo .L3748 0000001c 00000000* 534 .L3750: .data.w .L3749 535 .endo .L3750 00000020 00000000* 536 .L3752: .data.w .L3751 537 .endo .L3752 00000024 00000000* 538 .L3754: .data.w .L3753 539 .endo .L3754 00000028 00000000* 540 .L3756: .data.w .L3755 541 .endo .L3756 0000002c 00000000* 542 .L3758: .data.w .L3757 543 .endo .L3758 00000030 00000000* 544 .L3760: .data.w .L3759 545 .endo .L3760 00000034 00000000* 546 .L3762: .data.w .L3761 547 .endo .L3762 00000038 00000000* 548 .L3764: .data.w .L3763 549 .endo .L3764 0000003c 00000000* 550 .L3766: .data.w .L3765 551 .endo .L3766 552 .section ".ghrettbl","" 00000020 00000000* 553 .L3768: .data.w .L3767 554 .endo .L3768 555 .section ".mcal_code","ax" 556 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 557 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 558 ..gh.f.f.1.a.1.e.6: 559 .endo ..gh.f.f.1.a.1.e.6 560 Fls_Write:: 000002b8 e92d4ff0 561 push {r4-fp,lr} 000002bc b085 562 sub sp,sp,20 000002be 4607 563 cpy r7,r0 000002c0 468a 564 mov r10,r1 000002c2 f2400600* 565 movw r6,%lo(Fls_ConfigPtr) 000002c6 f2c00600* 566 movt r6,%hi(Fls_ConfigPtr) 000002ca 4410 567 add r0,r0,r2 000002cc f1a00b01 568 sub fp,r0,1 000002d0 2400 569 movs r4,0 000002d2 6831 570 ldr r1,[r6] 000002d4 9203 571 str r2,[sp,12] 000002d6 b929* 572 cbnz r1,.L3771 000002d8 2305 573 movs r3,5 000002da 2202 574 movs r2,2 000002dc 205c 575 movs r0,92 576 .L4446: 577 000002de f000f800* 578 bl Det_ReportError 000002e2 2401 579 movs r4,1 580 .L3771: 000002e4 2c00 581 cmp r4,0 000002e6 d14c* 582 bne .L3802 000002e8 6830 583 ldr r0,[r6] 000002ea 6a05 584 ldr r5,[r0,32] 000002ec 69c0 585 ldr r0,[r0,28] 000002ee eb050080 586 add r0,r5,r0 lsl 2 000002f2 f8500c04 587 ldr.w r0,[r0,-4] 000002f6 f8d09008 588 ldr.w r9,[r0,8] 000002fa 454f 589 cmp r7,r9 000002fc d810* 590 bhi .L3786 000002fe 4638 591 cpy r0,r7 Page 11 objs\release\Fls.s 592 .L4448: 593 00000300 f7fffea1* 594 bl Fls_GetSectorIndex 00000304 9002 595 str r0,[sp,8] 596 .L4450: 597 00000306 f7fffe7b* 598 bl Fls_GetLogicStartAddr 0000030a 9902 599 ldr r1,[sp,8] 0000030c f8553021 600 ldr.w r3,[r5,r1 lsl 2] 00000310 685b 601 ldr r3,[r3,4] 00000312 b12b* 602 cbz r3,.L3786 00000314 1a38 603 subs r0,r7,r0 00000316 fbb0fcf3 604 udiv r12,r0,r3 0000031a fb0c0013 605 mls r0,r12,r3,r0 0000031e b178* 606 cbz r0,.L3779 607 .L3786: 00000320 2302 608 movs r3,2 00000322 461a 609 cpy r2,r3 00000324 4621 610 cpy r1,r4 00000326 205c 611 movs r0,92 612 .L4452: 613 00000328 f000f800* 614 bl Det_ReportError 0000032c 6830 615 ldr r0,[r6] 0000032e 6a05 616 ldr r5,[r0,32] 00000330 69c0 617 ldr r0,[r0,28] 00000332 eb050080 618 add r0,r5,r0 lsl 2 00000336 f8500c04 619 ldr.w r0,[r0,-4] 0000033a 2401 620 movs r4,1 0000033c f8d09008 621 ldr.w r9,[r0,8] 622 .L3779: 00000340 f04f0800 623 mov r8,0 00000344 45cb 624 cmp fp,r9 00000346 d812* 625 bhi .L3797 00000348 4658 626 mov r0,fp 627 .L4454: 628 0000034a f7fffe7c* 629 bl Fls_GetSectorIndex 0000034e f8553020 630 ldr.w r3,[r5,r0 lsl 2] 00000352 685d 631 ldr r5,[r3,4] 632 .L4456: 633 00000354 f7fffe54* 634 bl Fls_GetLogicStartAddr 00000358 b14d* 635 cbz r5,.L3797 0000035a f10b0301 636 add r3,fp,1 0000035e 1a18 637 subs r0,r3,r0 00000360 fbb0f3f5 638 udiv r3,r0,r5 00000364 fb030015 639 mls r0,r3,r5,r0 00000368 b908* 640 cbnz r0,.L3797 0000036a 9803 641 ldr r0,[sp,12] 0000036c b938* 642 cbnz r0,.L3789 643 .L3797: 0000036e 2303 644 movs r3,3 00000370 2202 645 movs r2,2 00000372 4641 646 mov r1,r8 00000374 205c 647 movs r0,92 648 .L4458: 649 00000376 f000f800* 650 bl Det_ReportError 0000037a f04f0801 651 mov r8,1 652 .L3789: Page 12 objs\release\Fls.s 0000037e ea440408 653 orr r4,r4,r8 654 .L3802: 00000382 2000 655 movs r0,0 00000384 f1ba0100 656 subs r1,r10,0 00000388 d105* 657 bne .L3800 0000038a 2304 658 movs r3,4 0000038c 2202 659 movs r2,2 0000038e 205c 660 movs r0,92 661 .L4460: 662 00000390 f000f800* 663 bl Det_ReportError 00000394 2001 664 movs r0,1 665 .L3800: 00000396 4304 666 orrs r4,r0 00000398 d11c* 667 bne .L3806 0000039a 68b2 668 ldr r2,[r6,8] 0000039c 2a02 669 cmp r2,2 0000039e d106* 670 bne .L3808 000003a0 2306 671 movs r3,6 000003a2 4621 672 cpy r1,r4 000003a4 205c 673 movs r0,92 674 .L4462: 675 000003a6 f000f800* 676 bl Det_ReportError 000003aa 2001 677 movs r0,1 000003ac e013* 678 b .L3769 679 .L3808: 000003ae 4638 680 cpy r0,r7 681 .L4464: 682 000003b0 f7fffe49* 683 bl Fls_GetSectorIndex 000003b4 60f0 684 str r0,[r6,12] 000003b6 4658 685 mov r0,fp 686 .L4466: 687 000003b8 f7fffe45* 688 bl Fls_GetSectorIndex 000003bc f1060110 689 add r1,r6,16 000003c0 46d8 690 mov r8,fp 000003c2 e8810581 691 stm r1,{r0,r7-r8,r10} 000003c6 2001 692 movs r0,1 000003c8 f8410c0c 693 str r0,[r1,-12] 000003cc 750c 694 strb r4,[r1,20] 000003ce 2002 695 movs r0,2 000003d0 f8410c08 696 str r0,[r1,-8] 697 .L3806: 000003d4 4620 698 cpy r0,r4 699 .L3769: 000003d6 b005 700 add sp,sp,20 701 .L4468: 702 000003d8 e8bd8ff0 703 pop {r4-fp,pc} 704 .endf Fls_Write 705 ;RetVal r4 local 706 ;EndAddr fp local 707 ;RetVal r4 local 708 ;RetVal r4 local 709 ;SecIndex [sp,8] local 710 ;PageSize r3 local 711 ;StartAddr r0 local 712 ;RetVal r8 local 713 ;PageSize r5 local Page 13 objs\release\Fls.s 714 ;StartAddr r0 local 715 ;RetVal r0 local 716 717 ;TargetAddress r7 param 718 ;SourceAddressPtr r10 param 719 ;Length [sp,12] param 720 721 .section ".ghcalltbl","" 00000040 00000000* 722 .L4447: .data.w .L4446 723 .endo .L4447 00000044 00000000* 724 .L4449: .data.w .L4448 725 .endo .L4449 00000048 00000000* 726 .L4451: .data.w .L4450 727 .endo .L4451 0000004c 00000000* 728 .L4453: .data.w .L4452 729 .endo .L4453 00000050 00000000* 730 .L4455: .data.w .L4454 731 .endo .L4455 00000054 00000000* 732 .L4457: .data.w .L4456 733 .endo .L4457 00000058 00000000* 734 .L4459: .data.w .L4458 735 .endo .L4459 0000005c 00000000* 736 .L4461: .data.w .L4460 737 .endo .L4461 00000060 00000000* 738 .L4463: .data.w .L4462 739 .endo .L4463 00000064 00000000* 740 .L4465: .data.w .L4464 741 .endo .L4465 00000068 00000000* 742 .L4467: .data.w .L4466 743 .endo .L4467 744 .section ".ghrettbl","" 00000024 00000000* 745 .L4469: .data.w .L4468 746 .endo .L4469 747 .section ".mcal_code","ax" 748 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 749 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 750 ..gh.f.f.1.a.1.e.7: 751 .endo ..gh.f.f.1.a.1.e.7 752 Fls_Cancel:: 000003dc b510 753 push {r4,lr} 000003de f2400400* 754 movw r4,%lo(Fls_ConfigPtr) 000003e2 f2c00400* 755 movt r4,%hi(Fls_ConfigPtr) 000003e6 6821 756 ldr r1,[r4] 000003e8 b931* 757 cbnz r1,.L4472 000003ea 2305 758 movs r3,5 000003ec 2203 759 movs r2,3 000003ee 205c 760 movs r0,92 000003f0 e8bd4010 761 pop {r4,lr} 762 .L4729: 763 000003f4 f000b800* 764 b Det_ReportError 765 .L4472: 000003f8 68a0 766 ldr r0,[r4,8] 000003fa 2802 767 cmp r0,2 000003fc d119* 768 bne .L4475 000003fe 6860 769 ldr r0,[r4,4] 770 .L4731: 771 00000400 f000f800* 772 bl Fls_Drvw_Cancel 00000404 2800 773 cmp r0,0 00000406 bf18 774 it ne Page 14 objs\release\Fls.s 00000408 2808 775 cmp r0,8 0000040a d005* 776 beq .L4480 0000040c 2309 777 movs r3,9 0000040e 2203 778 movs r2,3 00000410 2100 779 movs r1,0 00000412 205c 780 movs r0,92 781 .L4733: 782 00000414 f000f800* 783 bl Det_ReportRuntimeError 784 .L4480: 00000418 2003 785 movs r0,3 0000041a 60a0 786 str r0,[r4,8] 0000041c 2000 787 movs r0,0 0000041e f8840024 788 strb r0,[r4,36] 00000422 6820 789 ldr r0,[r4] 00000424 6840 790 ldr r0,[r0,4] 00000426 2800 791 cmp r0,0 00000428 bf08 792 it eq 793 .L4735: 794 0000042a bd10 795 pop {r4,pc} 0000042c e8bd4010 796 pop {r4,lr} 797 .L4737: 798 00000430 4700 799 bx r0 800 .L4475: 00000432 2000 801 movs r0,0 00000434 f8840024 802 strb r0,[r4,36] 803 .L4739: 804 00000438 bd10 805 pop {r4,pc} 806 .endf Fls_Cancel 807 ;Ret r0 local 808 809 .section ".ghtailcalltbl","" 00000008 00000000* 810 .L4730: .data.w .L4729 811 .endo .L4730 812 .section ".ghcalltbl","" 0000006c 00000000* 813 .L4732: .data.w .L4731 814 .endo .L4732 00000070 00000000* 815 .L4734: .data.w .L4733 816 .endo .L4734 817 .section ".ghrettbl","" 00000028 00000000* 818 .L4736: .data.w .L4735 819 .endo .L4736 820 .section ".ghtailcalltbl","" 0000000c 00000000* 821 .L4738: .data.w .L4737 822 .endo .L4738 823 .section ".ghrettbl","" 0000002c 00000000* 824 .L4740: .data.w .L4739 825 .endo .L4740 826 .section ".mcal_code","ax" 827 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 828 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 829 ..gh.f.f.1.a.1.e.8: 830 .endo ..gh.f.f.1.a.1.e.8 831 Fls_GetStatus:: 0000043a b410 832 push {r4} 0000043c f2400400* 833 movw r4,%lo(Fls_ConfigPtr) 00000440 f2c00400* 834 movt r4,%hi(Fls_ConfigPtr) 00000444 6820 835 ldr r0,[r4] Page 15 objs\release\Fls.s 00000446 b118* 836 cbz r0,.L4741 00000448 68a0 837 ldr r0,[r4,8] 0000044a 2802 838 cmp r0,2 0000044c bf18 839 it ne 0000044e 2001 840 mov r0,1 841 .L4741: 00000450 bc10 842 pop {r4} 843 .L4981: 844 00000452 4770 845 ret 846 .endf Fls_GetStatus 847 848 .section ".ghrettbl","" 00000030 00000000* 849 .L4982: .data.w .L4981 850 .endo .L4982 851 .section ".mcal_code","ax" 852 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 853 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 854 ..gh.f.f.1.a.1.e.9: 855 .endo ..gh.f.f.1.a.1.e.9 856 Fls_GetJobResult:: 00000454 b510 857 push {r4,lr} 00000456 f2400400* 858 movw r4,%lo(Fls_ConfigPtr) 0000045a f2c00400* 859 movt r4,%hi(Fls_ConfigPtr) 0000045e 6821 860 ldr r1,[r4] 00000460 b931* 861 cbnz r1,.L4985 00000462 2305 862 movs r3,5 00000464 461a 863 cpy r2,r3 00000466 205c 864 movs r0,92 865 .L5094: 866 00000468 f000f800* 867 bl Det_ReportError 0000046c 2001 868 movs r0,1 869 .L5096: 870 0000046e bd10 871 pop {r4,pc} 872 .L4985: 00000470 68a0 873 ldr r0,[r4,8] 874 .L5098: 875 00000472 bd10 876 pop {r4,pc} 877 .endf Fls_GetJobResult 878 879 .section ".ghcalltbl","" 00000074 00000000* 880 .L5095: .data.w .L5094 881 .endo .L5095 882 .section ".ghrettbl","" 00000034 00000000* 883 .L5097: .data.w .L5096 884 .endo .L5097 00000038 00000000* 885 .L5099: .data.w .L5098 886 .endo .L5099 887 .section ".mcal_code","ax" 888 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 889 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 890 ..gh.f.f.1.a.1.e.10: 891 .endo ..gh.f.f.1.a.1.e.10 892 Fls_Read:: 00000474 e92d4cf0 893 push {r4-r7,r10-fp,lr} 00000478 468a 894 mov r10,r1 0000047a f2400500* 895 movw r5,%lo(Fls_ConfigPtr) 0000047e f2c00500* 896 movt r5,%hi(Fls_ConfigPtr) Page 16 objs\release\Fls.s 00000482 6829 897 ldr r1,[r5] 00000484 4606 898 cpy r6,r0 00000486 4693 899 mov fp,r2 00000488 4410 900 add r0,r0,r2 0000048a 1e47 901 subs r7,r0,1 0000048c 2400 902 movs r4,0 0000048e b929* 903 cbnz r1,.L5102 00000490 2305 904 movs r3,5 00000492 2206 905 movs r2,6 00000494 205c 906 movs r0,92 907 .L5600: 908 00000496 f000f800* 909 bl Det_ReportError 0000049a 2401 910 movs r4,1 911 .L5102: 0000049c bb34* 912 cbnz r4,.L5125 0000049e 6829 913 ldr r1,[r5] 000004a0 69c8 914 ldr r0,[r1,28] 000004a2 6a0a 915 ldr r2,[r1,32] 000004a4 eb020080 916 add r0,r2,r0 lsl 2 000004a8 f8500c04 917 ldr.w r0,[r0,-4] 000004ac 6880 918 ldr r0,[r0,8] 000004ae 4286 919 cmp r6,r0 000004b0 d906* 920 bls .L5110 000004b2 2302 921 movs r3,2 000004b4 2206 922 movs r2,6 000004b6 4621 923 cpy r1,r4 000004b8 205c 924 movs r0,92 925 .L5602: 926 000004ba f000f800* 927 bl Det_ReportError 000004be 2401 928 movs r4,1 929 .L5110: 000004c0 2000 930 movs r0,0 000004c2 f1bb0f00 931 cmp fp,0 000004c6 d009* 932 beq .L5120 000004c8 6829 933 ldr r1,[r5] 000004ca 6a0a 934 ldr r2,[r1,32] 000004cc 69c9 935 ldr r1,[r1,28] 000004ce eb020181 936 add r1,r2,r1 lsl 2 000004d2 f8511c04 937 ldr.w r1,[r1,-4] 000004d6 6889 938 ldr r1,[r1,8] 000004d8 428f 939 cmp r7,r1 000004da d906* 940 bls .L5116 941 .L5120: 000004dc 2303 942 movs r3,3 000004de 2206 943 movs r2,6 000004e0 4601 944 cpy r1,r0 000004e2 205c 945 movs r0,92 946 .L5604: 947 000004e4 f000f800* 948 bl Det_ReportError 000004e8 2001 949 movs r0,1 950 .L5116: 000004ea 4304 951 orrs r4,r0 952 .L5125: 000004ec 2000 953 movs r0,0 000004ee f1ba0f00 954 cmp r10,0 000004f2 d106* 955 bne .L5123 000004f4 2304 956 movs r3,4 000004f6 2206 957 movs r2,6 Page 17 objs\release\Fls.s 000004f8 4601 958 cpy r1,r0 000004fa 205c 959 movs r0,92 960 .L5606: 961 000004fc f000f800* 962 bl Det_ReportError 00000500 2001 963 movs r0,1 964 .L5123: 00000502 4304 965 orrs r4,r0 00000504 d11e* 966 bne .L5129 00000506 68a8 967 ldr r0,[r5,8] 00000508 2802 968 cmp r0,2 0000050a d108* 969 bne .L5131 0000050c 2306 970 movs r3,6 0000050e 461a 971 cpy r2,r3 00000510 4621 972 cpy r1,r4 00000512 205c 973 movs r0,92 974 .L5608: 975 00000514 f000f800* 976 bl Det_ReportError 00000518 2001 977 movs r0,1 978 .L5610: 979 0000051a e8bd8cf0 980 pop {r4-r7,r10-fp,pc} 981 .L5131: 0000051e 4630 982 cpy r0,r6 983 .L5612: 984 00000520 f7fffd91* 985 bl Fls_GetSectorIndex 00000524 60e8 986 str r0,[r5,12] 00000526 4638 987 cpy r0,r7 988 .L5614: 989 00000528 f7fffd8d* 990 bl Fls_GetSectorIndex 0000052c f1050110 991 add r1,r5,16 00000530 e88100c1 992 stm r1,{r0,r6-r7} 00000534 f8c1a010 993 str r10,[r1,16] 00000538 2002 994 movs r0,2 0000053a f8410c0c 995 str r0,[r1,-12] 0000053e f8410c08 996 str r0,[r1,-8] 00000542 750c 997 strb r4,[r1,20] 998 .L5129: 00000544 4620 999 cpy r0,r4 1000 .L5616: 1001 00000546 e8bd8cf0 1002 pop {r4-r7,r10-fp,pc} 1003 .endf Fls_Read 1004 ;RetVal r4 local 1005 ;EndAddr r7 local 1006 ;RetVal r4 local 1007 ;RetVal r4 local 1008 ;RetVal r0 local 1009 ;RetVal r0 local 1010 1011 ;SourceAddress r6 param 1012 ;TargetAddressPtr r10 param 1013 ;Length fp param 1014 1015 .section ".ghcalltbl","" 00000078 00000000* 1016 .L5601: .data.w .L5600 1017 .endo .L5601 0000007c 00000000* 1018 .L5603: .data.w .L5602 Page 18 objs\release\Fls.s 1019 .endo .L5603 00000080 00000000* 1020 .L5605: .data.w .L5604 1021 .endo .L5605 00000084 00000000* 1022 .L5607: .data.w .L5606 1023 .endo .L5607 00000088 00000000* 1024 .L5609: .data.w .L5608 1025 .endo .L5609 1026 .section ".ghrettbl","" 0000003c 00000000* 1027 .L5611: .data.w .L5610 1028 .endo .L5611 1029 .section ".ghcalltbl","" 0000008c 00000000* 1030 .L5613: .data.w .L5612 1031 .endo .L5613 00000090 00000000* 1032 .L5615: .data.w .L5614 1033 .endo .L5615 1034 .section ".ghrettbl","" 00000040 00000000* 1035 .L5617: .data.w .L5616 1036 .endo .L5617 1037 .section ".mcal_code","ax" 1038 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 1039 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 1040 ..gh.f.f.1.a.1.e.11: 1041 .endo ..gh.f.f.1.a.1.e.11 1042 Fls_Compare:: 0000054a e92d4cf0 1043 push {r4-r7,r10-fp,lr} 0000054e 468a 1044 mov r10,r1 00000550 f2400500* 1045 movw r5,%lo(Fls_ConfigPtr) 00000554 f2c00500* 1046 movt r5,%hi(Fls_ConfigPtr) 00000558 6829 1047 ldr r1,[r5] 0000055a 4606 1048 cpy r6,r0 0000055c 4693 1049 mov fp,r2 0000055e 4410 1050 add r0,r0,r2 00000560 1e47 1051 subs r7,r0,1 00000562 2400 1052 movs r4,0 00000564 b929* 1053 cbnz r1,.L5620 00000566 2305 1054 movs r3,5 00000568 2207 1055 movs r2,7 0000056a 205c 1056 movs r0,92 1057 .L6128: 1058 0000056c f000f800* 1059 bl Det_ReportError 00000570 2401 1060 movs r4,1 1061 .L5620: 00000572 bb34* 1062 cbnz r4,.L5643 00000574 6829 1063 ldr r1,[r5] 00000576 69c8 1064 ldr r0,[r1,28] 00000578 6a0a 1065 ldr r2,[r1,32] 0000057a eb020080 1066 add r0,r2,r0 lsl 2 0000057e f8500c04 1067 ldr.w r0,[r0,-4] 00000582 6880 1068 ldr r0,[r0,8] 00000584 4286 1069 cmp r6,r0 00000586 d906* 1070 bls .L5628 00000588 2302 1071 movs r3,2 0000058a 2207 1072 movs r2,7 0000058c 4621 1073 cpy r1,r4 0000058e 205c 1074 movs r0,92 1075 .L6130: 1076 00000590 f000f800* 1077 bl Det_ReportError 00000594 2401 1078 movs r4,1 1079 .L5628: Page 19 objs\release\Fls.s 00000596 2000 1080 movs r0,0 00000598 f1bb0f00 1081 cmp fp,0 0000059c d009* 1082 beq .L5638 0000059e 6829 1083 ldr r1,[r5] 000005a0 6a0a 1084 ldr r2,[r1,32] 000005a2 69c9 1085 ldr r1,[r1,28] 000005a4 eb020181 1086 add r1,r2,r1 lsl 2 000005a8 f8511c04 1087 ldr.w r1,[r1,-4] 000005ac 6889 1088 ldr r1,[r1,8] 000005ae 428f 1089 cmp r7,r1 000005b0 d906* 1090 bls .L5634 1091 .L5638: 000005b2 2303 1092 movs r3,3 000005b4 2207 1093 movs r2,7 000005b6 4601 1094 cpy r1,r0 000005b8 205c 1095 movs r0,92 1096 .L6132: 1097 000005ba f000f800* 1098 bl Det_ReportError 000005be 2001 1099 movs r0,1 1100 .L5634: 000005c0 4304 1101 orrs r4,r0 1102 .L5643: 000005c2 2000 1103 movs r0,0 000005c4 f1ba0f00 1104 cmp r10,0 000005c8 d106* 1105 bne .L5641 000005ca 2304 1106 movs r3,4 000005cc 2207 1107 movs r2,7 000005ce 4601 1108 cpy r1,r0 000005d0 205c 1109 movs r0,92 1110 .L6134: 1111 000005d2 f000f800* 1112 bl Det_ReportError 000005d6 2001 1113 movs r0,1 1114 .L5641: 000005d8 4304 1115 orrs r4,r0 000005da d11d* 1116 bne .L5647 000005dc 68a8 1117 ldr r0,[r5,8] 000005de 2802 1118 cmp r0,2 000005e0 d108* 1119 bne .L5649 000005e2 2306 1120 movs r3,6 000005e4 2207 1121 movs r2,7 000005e6 4621 1122 cpy r1,r4 000005e8 205c 1123 movs r0,92 1124 .L6136: 1125 000005ea f000f800* 1126 bl Det_ReportError 000005ee 2001 1127 movs r0,1 1128 .L6138: 1129 000005f0 e8bd8cf0 1130 pop {r4-r7,r10-fp,pc} 1131 .L5649: 000005f4 4630 1132 cpy r0,r6 1133 .L6140: 1134 000005f6 f7fffd26* 1135 bl Fls_GetSectorIndex 000005fa 60e8 1136 str r0,[r5,12] 000005fc 4638 1137 cpy r0,r7 1138 .L6142: 1139 000005fe f7fffd22* 1140 bl Fls_GetSectorIndex Page 20 objs\release\Fls.s 00000602 f1050110 1141 add r1,r5,16 00000606 e88104c1 1142 stm r1,{r0,r6-r7,r10} 0000060a 2003 1143 movs r0,3 0000060c f8410c0c 1144 str r0,[r1,-12] 00000610 750c 1145 strb r4,[r1,20] 00000612 2002 1146 movs r0,2 00000614 f8410c08 1147 str r0,[r1,-8] 1148 .L5647: 00000618 4620 1149 cpy r0,r4 1150 .L6144: 1151 0000061a e8bd8cf0 1152 pop {r4-r7,r10-fp,pc} 1153 .endf Fls_Compare 1154 ;RetVal r4 local 1155 ;EndAddr r7 local 1156 ;RetVal r4 local 1157 ;RetVal r4 local 1158 ;RetVal r0 local 1159 ;RetVal r0 local 1160 1161 ;SourceAddress r6 param 1162 ;TargetAddressPtr r10 param 1163 ;Length fp param 1164 1165 .section ".ghcalltbl","" 00000094 00000000* 1166 .L6129: .data.w .L6128 1167 .endo .L6129 00000098 00000000* 1168 .L6131: .data.w .L6130 1169 .endo .L6131 0000009c 00000000* 1170 .L6133: .data.w .L6132 1171 .endo .L6133 000000a0 00000000* 1172 .L6135: .data.w .L6134 1173 .endo .L6135 000000a4 00000000* 1174 .L6137: .data.w .L6136 1175 .endo .L6137 1176 .section ".ghrettbl","" 00000044 00000000* 1177 .L6139: .data.w .L6138 1178 .endo .L6139 1179 .section ".ghcalltbl","" 000000a8 00000000* 1180 .L6141: .data.w .L6140 1181 .endo .L6141 000000ac 00000000* 1182 .L6143: .data.w .L6142 1183 .endo .L6143 1184 .section ".ghrettbl","" 00000048 00000000* 1185 .L6145: .data.w .L6144 1186 .endo .L6145 1187 .section ".mcal_code","ax" 1188 .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 1189 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 1190 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 1191 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 1192 ..gh.f.f.1.a.1.e.12: 1193 .endo ..gh.f.f.1.a.1.e.12 1194 Fls_SetMode:: 0000061e b510 1195 push {r4,lr} 00000620 f2400400* 1196 movw r4,%lo(Fls_ConfigPtr) 00000624 f2c00400* 1197 movt r4,%hi(Fls_ConfigPtr) 00000628 6821 1198 ldr r1,[r4] 0000062a b931* 1199 cbnz r1,.L6148 0000062c 2305 1200 movs r3,5 0000062e 2208 1201 movs r2,8 Page 21 objs\release\Fls.s 00000630 205c 1202 movs r0,92 00000632 e8bd4010 1203 pop {r4,lr} 1204 .L6355: 1205 00000636 f000b800* 1206 b Det_ReportError 1207 .L6148: 0000063a 68a2 1208 ldr r2,[r4,8] 0000063c 2a02 1209 cmp r2,2 0000063e d107* 1210 bne .L6151 00000640 2306 1211 movs r3,6 00000642 2208 1212 movs r2,8 00000644 2100 1213 movs r1,0 00000646 205c 1214 movs r0,92 00000648 e8bd4010 1215 pop {r4,lr} 1216 .L6357: 1217 0000064c f000b800* 1218 b Det_ReportError 1219 .L6151: 00000650 2801 1220 cmp r0,1 00000652 d306* 1221 blo .L6156 00000654 bf18 1222 it ne 1223 .L6359: 1224 00000656 bd10 1225 pop {r4,pc} 00000658 68c8 1226 ldr r0,[r1,12] 0000065a 62a0 1227 str r0,[r4,40] 0000065c 6948 1228 ldr r0,[r1,20] 0000065e 62e0 1229 str r0,[r4,44] 1230 .L6361: 1231 00000660 bd10 1232 pop {r4,pc} 1233 .L6156: 00000662 6908 1234 ldr r0,[r1,16] 00000664 62a0 1235 str r0,[r4,40] 00000666 6988 1236 ldr r0,[r1,24] 00000668 62e0 1237 str r0,[r4,44] 1238 .L6363: 1239 0000066a bd10 1240 pop {r4,pc} 1241 .endf Fls_SetMode 1242 1243 ;Mode r0 param 1244 1245 .section ".ghtailcalltbl","" 00000010 00000000* 1246 .L6356: .data.w .L6355 1247 .endo .L6356 00000014 00000000* 1248 .L6358: .data.w .L6357 1249 .endo .L6358 1250 .section ".ghrettbl","" 0000004c 00000000* 1251 .L6360: .data.w .L6359 1252 .endo .L6360 00000050 00000000* 1253 .L6362: .data.w .L6361 1254 .endo .L6362 00000054 00000000* 1255 .L6364: .data.w .L6363 1256 .endo .L6364 1257 .section ".mcal_code","ax" 1258 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 1259 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 1260 ..gh.f.f.1.a.1.e.13: 1261 .endo ..gh.f.f.1.a.1.e.13 1262 Fls_BlankCheck:: Page 22 objs\release\Fls.s 0000066c e92d44f0 1263 push {r4-r7,r10,lr} 00000670 4606 1264 cpy r6,r0 00000672 468a 1265 mov r10,r1 00000674 f2400500* 1266 movw r5,%lo(Fls_ConfigPtr) 00000678 f2c00500* 1267 movt r5,%hi(Fls_ConfigPtr) 0000067c 4408 1268 add r0,r0,r1 0000067e 6829 1269 ldr r1,[r5] 00000680 1e47 1270 subs r7,r0,1 00000682 2400 1271 movs r4,0 00000684 b929* 1272 cbnz r1,.L6367 00000686 2305 1273 movs r3,5 00000688 220a 1274 movs r2,10 0000068a 205c 1275 movs r0,92 1276 .L6819: 1277 0000068c f000f800* 1278 bl Det_ReportError 00000690 2401 1279 movs r4,1 1280 .L6367: 00000692 2c00 1281 cmp r4,0 00000694 d144* 1282 bne .L6388 00000696 6828 1283 ldr r0,[r5] 00000698 6a01 1284 ldr r1,[r0,32] 0000069a 69c0 1285 ldr r0,[r0,28] 0000069c eb010080 1286 add r0,r1,r0 lsl 2 000006a0 f8500c04 1287 ldr.w r0,[r0,-4] 000006a4 6880 1288 ldr r0,[r0,8] 000006a6 4286 1289 cmp r6,r0 000006a8 d906* 1290 bls .L6375 000006aa 2302 1291 movs r3,2 000006ac 220a 1292 movs r2,10 000006ae 4621 1293 cpy r1,r4 000006b0 205c 1294 movs r0,92 1295 .L6821: 1296 000006b2 f000f800* 1297 bl Det_ReportError 000006b6 2401 1298 movs r4,1 1299 .L6375: 000006b8 2100 1300 movs r1,0 000006ba f1ba0f00 1301 cmp r10,0 000006be d009* 1302 beq .L6385 000006c0 6828 1303 ldr r0,[r5] 000006c2 6a02 1304 ldr r2,[r0,32] 000006c4 69c0 1305 ldr r0,[r0,28] 000006c6 eb020080 1306 add r0,r2,r0 lsl 2 000006ca f8500c04 1307 ldr.w r0,[r0,-4] 000006ce 6880 1308 ldr r0,[r0,8] 000006d0 4287 1309 cmp r7,r0 000006d2 d905* 1310 bls .L6373 1311 .L6385: 000006d4 2303 1312 movs r3,3 000006d6 220a 1313 movs r2,10 000006d8 205c 1314 movs r0,92 1315 .L6823: 1316 000006da f000f800* 1317 bl Det_ReportError 000006de 2101 1318 movs r1,1 1319 .L6373: 000006e0 430c 1320 orrs r4,r1 000006e2 d11d* 1321 bne .L6388 000006e4 68a8 1322 ldr r0,[r5,8] 000006e6 2802 1323 cmp r0,2 Page 23 objs\release\Fls.s 000006e8 d108* 1324 bne .L6390 000006ea 2306 1325 movs r3,6 000006ec 220a 1326 movs r2,10 000006ee 4621 1327 cpy r1,r4 000006f0 205c 1328 movs r0,92 1329 .L6825: 1330 000006f2 f000f800* 1331 bl Det_ReportError 000006f6 2001 1332 movs r0,1 1333 .L6827: 1334 000006f8 e8bd84f0 1335 pop {r4-r7,r10,pc} 1336 .L6390: 000006fc 4630 1337 cpy r0,r6 1338 .L6829: 1339 000006fe f7fffca2* 1340 bl Fls_GetSectorIndex 00000702 60e8 1341 str r0,[r5,12] 00000704 4638 1342 cpy r0,r7 1343 .L6831: 1344 00000706 f7fffc9e* 1345 bl Fls_GetSectorIndex 0000070a f1050110 1346 add r1,r5,16 0000070e e88100c1 1347 stm r1,{r0,r6-r7} 00000712 2004 1348 movs r0,4 00000714 f8410c0c 1349 str r0,[r1,-12] 00000718 750c 1350 strb r4,[r1,20] 0000071a 2002 1351 movs r0,2 0000071c f8410c08 1352 str r0,[r1,-8] 1353 .L6388: 00000720 4620 1354 cpy r0,r4 1355 .L6833: 1356 00000722 e8bd84f0 1357 pop {r4-r7,r10,pc} 1358 .endf Fls_BlankCheck 1359 ;RetVal r4 local 1360 ;EndAddr r7 local 1361 ;RetVal r4 local 1362 ;RetVal r4 local 1363 ;RetVal r1 local 1364 1365 ;TargetAddress r6 param 1366 ;Length r10 param 1367 1368 .section ".ghcalltbl","" 000000b0 00000000* 1369 .L6820: .data.w .L6819 1370 .endo .L6820 000000b4 00000000* 1371 .L6822: .data.w .L6821 1372 .endo .L6822 000000b8 00000000* 1373 .L6824: .data.w .L6823 1374 .endo .L6824 000000bc 00000000* 1375 .L6826: .data.w .L6825 1376 .endo .L6826 1377 .section ".ghrettbl","" 00000058 00000000* 1378 .L6828: .data.w .L6827 1379 .endo .L6828 1380 .section ".ghcalltbl","" 000000c0 00000000* 1381 .L6830: .data.w .L6829 1382 .endo .L6830 000000c4 00000000* 1383 .L6832: .data.w .L6831 1384 .endo .L6832 Page 24 objs\release\Fls.s 1385 .section ".ghrettbl","" 0000005c 00000000* 1386 .L6834: .data.w .L6833 1387 .endo .L6834 1388 .section ".mcal_code","ax" 1389 .assert 0x0 + (Fls_ConfigPtr - Fls_ConfigPtr) +0 == 0 1390 .assert 0x0 + (Fls_Job - Fls_ConfigPtr) +0 == 4 1391 .assert 0x0 + (Fls_MaxWrite - Fls_ConfigPtr) +0 == 44 1392 .assert 0x0 + (Fls_MaxRead - Fls_ConfigPtr) +0 == 40 1393 ..gh.f.f.1.a.1.e.14: 1394 .endo ..gh.f.f.1.a.1.e.14 1395 Fls_MainFunction:: 00000726 e92d4df0 1396 push {r4-r8,r10-fp,lr} 0000072a f2400600* 1397 movw r6,%lo(Fls_ConfigPtr) 0000072e f2c00600* 1398 movt r6,%hi(Fls_ConfigPtr) 00000732 6835 1399 ldr r5,[r6] 00000734 b081 1400 sub sp,sp,4 00000736 2d00 1401 cmp r5,0 00000738 f0008220* 1402 beq .L6835 0000073c 68b0 1403 ldr r0,[r6,8] 0000073e 2802 1404 cmp r0,2 00000740 f040821c* 1405 bne .L6835 00000744 f8960024 1406 ldrb r0,[r6,36] 00000748 f8d6b004 1407 ldr.w fp,[r6,4] 0000074c 2801 1408 cmp r0,1 0000074e d018* 1409 beq .L6845 00000750 f04f0802 1410 mov r8,2 00000754 f1bb0f00 1411 cmp fp,0 00000758 6977 1412 ldr r7,[r6,20] 0000075a f000809f* 1413 beq .L6872 1414 .L6886: 0000075e f1bb0f01 1415 cmp fp,1 00000762 69b0 1416 ldr r0,[r6,24] 00000764 f0408155* 1417 bne .L6911 00000768 f04f0a00 1418 mov r10,0 0000076c 4287 1419 cmp r7,r0 0000076e f20081e9* 1420 bhi .L6940 00000772 6af0 1421 ldr r0,[r6,44] 1422 .L11711: 1423 00000774 f7fffcb5* 1424 bl Fls_ObtainRWEndAddr 00000778 4604 1425 cpy r4,r0 0000077a 4287 1426 cmp r7,r0 0000077c f2008100* 1427 bhi .L6900 00000780 e0fb* 1428 b .L6899 1429 .L6845: 00000782 f1bb0f00 1430 cmp fp,0 00000786 d134* 1431 bne .L6855 00000788 f04f0802 1432 mov r8,2 1433 .L11713: 1434 0000078c f7fffc49* 1435 bl Fls_ConvertJobLogicAddrToPhyAddr 00000790 6a2a 1436 ldr r2,[r5,32] 00000792 68f1 1437 ldr r1,[r6,12] 00000794 f8521021 1438 ldr.w r1,[r2,r1 lsl 2] 00000798 680c 1439 ldr r4,[r1] 0000079a 4621 1440 cpy r1,r4 1441 .L11715: 1442 0000079c f000f800* 1443 bl Fls_Drvw_HandleAsyncEraseJob 000007a0 4605 1444 cpy r5,r0 000007a2 2806 1445 cmp r0,6 Page 25 objs\release\Fls.s 000007a4 f00081d1* 1446 beq .L6945 000007a8 f886b024 1447 strb fp,[r6,36] 000007ac b1ad* 1448 cbz r5,.L6852 000007ae 2301 1449 movs r3,1 000007b0 4698 1450 mov r8,r3 000007b2 220b 1451 movs r2,11 000007b4 4659 1452 mov r1,fp 000007b6 205c 1453 movs r0,92 1454 .L11717: 1455 000007b8 f000f800* 1456 bl Det_ReportTransientFault 000007bc 2d02 1457 cmp r5,2 000007be d108* 1458 bne .L6850 000007c0 2307 1459 movs r3,7 000007c2 220b 1460 movs r2,11 000007c4 4659 1461 mov r1,fp 000007c6 205c 1462 movs r0,92 1463 .L11719: 1464 000007c8 f000f800* 1465 bl Det_ReportRuntimeError 000007cc f8c68008 1466 str r8,[r6,8] 000007d0 e1d0* 1467 b .L6951 1468 .L6850: 000007d2 2d05 1469 cmp r5,5 000007d4 f04081b9* 1470 bne .L6945 000007d8 e03d* 1471 b .L6861 1472 .L6852: 000007da 6835 1473 ldr r5,[r6] 000007dc 68f1 1474 ldr r1,[r6,12] 000007de 6a28 1475 ldr r0,[r5,32] 000007e0 6977 1476 ldr r7,[r6,20] 000007e2 f8500021 1477 ldr.w r0,[r0,r1 lsl 2] 000007e6 4427 1478 add r7,r7,r4 000007e8 6177 1479 str r7,[r6,20] 000007ea 6880 1480 ldr r0,[r0,8] 000007ec 4287 1481 cmp r7,r0 000007ee d94f* 1482 bls .L6871 000007f0 e04c* 1483 b .L7278 1484 .L6855: 000007f2 4680 1485 mov r8,r0 000007f4 f1bb0f01 1486 cmp fp,1 000007f8 f04081a7* 1487 bne .L6945 000007fc 2702 1488 movs r7,2 000007fe 46b8 1489 mov r8,r7 1490 .L11721: 1491 00000800 f7fffc0f* 1492 bl Fls_ConvertJobLogicAddrToPhyAddr 00000804 6a2a 1493 ldr r2,[r5,32] 00000806 68f1 1494 ldr r1,[r6,12] 00000808 f8521021 1495 ldr.w r1,[r2,r1 lsl 2] 0000080c 684c 1496 ldr r4,[r1,4] 0000080e 69f1 1497 ldr r1,[r6,28] 00000810 4622 1498 cpy r2,r4 1499 .L11723: 1500 00000812 f000f800* 1501 bl Fls_Drvw_HandleAsyncWriteJob 00000816 4605 1502 cpy r5,r0 00000818 2806 1503 cmp r0,6 0000081a f0008196* 1504 beq .L6945 0000081e 2100 1505 movs r1,0 00000820 f8861024 1506 strb r1,[r6,36] Page 26 objs\release\Fls.s 00000824 b325* 1507 cbz r5,.L6862 00000826 46d8 1508 mov r8,fp 00000828 463b 1509 cpy r3,r7 0000082a 220b 1510 movs r2,11 0000082c 205c 1511 movs r0,92 1512 .L11725: 1513 0000082e f000f800* 1514 bl Det_ReportTransientFault 00000832 2d03 1515 cmp r5,3 00000834 d10c* 1516 bne .L6860 00000836 2308 1517 movs r3,8 00000838 220b 1518 movs r2,11 0000083a 2100 1519 movs r1,0 0000083c 205c 1520 movs r0,92 1521 .L11727: 1522 0000083e f000f800* 1523 bl Det_ReportRuntimeError 00000842 f8c6b008 1524 str fp,[r6,8] 00000846 f1b80f01 1525 cmp r8,1 0000084a f0008193* 1526 beq .L6951 0000084e e18b* 1527 b .L6949 1528 .L6860: 00000850 2d05 1529 cmp r5,5 00000852 f040817a* 1530 bne .L6945 1531 .L6861: 00000856 2309 1532 movs r3,9 00000858 220b 1533 movs r2,11 0000085a 2100 1534 movs r1,0 0000085c 205c 1535 movs r0,92 1536 .L11729: 1537 0000085e f000f800* 1538 bl Det_ReportRuntimeError 00000862 f8c68008 1539 str r8,[r6,8] 00000866 f1b80f01 1540 cmp r8,1 0000086a f0008183* 1541 beq .L6951 0000086e e17b* 1542 b .L6949 1543 .L6862: 00000870 69f0 1544 ldr r0,[r6,28] 00000872 6835 1545 ldr r5,[r6] 00000874 68f1 1546 ldr r1,[r6,12] 00000876 4420 1547 add r0,r0,r4 00000878 61f0 1548 str r0,[r6,28] 0000087a 6a28 1549 ldr r0,[r5,32] 0000087c 6977 1550 ldr r7,[r6,20] 0000087e f8500021 1551 ldr.w r0,[r0,r1 lsl 2] 00000882 4427 1552 add r7,r7,r4 00000884 6177 1553 str r7,[r6,20] 00000886 6880 1554 ldr r0,[r0,8] 00000888 4287 1555 cmp r7,r0 0000088a d901* 1556 bls .L6871 1557 .L7278: 0000088c 1c48 1558 adds r0,r1,1 0000088e 60f0 1559 str r0,[r6,12] 1560 .L6871: 00000890 f8d6b004 1561 ldr.w fp,[r6,4] 00000894 f1bb0f00 1562 cmp fp,0 00000898 f47faf61* 1563 bne .L6886 1564 .L6872: 1565 .L11731: 1566 0000089c f7fffbc1* 1567 bl Fls_ConvertJobLogicAddrToPhyAddr Page 27 objs\release\Fls.s 000008a0 69b1 1568 ldr r1,[r6,24] 000008a2 428f 1569 cmp r7,r1 000008a4 f200814e* 1570 bhi .L6940 000008a8 6a2a 1571 ldr r2,[r5,32] 000008aa 68f1 1572 ldr r1,[r6,12] 000008ac f8521021 1573 ldr.w r1,[r2,r1 lsl 2] 000008b0 7c0c 1574 ldrb r4,[r1,16] 000008b2 680d 1575 ldr r5,[r1] 000008b4 4621 1576 cpy r1,r4 1577 .L11733: 1578 000008b6 f000f800* 1579 bl Fls_Drvw_EraseSector 000008ba 4607 1580 cpy r7,r0 000008bc 2804 1581 cmp r0,4 000008be d062* 1582 beq .L6901 000008c0 b160* 1583 cbz r0,.L6881 000008c2 2301 1584 movs r3,1 000008c4 4698 1585 mov r8,r3 000008c6 220b 1586 movs r2,11 000008c8 4659 1587 mov r1,fp 000008ca 205c 1588 movs r0,92 1589 .L11735: 1590 000008cc f000f800* 1591 bl Det_ReportTransientFault 000008d0 2f02 1592 cmp r7,2 000008d2 d070* 1593 beq .L6904 000008d4 2f05 1594 cmp r7,5 000008d6 f000808f* 1595 beq .L6908 000008da e136* 1596 b .L6945 1597 .L6881: 000008dc 2c00 1598 cmp r4,0 000008de f0408134* 1599 bne .L6945 000008e2 6977 1600 ldr r7,[r6,20] 000008e4 69b0 1601 ldr r0,[r6,24] 000008e6 442f 1602 add r7,r7,r5 000008e8 6177 1603 str r7,[r6,20] 000008ea 4287 1604 cmp r7,r0 000008ec f200812a* 1605 bhi .L6940 000008f0 6830 1606 ldr r0,[r6] 000008f2 68f1 1607 ldr r1,[r6,12] 000008f4 6a00 1608 ldr r0,[r0,32] 000008f6 f8500021 1609 ldr.w r0,[r0,r1 lsl 2] 000008fa 6880 1610 ldr r0,[r0,8] 000008fc 4287 1611 cmp r7,r0 000008fe f2408124* 1612 bls .L6945 00000902 1c48 1613 adds r0,r1,1 00000904 60f0 1614 str r0,[r6,12] 00000906 f8c68008 1615 str r8,[r6,8] 0000090a f1b80f01 1616 cmp r8,1 0000090e f0008131* 1617 beq .L6951 00000912 e129* 1618 b .L6949 1619 .L6893: 00000914 6830 1620 ldr r0,[r6] 00000916 68f1 1621 ldr r1,[r6,12] 00000918 6a02 1622 ldr r2,[r0,32] 0000091a f8521021 1623 ldr.w r1,[r2,r1 lsl 2] 0000091e 6888 1624 ldr r0,[r1,8] 00000920 684a 1625 ldr r2,[r1,4] 00000922 f891a011 1626 ldrb r10,[r1,17] 00000926 42a0 1627 cmp r0,r4 00000928 bf88 1628 it hi Page 28 objs\release\Fls.s 0000092a 4620 1629 mov r0,r4 0000092c 1bc0 1630 subs r0,r0,r7 0000092e 1c45 1631 adds r5,r0,1 00000930 f1ba0f01 1632 cmp r10,1 00000934 d102* 1633 bne .L6895 00000936 4295 1634 cmp r5,r2 00000938 bf88 1635 it hi 0000093a 4615 1636 mov r5,r2 1637 .L6895: 1638 .L11737: 1639 0000093c f7fffb71* 1640 bl Fls_ConvertJobLogicAddrToPhyAddr 00000940 4653 1641 mov r3,r10 00000942 4629 1642 cpy r1,r5 00000944 69f2 1643 ldr r2,[r6,28] 1644 .L11739: 1645 00000946 f000f800* 1646 bl Fls_Drvw_WriteSector 0000094a f1b00a00 1647 subs r10,r0,0 0000094e 6977 1648 ldr r7,[r6,20] 00000950 d002* 1649 beq .L6896 00000952 42a7 1650 cmp r7,r4 00000954 d911* 1651 bls .L6899 00000956 e013* 1652 b .L6900 1653 .L6896: 00000958 6832 1654 ldr r2,[r6] 0000095a 68f1 1655 ldr r1,[r6,12] 0000095c 6a12 1656 ldr r2,[r2,32] 0000095e 442f 1657 add r7,r7,r5 00000960 69f0 1658 ldr r0,[r6,28] 00000962 f8522021 1659 ldr.w r2,[r2,r1 lsl 2] 00000966 6177 1660 str r7,[r6,20] 00000968 4428 1661 add r0,r0,r5 0000096a 6892 1662 ldr r2,[r2,8] 0000096c 61f0 1663 str r0,[r6,28] 0000096e 4297 1664 cmp r7,r2 00000970 bf84 1665 itt hi 00000972 1c48 1666 add r0,r1,1 00000974 60f0 1667 str r0,[r6,12] 00000976 42a7 1668 cmp r7,r4 00000978 d802* 1669 bhi .L6900 1670 .L6899: 0000097a f1ba0f00 1671 cmp r10,0 0000097e d0c9* 1672 beq .L6893 1673 .L6900: 00000980 f1ba0f04 1674 cmp r10,4 00000984 d109* 1675 bne .L6902 1676 .L6901: 00000986 2001 1677 movs r0,1 00000988 f8860024 1678 strb r0,[r6,36] 0000098c f8c68008 1679 str r8,[r6,8] 00000990 f1b80f01 1680 cmp r8,1 00000994 f00080ee* 1681 beq .L6951 00000998 e0e6* 1682 b .L6949 1683 .L6902: 0000099a f1ba0f00 1684 cmp r10,0 0000099e f00080cf* 1685 beq .L6939 000009a2 46d8 1686 mov r8,fp 000009a4 2302 1687 movs r3,2 000009a6 220b 1688 movs r2,11 000009a8 2100 1689 movs r1,0 Page 29 objs\release\Fls.s 000009aa 205c 1690 movs r0,92 1691 .L11741: 1692 000009ac f000f800* 1693 bl Det_ReportTransientFault 000009b0 f1ba0f02 1694 cmp r10,2 000009b4 d10c* 1695 bne .L6905 1696 .L6904: 000009b6 2307 1697 movs r3,7 000009b8 220b 1698 movs r2,11 000009ba 2100 1699 movs r1,0 000009bc 205c 1700 movs r0,92 1701 .L11743: 1702 000009be f000f800* 1703 bl Det_ReportRuntimeError 000009c2 f8c68008 1704 str r8,[r6,8] 000009c6 f1b80f01 1705 cmp r8,1 000009ca f00080d3* 1706 beq .L6951 000009ce e0cb* 1707 b .L6949 1708 .L6905: 000009d0 f1ba0f03 1709 cmp r10,3 000009d4 d10c* 1710 bne .L6907 000009d6 2308 1711 movs r3,8 000009d8 220b 1712 movs r2,11 000009da 2100 1713 movs r1,0 000009dc 205c 1714 movs r0,92 1715 .L11745: 1716 000009de f000f800* 1717 bl Det_ReportRuntimeError 000009e2 f8c6b008 1718 str fp,[r6,8] 000009e6 f1b80f01 1719 cmp r8,1 000009ea f00080c3* 1720 beq .L6951 000009ee e0bb* 1721 b .L6949 1722 .L6907: 000009f0 f1ba0f05 1723 cmp r10,5 000009f4 f04080a9* 1724 bne .L6945 1725 .L6908: 000009f8 2309 1726 movs r3,9 000009fa 220b 1727 movs r2,11 000009fc 2100 1728 movs r1,0 000009fe 205c 1729 movs r0,92 1730 .L11747: 1731 00000a00 f000f800* 1732 bl Det_ReportRuntimeError 00000a04 f8c68008 1733 str r8,[r6,8] 00000a08 f1b80f01 1734 cmp r8,1 00000a0c f00080b2* 1735 beq .L6951 00000a10 e0aa* 1736 b .L6949 1737 .L6911: 00000a12 4287 1738 cmp r7,r0 00000a14 f2008096* 1739 bhi .L6940 00000a18 6ab0 1740 ldr r0,[r6,40] 1741 .L11749: 1742 00000a1a f7fffb62* 1743 bl Fls_ObtainRWEndAddr 00000a1e 4682 1744 mov r10,r0 00000a20 4287 1745 cmp r7,r0 00000a22 f2008092* 1746 bhi .L6945 00000a26 68f1 1747 ldr r1,[r6,12] 00000a28 6a2a 1748 ldr r2,[r5,32] 1749 .L6917: 00000a2a f8520021 1750 ldr.w r0,[r2,r1 lsl 2] Page 30 objs\release\Fls.s 00000a2e 6880 1751 ldr r0,[r0,8] 00000a30 2401 1752 movs r4,1 00000a32 4550 1753 cmp r0,r10 00000a34 bf88 1754 it hi 00000a36 4650 1755 mov r0,r10 00000a38 1bc0 1756 subs r0,r0,r7 00000a3a 1c45 1757 adds r5,r0,1 1758 .L11751: 1759 00000a3c f7fffaf1* 1760 bl Fls_ConvertJobLogicAddrToPhyAddr 00000a40 f1bb0b02 1761 subs fp,fp,2 00000a44 d368* 1762 blo .L6928 00000a46 d009* 1763 beq .L6918 00000a48 f1bb0f02 1764 cmp fp,2 00000a4c d334* 1765 blo .L6921 00000a4e d04f* 1766 beq .L6925 00000a50 eb070005 1767 add r0,r7,r5 00000a54 6170 1768 str r0,[r6,20] 00000a56 2c01 1769 cmp r4,1 00000a58 d115* 1770 bne .L6935 00000a5a e017* 1771 b .L6936 1772 .L6918: 00000a5c 4629 1773 cpy r1,r5 00000a5e 6a32 1774 ldr r2,[r6,32] 1775 .L11753: 1776 00000a60 f000f800* 1777 bl Fls_Drvw_ReadSector 00000a64 1e04 1778 subs r4,r0,0 00000a66 d005* 1779 beq .L6920 00000a68 2303 1780 movs r3,3 00000a6a 220b 1781 movs r2,11 00000a6c 2100 1782 movs r1,0 00000a6e 205c 1783 movs r0,92 1784 .L11755: 1785 00000a70 f000f800* 1786 bl Det_ReportTransientFault 1787 .L6920: 00000a74 6a30 1788 ldr r0,[r6,32] 00000a76 6977 1789 ldr r7,[r6,20] 00000a78 4428 1790 add r0,r0,r5 00000a7a 6230 1791 str r0,[r6,32] 00000a7c 442f 1792 add r7,r7,r5 00000a7e 6177 1793 str r7,[r6,20] 00000a80 2c00 1794 cmp r4,0 00000a82 d04d* 1795 beq .L6929 1796 .L6934: 00000a84 2c01 1797 cmp r4,1 1798 .L6935: 00000a86 bf18 1799 it ne 00000a88 2c02 1800 cmp r4,2 00000a8a d109* 1801 bne .L6937 1802 .L6936: 00000a8c 2101 1803 movs r1,1 00000a8e 60b1 1804 str r1,[r6,8] 00000a90 6831 1805 ldr r1,[r6] 00000a92 6848 1806 ldr r0,[r1,4] 00000a94 2800 1807 cmp r0,0 00000a96 d071* 1808 beq .L6835 1809 .L6952: 00000a98 b001 1810 add sp,sp,4 00000a9a e8bd4df0 1811 pop {r4-r8,r10-fp,lr} Page 31 objs\release\Fls.s 1812 .L11757: 1813 00000a9e 4700 1814 bx r0 1815 .L6937: 00000aa0 2c03 1816 cmp r4,3 00000aa2 bf14 1817 ite ne 00000aa4 f04f0802 1818 mov r8,2 00000aa8 f04f0804 1819 mov r8,4 00000aac f8c68008 1820 str r8,[r6,8] 00000ab0 f1b80f00 1821 cmp r8,0 00000ab4 d04e* 1822 beq .L6946 00000ab6 e054* 1823 b .L6948 1824 .L6921: 00000ab8 4629 1825 cpy r1,r5 00000aba 69f2 1826 ldr r2,[r6,28] 1827 .L11759: 1828 00000abc f000f800* 1829 bl Fls_Drvw_CompareSector 00000ac0 1e04 1830 subs r4,r0,0 00000ac2 d00d* 1831 beq .L6924 00000ac4 2304 1832 movs r3,4 00000ac6 220b 1833 movs r2,11 00000ac8 2100 1834 movs r1,0 00000aca 205c 1835 movs r0,92 1836 .L11761: 1837 00000acc f000f800* 1838 bl Det_ReportTransientFault 00000ad0 2c03 1839 cmp r4,3 00000ad2 d105* 1840 bne .L6924 00000ad4 2308 1841 movs r3,8 00000ad6 220b 1842 movs r2,11 00000ad8 2100 1843 movs r1,0 00000ada 205c 1844 movs r0,92 1845 .L11763: 1846 00000adc f000f800* 1847 bl Det_ReportRuntimeError 1848 .L6924: 00000ae0 69f0 1849 ldr r0,[r6,28] 00000ae2 6977 1850 ldr r7,[r6,20] 00000ae4 4428 1851 add r0,r0,r5 00000ae6 61f0 1852 str r0,[r6,28] 00000ae8 442f 1853 add r7,r7,r5 00000aea 6177 1854 str r7,[r6,20] 00000aec b1c4* 1855 cbz r4,.L6929 00000aee e7c9* 1856 b .L6934 1857 .L6925: 00000af0 4629 1858 cpy r1,r5 1859 .L11765: 1860 00000af2 f000f800* 1861 bl Fls_Drvw_BlankCheckSector 00000af6 1e04 1862 subs r4,r0,0 00000af8 d00d* 1863 beq .L9630 00000afa 2304 1864 movs r3,4 00000afc 220b 1865 movs r2,11 00000afe 2100 1866 movs r1,0 00000b00 205c 1867 movs r0,92 1868 .L11767: 1869 00000b02 f000f800* 1870 bl Det_ReportTransientFault 00000b06 2c02 1871 cmp r4,2 00000b08 d105* 1872 bne .L9630 Page 32 objs\release\Fls.s 00000b0a 2307 1873 movs r3,7 00000b0c 220b 1874 movs r2,11 00000b0e 2100 1875 movs r1,0 00000b10 205c 1876 movs r0,92 1877 .L11769: 1878 00000b12 f000f800* 1879 bl Det_ReportRuntimeError 1880 .L9630: 00000b16 6977 1881 ldr r7,[r6,20] 1882 .L6928: 00000b18 442f 1883 add r7,r7,r5 00000b1a 6177 1884 str r7,[r6,20] 00000b1c 2c00 1885 cmp r4,0 00000b1e d1b1* 1886 bne .L6934 1887 .L6929: 00000b20 6830 1888 ldr r0,[r6] 00000b22 68f1 1889 ldr r1,[r6,12] 00000b24 6a02 1890 ldr r2,[r0,32] 00000b26 f8520021 1891 ldr.w r0,[r2,r1 lsl 2] 00000b2a 6880 1892 ldr r0,[r0,8] 00000b2c 4287 1893 cmp r7,r0 00000b2e bf84 1894 itt hi 00000b30 1c49 1895 add r1,r1,1 00000b32 60f1 1896 str r1,[r6,12] 00000b34 4557 1897 cmp r7,r10 00000b36 bf98 1898 it ls 00000b38 f8d6b004 1899 ldr.w fp,[r6,4] 00000b3c f67faf75* 1900 bls .L6917 1901 .L6939: 00000b40 69b0 1902 ldr r0,[r6,24] 00000b42 4287 1903 cmp r7,r0 1904 .L6940: 00000b44 bf88 1905 it hi 00000b46 f04f0800 1906 mov r8,0 1907 .L6945: 00000b4a f8c68008 1908 str r8,[r6,8] 00000b4e f1b80f00 1909 cmp r8,0 00000b52 d106* 1910 bne .L6948 1911 .L6946: 00000b54 6831 1912 ldr r1,[r6] 00000b56 6808 1913 ldr r0,[r1] 00000b58 b180* 1914 cbz r0,.L6835 00000b5a b001 1915 add sp,sp,4 00000b5c e8bd4df0 1916 pop {r4-r8,r10-fp,lr} 1917 .L11771: 1918 00000b60 4700 1919 bx r0 1920 .L6948: 00000b62 f1b80f01 1921 cmp r8,1 00000b66 d005* 1922 beq .L6951 1923 .L6949: 00000b68 f1b80f03 1924 cmp r8,3 00000b6c bf18 1925 it ne 00000b6e f1b80f04 1926 cmp r8,4 00000b72 d103* 1927 bne .L6835 1928 .L6951: 00000b74 6831 1929 ldr r1,[r6] 00000b76 6848 1930 ldr r0,[r1,4] 00000b78 2800 1931 cmp r0,0 00000b7a d18d* 1932 bne .L6952 1933 .L6835: Page 33 objs\release\Fls.s 00000b7c b001 1934 add sp,sp,4 1935 .L11773: 1936 00000b7e e8bd8df0 1937 pop {r4-r8,r10-fp,pc} 1938 .endf Fls_MainFunction 1939 ;Result r8 local 1940 ;Ret r5 local 1941 ;PhySectorSize r4 local 1942 ;Ret r5 local 1943 ;PageSize r4 local 1944 ;AsyncFlag r4 local 1945 ;PhysicalSectorSize r5 local 1946 ;LowLevelRes r7 local 1947 ;PhyAddr r0 local 1948 ;WriteEndAddr r4 local 1949 ;LowLevelRes r10 local 1950 ;WriteLen r5 local 1951 ;PageSize r2 local 1952 ;ReadEndAddr r10 local 1953 ;LowLevelRes r4 local 1954 ;ReadLen r5 local 1955 ;PhyAddr r0 local 1956 1957 .section ".ghcalltbl","" 000000c8 00000000* 1958 .L11712: .data.w .L11711 1959 .endo .L11712 000000cc 00000000* 1960 .L11714: .data.w .L11713 1961 .endo .L11714 000000d0 00000000* 1962 .L11716: .data.w .L11715 1963 .endo .L11716 000000d4 00000000* 1964 .L11718: .data.w .L11717 1965 .endo .L11718 000000d8 00000000* 1966 .L11720: .data.w .L11719 1967 .endo .L11720 000000dc 00000000* 1968 .L11722: .data.w .L11721 1969 .endo .L11722 000000e0 00000000* 1970 .L11724: .data.w .L11723 1971 .endo .L11724 000000e4 00000000* 1972 .L11726: .data.w .L11725 1973 .endo .L11726 000000e8 00000000* 1974 .L11728: .data.w .L11727 1975 .endo .L11728 000000ec 00000000* 1976 .L11730: .data.w .L11729 1977 .endo .L11730 000000f0 00000000* 1978 .L11732: .data.w .L11731 1979 .endo .L11732 000000f4 00000000* 1980 .L11734: .data.w .L11733 1981 .endo .L11734 000000f8 00000000* 1982 .L11736: .data.w .L11735 1983 .endo .L11736 000000fc 00000000* 1984 .L11738: .data.w .L11737 1985 .endo .L11738 00000100 00000000* 1986 .L11740: .data.w .L11739 1987 .endo .L11740 00000104 00000000* 1988 .L11742: .data.w .L11741 1989 .endo .L11742 00000108 00000000* 1990 .L11744: .data.w .L11743 1991 .endo .L11744 0000010c 00000000* 1992 .L11746: .data.w .L11745 1993 .endo .L11746 00000110 00000000* 1994 .L11748: .data.w .L11747 Page 34 objs\release\Fls.s 1995 .endo .L11748 00000114 00000000* 1996 .L11750: .data.w .L11749 1997 .endo .L11750 00000118 00000000* 1998 .L11752: .data.w .L11751 1999 .endo .L11752 0000011c 00000000* 2000 .L11754: .data.w .L11753 2001 .endo .L11754 00000120 00000000* 2002 .L11756: .data.w .L11755 2003 .endo .L11756 2004 .section ".ghtailcalltbl","" 00000018 00000000* 2005 .L11758: .data.w .L11757 2006 .endo .L11758 2007 .section ".ghcalltbl","" 00000124 00000000* 2008 .L11760: .data.w .L11759 2009 .endo .L11760 00000128 00000000* 2010 .L11762: .data.w .L11761 2011 .endo .L11762 0000012c 00000000* 2012 .L11764: .data.w .L11763 2013 .endo .L11764 00000130 00000000* 2014 .L11766: .data.w .L11765 2015 .endo .L11766 00000134 00000000* 2016 .L11768: .data.w .L11767 2017 .endo .L11768 00000138 00000000* 2018 .L11770: .data.w .L11769 2019 .endo .L11770 2020 .section ".ghtailcalltbl","" 0000001c 00000000* 2021 .L11772: .data.w .L11771 2022 .endo .L11772 2023 .section ".ghrettbl","" 00000060 00000000* 2024 .L11774: .data.w .L11773 2025 .endo .L11774 2026 .section ".mcal_code","ax" 2027 ;Fls_PreDefinedConfigPtr Fls_PreDefinedConfigPtr import 2028 ;Fls_Job Fls_Job static 2029 ;Fls_ConfigPtr Fls_ConfigPtr static 2030 ;Fls_MaxRead Fls_MaxRead static 2031 ;Fls_MaxWrite Fls_MaxWrite static 2032 2033 .global Fls_PreDefinedConfigPtr 2034 2035 .ghsnote info, 27, 3, 640