Page 1 objs\release\Pwm.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=Pwm.c -o objs\release\Pwm.o -list=objs\release\Pwm.lst objs\release\Pwm.s Original File: objs\release\Pwm.s Source File: Pwm.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\Pwm_ZX_K14xM\Src\Pwm.c -o objs\release\Pwm.o 45 ;Source File: ..\..\..\mcal\Pwm_ZX_K14xM\Src\Pwm.c 46 ;Directory: 47 ; D:\AUTOMFL\AutoSAR\ZHIXIN\MCAL_Capri(1.2.0)\Project\Capri\MultiProject 48 ;Compile Date: Mon Dec 18 00:01:44 2023 49 ;Host OS: Win64 50 ;Version: C-ARM 2021.1.4 RELEASE VERSION Page 2 objs\release\Pwm.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 Pwm_CheckChnCfgStruct: 00000000 b510 61 push {r4,lr} 00000002 eb000280 62 add r2,r0,r0 lsl 2 00000006 f2400300* 63 movw r3,%lo(Pwm_ConfigPtr) 0000000a f2c00300* 64 movt r3,%hi(Pwm_ConfigPtr) 0000000e 6818 65 ldr r0,[r3] 00000010 6840 66 ldr r0,[r0,4] 00000012 eb000082 67 add r0,r0,r2 lsl 2 00000016 6880 68 ldr r0,[r0,8] 00000018 6842 69 ldr r2,[r0,4] 0000001a 2400 70 movs r4,0 0000001c 2a01 71 cmp r2,1 0000001e d102* 72 bne .L224 00000020 68c0 73 ldr r0,[r0,12] 00000022 b958* 74 cbnz r0,.L228 00000024 e003* 75 b .L229 76 .L224: 00000026 2a02 77 cmp r2,2 00000028 d101* 78 bne .L229 0000002a 6900 79 ldr r0,[r0,16] 0000002c b930* 80 cbnz r0,.L228 81 .L229: 0000002e 2401 82 movs r4,1 00000030 460a 83 cpy r2,r1 00000032 2334 84 movs r3,52 00000034 2100 85 movs r1,0 00000036 2079 86 movs r0,121 87 .L444: 88 00000038 f000f800* 89 bl Det_ReportError 90 .L228: 0000003c 4620 91 cpy r0,r4 92 .L446: 93 0000003e bd10 94 pop {r4,pc} 95 .endf Pwm_CheckChnCfgStruct 96 ;RetVal r4 local 97 ;DrvwChnCfgPtr r0 local 98 99 ;ChannelNumber r0 param 100 ;ServiceId r1 param 101 102 .section ".bss","awb" 103 .align 4 00000000 00000000 104 Pwm_ConfigPtr: .space 4 105 .endo Pwm_ConfigPtr 106 .section ".ghcalltbl","" 107 .align 4 00000000 00000000* 108 .L445: .data.w .L444 109 .endo .L445 110 .section ".ghrettbl","" 111 .align 4 Page 3 objs\release\Pwm.s 00000000 00000000* 112 .L447: .data.w .L446 113 .endo .L447 114 .section ".mcal_code","ax" 115 ..gh.f.f.1.a.1.e.1: 116 .endo ..gh.f.f.1.a.1.e.1 117 Pwm_CheckModuleCfgStruct: 00000040 b510 118 push {r4,lr} 00000042 f2400300* 119 movw r3,%lo(Pwm_ConfigPtr) 00000046 f2c00300* 120 movt r3,%hi(Pwm_ConfigPtr) 0000004a 681a 121 ldr r2,[r3] 0000004c 68d2 122 ldr r2,[r2,12] 0000004e eb021000 123 add r0,r2,r0 lsl 4 00000052 6842 124 ldr r2,[r0,4] 00000054 2400 125 movs r4,0 00000056 2a01 126 cmp r2,1 00000058 d102* 127 bne .L450 0000005a 6880 128 ldr r0,[r0,8] 0000005c b958* 129 cbnz r0,.L454 0000005e e003* 130 b .L455 131 .L450: 00000060 2a02 132 cmp r2,2 00000062 d101* 133 bne .L455 00000064 68c0 134 ldr r0,[r0,12] 00000066 b930* 135 cbnz r0,.L454 136 .L455: 00000068 2401 137 movs r4,1 0000006a 460a 138 cpy r2,r1 0000006c 2335 139 movs r3,53 0000006e 2100 140 movs r1,0 00000070 2079 141 movs r0,121 142 .L676: 143 00000072 f000f800* 144 bl Det_ReportError 145 .L454: 00000076 4620 146 cpy r0,r4 147 .L678: 148 00000078 bd10 149 pop {r4,pc} 150 .endf Pwm_CheckModuleCfgStruct 151 ;RetVal r4 local 152 ;DrvwHwCfgPtr r0 local 153 154 ;ModuleId r0 param 155 ;ServiceId r1 param 156 157 .section ".ghcalltbl","" 00000004 00000000* 158 .L677: .data.w .L676 159 .endo .L677 160 .section ".ghrettbl","" 00000004 00000000* 161 .L679: .data.w .L678 162 .endo .L679 163 .section ".mcal_code","ax" 164 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 165 ..gh.f.f.1.a.1.e.2: 166 .endo ..gh.f.f.1.a.1.e.2 167 Pwm_CheckPwmCfgStruct: 0000007a b570 168 push {r4-r6,lr} 0000007c f2400500* 169 movw r5,%lo(Pwm_ConfigPtr) 00000080 f2c00500* 170 movt r5,%hi(Pwm_ConfigPtr) 00000084 6829 171 ldr r1,[r5] 00000086 780a 172 ldrb r2,[r1] Page 4 objs\release\Pwm.s 00000088 4606 173 cpy r6,r0 0000008a 2000 174 movs r0,0 0000008c 4604 175 cpy r4,r0 0000008e 4290 176 cmp r0,r2 00000090 d20f* 177 bhs .L691 178 .L684: 00000092 4631 179 cpy r1,r6 00000094 4620 180 cpy r0,r4 181 .L1295: 182 00000096 f7ffffb3* 183 bl Pwm_CheckChnCfgStruct 0000009a 2801 184 cmp r0,1 0000009c bf08 185 it eq 186 .L1297: 187 0000009e bd70 188 pop {r4-r6,pc} 000000a0 6829 189 ldr r1,[r5] 000000a2 780a 190 ldrb r2,[r1] 000000a4 1c64 191 adds r4,r4,1 000000a6 b2e4 192 uxtb r4,r4 000000a8 4294 193 cmp r4,r2 000000aa d3f2* 194 blo .L684 000000ac 2800 195 cmp r0,0 000000ae bf18 196 it ne 197 .L1299: 198 000000b0 bd70 199 pop {r4-r6,pc} 200 .L691: 000000b2 7a09 201 ldrb r1,[r1,8] 000000b4 4604 202 cpy r4,r0 000000b6 4288 203 cmp r0,r1 000000b8 bf28 204 it hs 205 .L1301: 206 000000ba bd70 207 pop {r4-r6,pc} 208 .L694: 000000bc 4631 209 cpy r1,r6 000000be 4620 210 cpy r0,r4 211 .L1303: 212 000000c0 f7ffffbe* 213 bl Pwm_CheckModuleCfgStruct 000000c4 2801 214 cmp r0,1 000000c6 bf08 215 it eq 216 .L1305: 217 000000c8 bd70 218 pop {r4-r6,pc} 000000ca 6829 219 ldr r1,[r5] 000000cc 7a09 220 ldrb r1,[r1,8] 000000ce 1c64 221 adds r4,r4,1 000000d0 b2e4 222 uxtb r4,r4 000000d2 428c 223 cmp r4,r1 000000d4 d3f2* 224 blo .L694 225 .L1307: 226 000000d6 bd70 227 pop {r4-r6,pc} 228 .endf Pwm_CheckPwmCfgStruct 229 ;RetVal r0 local 230 ;Index r4 local 231 232 ;ServiceId r6 param 233 Page 5 objs\release\Pwm.s 234 .section ".ghcalltbl","" 00000008 00000000* 235 .L1296: .data.w .L1295 236 .endo .L1296 237 .section ".ghrettbl","" 00000008 00000000* 238 .L1298: .data.w .L1297 239 .endo .L1298 0000000c 00000000* 240 .L1300: .data.w .L1299 241 .endo .L1300 00000010 00000000* 242 .L1302: .data.w .L1301 243 .endo .L1302 244 .section ".ghcalltbl","" 0000000c 00000000* 245 .L1304: .data.w .L1303 246 .endo .L1304 247 .section ".ghrettbl","" 00000014 00000000* 248 .L1306: .data.w .L1305 249 .endo .L1306 00000018 00000000* 250 .L1308: .data.w .L1307 251 .endo .L1308 252 .section ".mcal_code","ax" 253 ..gh.f.f.1.a.1.e.3: 254 .endo ..gh.f.f.1.a.1.e.3 255 Pwm_CheckHwAndChannel: 000000d8 b570 256 push {r4-r6,lr} 000000da 460d 257 cpy r5,r1 000000dc f2400100* 258 movw r1,%lo(Pwm_DrvState) 000000e0 f2c00100* 259 movt r1,%hi(Pwm_DrvState) 000000e4 6809 260 ldr r1,[r1] 000000e6 b931* 261 cbnz r1,.L1315 000000e8 462a 262 cpy r2,r5 000000ea 2311 263 movs r3,17 000000ec 2079 264 movs r0,121 265 .L1789: 266 000000ee f000f800* 267 bl Det_ReportError 000000f2 2401 268 movs r4,1 000000f4 e020* 269 b .L1309 270 .L1315: 000000f6 4606 271 cpy r6,r0 000000f8 2400 272 movs r4,0 000000fa 280d 273 cmp r0,13 000000fc d306* 274 blo .L1320 000000fe 462a 275 cpy r2,r5 00000100 2312 276 movs r3,18 00000102 4621 277 cpy r1,r4 00000104 2079 278 movs r0,121 279 .L1791: 280 00000106 f000f800* 281 bl Det_ReportError 0000010a 2401 282 movs r4,1 283 .L1320: 0000010c b9a4* 284 cbnz r4,.L1309 0000010e f2400100* 285 movw r1,%lo(Pwm_ConfigPtr) 00000112 f2c00100* 286 movt r1,%hi(Pwm_ConfigPtr) 00000116 6808 287 ldr r0,[r1] 00000118 7800 288 ldrb r0,[r0] 0000011a 4286 289 cmp r6,r0 0000011c d306* 290 blo .L1329 0000011e 2401 291 movs r4,1 00000120 462a 292 cpy r2,r5 00000122 2340 293 movs r3,64 00000124 2100 294 movs r1,0 Page 6 objs\release\Pwm.s 00000126 2079 295 movs r0,121 296 .L1793: 297 00000128 f000f800* 298 bl Det_ReportError 299 .L1329: 0000012c b924* 300 cbnz r4,.L1309 0000012e 4629 301 cpy r1,r5 00000130 4630 302 cpy r0,r6 303 .L1795: 304 00000132 f7ffff65* 305 bl Pwm_CheckChnCfgStruct 00000136 4604 306 cpy r4,r0 307 .L1309: 00000138 4620 308 cpy r0,r4 309 .L1797: 310 0000013a bd70 311 pop {r4-r6,pc} 312 .endf Pwm_CheckHwAndChannel 313 ;RetVal r4 local 314 315 ;ChannelNumber r6 param 316 ;ServiceId r5 param 317 318 .section ".mcal_bss","awb" 319 .align 4 00000000 00000000 320 Pwm_DrvState: .space 12 00000004 00000000 00000008 00000000 321 .endo Pwm_DrvState 322 .section ".ghcalltbl","" 00000010 00000000* 323 .L1790: .data.w .L1789 324 .endo .L1790 00000014 00000000* 325 .L1792: .data.w .L1791 326 .endo .L1792 00000018 00000000* 327 .L1794: .data.w .L1793 328 .endo .L1794 0000001c 00000000* 329 .L1796: .data.w .L1795 330 .endo .L1796 331 .section ".ghrettbl","" 0000001c 00000000* 332 .L1798: .data.w .L1797 333 .endo .L1798 334 .section ".mcal_code","ax" 335 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 336 ..gh.f.f.1.a.1.e.4: 337 .endo ..gh.f.f.1.a.1.e.4 338 Pwm_Init:: 0000013c b5f0 339 push {r4-r7,lr} 0000013e f2400600* 340 movw r6,%lo(Pwm_DrvState) 00000142 f2c00600* 341 movt r6,%hi(Pwm_DrvState) 00000146 6831 342 ldr r1,[r6] 00000148 b139* 343 cbz r1,.L1805 0000014a 2314 344 movs r3,20 0000014c 2200 345 movs r2,0 0000014e 4611 346 cpy r1,r2 00000150 2079 347 movs r0,121 00000152 e8bd40f0 348 pop {r4-r7,lr} 349 .L3553: 350 00000156 f000b800* 351 b Det_ReportError 352 .L1805: 0000015a b130* 353 cbz r0,.L1801 Page 7 objs\release\Pwm.s 0000015c 2310 354 movs r3,16 0000015e 460a 355 cpy r2,r1 00000160 2079 356 movs r0,121 00000162 e8bd40f0 357 pop {r4-r7,lr} 358 .L3555: 359 00000166 f000b800* 360 b Det_ReportError 361 .L1801: 0000016a f2400200* 362 movw r2,%lo(Pwm_PreDefinedConfigPtr) 0000016e f2c00200* 363 movt r2,%hi(Pwm_PreDefinedConfigPtr) 00000172 6810 364 ldr r0,[r2] 00000174 f2400500* 365 movw r5,%lo(Pwm_ConfigPtr) 00000178 f2c00500* 366 movt r5,%hi(Pwm_ConfigPtr) 0000017c 6028 367 str r0,[r5] 0000017e 4608 368 cpy r0,r1 369 .L3557: 370 00000180 f7ffff7b* 371 bl Pwm_CheckPwmCfgStruct 00000184 1e04 372 subs r4,r0,0 00000186 bf18 373 it ne 374 .L3559: 375 00000188 bdf0 376 pop {r4-r7,pc} 0000018a 682a 377 ldr r2,[r5] 0000018c 7813 378 ldrb r3,[r2] 0000018e 4298 379 cmp r0,r3 00000190 d21a* 380 bhs .L1812 381 .L1814: 00000192 6851 382 ldr r1,[r2,4] 00000194 eb040084 383 add r0,r4,r4 lsl 2 00000198 eb010180 384 add r1,r1,r0 lsl 2 0000019c 68c8 385 ldr r0,[r1,12] 0000019e 6889 386 ldr r1,[r1,8] 000001a0 b940* 387 cbnz r0,.L1816 388 .L3561: 389 000001a2 f000f800* 390 bl Pwm_Drvw_InitIdleState 000001a6 682a 391 ldr r2,[r5] 000001a8 7813 392 ldrb r3,[r2] 000001aa 1c64 393 adds r4,r4,1 000001ac b2e4 394 uxtb r4,r4 000001ae 429c 395 cmp r4,r3 000001b0 d3ef* 396 blo .L1814 000001b2 e009* 397 b .L1812 398 .L1816: 000001b4 2801 399 cmp r0,1 000001b6 d103* 400 bne .L1815 401 .L3563: 402 000001b8 f000f800* 403 bl Pwm_Drvw_InitIdleState 000001bc 682a 404 ldr r2,[r5] 000001be 7813 405 ldrb r3,[r2] 406 .L1815: 000001c0 1c64 407 adds r4,r4,1 000001c2 b2e4 408 uxtb r4,r4 000001c4 429c 409 cmp r4,r3 000001c6 d3e4* 410 blo .L1814 411 .L1812: 000001c8 7a11 412 ldrb r1,[r2,8] 000001ca 2400 413 movs r4,0 000001cc 428c 414 cmp r4,r1 Page 8 objs\release\Pwm.s 000001ce d20c* 415 bhs .L1822 416 .L1825: 000001d0 68d1 417 ldr r1,[r2,12] 000001d2 eb015014 418 add r0,r1,r4 lsr 20 419 .L3565: 420 000001d6 f000f800* 421 bl Pwm_Drvw_Init 000001da 682a 422 ldr r2,[r5] 000001dc 7a11 423 ldrb r1,[r2,8] 000001de f1047480 424 add r4,r4,1<<24 000001e2 ebb16f14 425 cmp r1,r4 lsr 24 000001e6 d8f3* 426 bhi .L1825 000001e8 7813 427 ldrb r3,[r2] 428 .L1822: 000001ea 2400 429 movs r4,0 000001ec 429c 430 cmp r4,r3 000001ee d20f* 431 bhs .L1826 432 .L1829: 000001f0 6851 433 ldr r1,[r2,4] 000001f2 eb040084 434 add r0,r4,r4 lsl 2 000001f6 eb010180 435 add r1,r1,r0 lsl 2 000001fa 6889 436 ldr r1,[r1,8] 000001fc 8908 437 ldrh r0,[r1,8] 438 .L3567: 439 000001fe f000f800* 440 bl Pwm_Drvw_SetDefaultDutyCycle 00000202 682a 441 ldr r2,[r5] 00000204 7811 442 ldrb r1,[r2] 00000206 1c64 443 adds r4,r4,1 00000208 b2e4 444 uxtb r4,r4 0000020a 428c 445 cmp r4,r1 0000020c d3f0* 446 blo .L1829 0000020e 7a11 447 ldrb r1,[r2,8] 448 .L1826: 00000210 2400 449 movs r4,0 00000212 428c 450 cmp r4,r1 00000214 d212* 451 bhs .L1830 452 .L1833: 00000216 68d0 453 ldr r0,[r2,12] 00000218 0d27 454 lsrs r7,r4,20 0000021a 1839 455 adds r1,r7,r0 0000021c 5dc0 456 ldrb r0,[r0,r7] 0000021e 6849 457 ldr r1,[r1,4] 458 .L3569: 459 00000220 f000f800* 460 bl Pwm_Drvw_SyncDefaultDutyCycle 00000224 6828 461 ldr r0,[r5] 00000226 68c0 462 ldr r0,[r0,12] 00000228 4438 463 add r0,r0,r7 464 .L3571: 465 0000022a f000f800* 466 bl Pwm_Drvw_StartInstance 0000022e 682a 467 ldr r2,[r5] 00000230 7a13 468 ldrb r3,[r2,8] 00000232 f1047480 469 add r4,r4,1<<24 00000236 ebb36f14 470 cmp r3,r4 lsr 24 0000023a d8ec* 471 bhi .L1833 472 .L1830: 0000023c 2100 473 movs r1,0 0000023e 2202 474 movs r2,2 00000240 2001 475 movs r0,1 Page 9 objs\release\Pwm.s 00000242 e8860007 476 stm r6,{r0-r2} 477 .L3573: 478 00000246 bdf0 479 pop {r4-r7,pc} 480 .endf Pwm_Init 481 ;Index r4 local 482 ;DrvwChnCfgPtr r1 local 483 ;State r0 local 484 ;RetVal r4 local 485 486 ;ConfigPtr r0 param 487 488 .section ".ghtailcalltbl","" 489 .align 4 00000000 00000000* 490 .L3554: .data.w .L3553 491 .endo .L3554 00000004 00000000* 492 .L3556: .data.w .L3555 493 .endo .L3556 494 .section ".ghcalltbl","" 00000020 00000000* 495 .L3558: .data.w .L3557 496 .endo .L3558 497 .section ".ghrettbl","" 00000020 00000000* 498 .L3560: .data.w .L3559 499 .endo .L3560 500 .section ".ghcalltbl","" 00000024 00000000* 501 .L3562: .data.w .L3561 502 .endo .L3562 00000028 00000000* 503 .L3564: .data.w .L3563 504 .endo .L3564 0000002c 00000000* 505 .L3566: .data.w .L3565 506 .endo .L3566 00000030 00000000* 507 .L3568: .data.w .L3567 508 .endo .L3568 00000034 00000000* 509 .L3570: .data.w .L3569 510 .endo .L3570 00000038 00000000* 511 .L3572: .data.w .L3571 512 .endo .L3572 513 .section ".ghrettbl","" 00000024 00000000* 514 .L3574: .data.w .L3573 515 .endo .L3574 516 .section ".mcal_code","ax" 517 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 518 ..gh.f.f.1.a.1.e.5: 519 .endo ..gh.f.f.1.a.1.e.5 520 Pwm_DeInit:: 00000248 b570 521 push {r4-r6,lr} 0000024a f2400600* 522 movw r6,%lo(Pwm_DrvState) 0000024e f2c00600* 523 movt r6,%hi(Pwm_DrvState) 00000252 6831 524 ldr r1,[r6] 00000254 b931* 525 cbnz r1,.L3577 00000256 2311 526 movs r3,17 00000258 2201 527 movs r2,1 0000025a 2079 528 movs r0,121 0000025c e8bd4070 529 pop {r4-r6,lr} 530 .L4178: 531 00000260 f000b800* 532 b Det_ReportError 533 .L3577: 00000264 2001 534 movs r0,1 535 .L4180: 536 Page 10 objs\release\Pwm.s 00000266 f7ffff08* 537 bl Pwm_CheckPwmCfgStruct 0000026a 1e04 538 subs r4,r0,0 0000026c bf18 539 it ne 540 .L4182: 541 0000026e bd70 542 pop {r4-r6,pc} 00000270 f2400500* 543 movw r5,%lo(Pwm_ConfigPtr) 00000274 f2c00500* 544 movt r5,%hi(Pwm_ConfigPtr) 00000278 6829 545 ldr r1,[r5] 0000027a 7808 546 ldrb r0,[r1] 0000027c 4284 547 cmp r4,r0 0000027e d20d* 548 bhs .L3582 549 .L3585: 00000280 6849 550 ldr r1,[r1,4] 00000282 eb040084 551 add r0,r4,r4 lsl 2 00000286 eb010180 552 add r1,r1,r0 lsl 2 0000028a 6888 553 ldr r0,[r1,8] 554 .L4184: 555 0000028c f000f800* 556 bl Pwm_Drvw_SetOutputToIdle 00000290 6829 557 ldr r1,[r5] 00000292 780a 558 ldrb r2,[r1] 00000294 1c64 559 adds r4,r4,1 00000296 b2e4 560 uxtb r4,r4 00000298 4294 561 cmp r4,r2 0000029a d3f1* 562 blo .L3585 563 .L3582: 0000029c 7a08 564 ldrb r0,[r1,8] 0000029e 2400 565 movs r4,0 000002a0 4284 566 cmp r4,r0 000002a2 d20b* 567 bhs .L3586 568 .L3589: 000002a4 68c9 569 ldr r1,[r1,12] 000002a6 eb015014 570 add r0,r1,r4 lsr 20 571 .L4186: 572 000002aa f000f800* 573 bl Pwm_Drvw_DeInit 000002ae 6829 574 ldr r1,[r5] 000002b0 7a0b 575 ldrb r3,[r1,8] 000002b2 f1047480 576 add r4,r4,1<<24 000002b6 ebb36f14 577 cmp r3,r4 lsr 24 000002ba d8f3* 578 bhi .L3589 579 .L3586: 000002bc 2000 580 movs r0,0 000002be 6028 581 str r0,[r5] 000002c0 2102 582 movs r1,2 000002c2 460a 583 cpy r2,r1 000002c4 e8860007 584 stm r6,{r0-r2} 585 .L4188: 586 000002c8 bd70 587 pop {r4-r6,pc} 588 .endf Pwm_DeInit 589 ;Index r4 local 590 ;RetVal r4 local 591 592 .section ".ghtailcalltbl","" 00000008 00000000* 593 .L4179: .data.w .L4178 594 .endo .L4179 595 .section ".ghcalltbl","" 0000003c 00000000* 596 .L4181: .data.w .L4180 597 .endo .L4181 Page 11 objs\release\Pwm.s 598 .section ".ghrettbl","" 00000028 00000000* 599 .L4183: .data.w .L4182 600 .endo .L4183 601 .section ".ghcalltbl","" 00000040 00000000* 602 .L4185: .data.w .L4184 603 .endo .L4185 00000044 00000000* 604 .L4187: .data.w .L4186 605 .endo .L4187 606 .section ".ghrettbl","" 0000002c 00000000* 607 .L4189: .data.w .L4188 608 .endo .L4189 609 .section ".mcal_code","ax" 610 ..gh.f.f.1.a.1.e.6: 611 .endo ..gh.f.f.1.a.1.e.6 612 Pwm_SetDutyCycle:: 000002ca b530 613 push {r4-r5,lr} 000002cc 460d 614 cpy r5,r1 000002ce 4604 615 cpy r4,r0 000002d0 2102 616 movs r1,2 617 .L4355: 618 000002d2 f7ffff01* 619 bl Pwm_CheckHwAndChannel 000002d6 2800 620 cmp r0,0 000002d8 bf18 621 it ne 622 .L4357: 623 000002da bd30 624 pop {r4-r5,pc} 000002dc f5b54f00 625 cmp r5,1<<15 000002e0 d810* 626 bhi .L4194 000002e2 f2400200* 627 movw r2,%lo(Pwm_ConfigPtr) 000002e6 f2c00200* 628 movt r2,%hi(Pwm_ConfigPtr) 000002ea 6810 629 ldr r0,[r2] 000002ec 6840 630 ldr r0,[r0,4] 000002ee eb040184 631 add r1,r4,r4 lsl 2 000002f2 eb000081 632 add r0,r0,r1 lsl 2 000002f6 6881 633 ldr r1,[r0,8] 000002f8 4628 634 cpy r0,r5 635 .L4359: 636 000002fa f000f800* 637 bl Pwm_Drvw_SetDutyCycle 000002fe 2800 638 cmp r0,0 00000300 bf08 639 it eq 640 .L4361: 641 00000302 bd30 642 pop {r4-r5,pc} 643 .L4194: 00000304 2332 644 movs r3,50 00000306 2202 645 movs r2,2 00000308 2100 646 movs r1,0 0000030a 2079 647 movs r0,121 0000030c e8bd4030 648 pop {r4-r5,lr} 649 .L4363: 650 00000310 f000b800* 651 b Det_ReportError 652 .endf Pwm_SetDutyCycle 653 654 ;ChannelNumber r4 param 655 ;DutyCycle r5 param 656 657 .section ".ghcalltbl","" 00000048 00000000* 658 .L4356: .data.w .L4355 Page 12 objs\release\Pwm.s 659 .endo .L4356 660 .section ".ghrettbl","" 00000030 00000000* 661 .L4358: .data.w .L4357 662 .endo .L4358 663 .section ".ghcalltbl","" 0000004c 00000000* 664 .L4360: .data.w .L4359 665 .endo .L4360 666 .section ".ghrettbl","" 00000034 00000000* 667 .L4362: .data.w .L4361 668 .endo .L4362 669 .section ".ghtailcalltbl","" 0000000c 00000000* 670 .L4364: .data.w .L4363 671 .endo .L4364 672 .section ".mcal_code","ax" 673 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 674 ..gh.f.f.1.a.1.e.7: 675 .endo ..gh.f.f.1.a.1.e.7 676 Pwm_SetPeriodAndDuty:: 00000314 b5f0 677 push {r4-r7,lr} 00000316 460e 678 cpy r6,r1 00000318 4617 679 cpy r7,r2 0000031a 4604 680 cpy r4,r0 0000031c 2103 681 movs r1,3 682 .L4813: 683 0000031e f7fffedb* 684 bl Pwm_CheckHwAndChannel 00000322 2800 685 cmp r0,0 00000324 bf18 686 it ne 687 .L4815: 688 00000326 bdf0 689 pop {r4-r7,pc} 00000328 f2400500* 690 movw r5,%lo(Pwm_ConfigPtr) 0000032c f2c00500* 691 movt r5,%hi(Pwm_ConfigPtr) 00000330 eb040084 692 add r0,r4,r4 lsl 2 00000334 0084 693 lsls r4,r0,2 00000336 6828 694 ldr r0,[r5] 00000338 6840 695 ldr r0,[r0,4] 0000033a 1821 696 adds r1,r4,r0 0000033c 6888 697 ldr r0,[r1,8] 0000033e 6849 698 ldr r1,[r1,4] 00000340 2900 699 cmp r1,0 00000342 d10b* 700 bne .L4376 701 .L4817: 702 00000344 f000f800* 703 bl Pwm_Drvw_GetMaxPeriodValue 00000348 4286 704 cmp r6,r0 0000034a d90f* 705 bls .L4370 0000034c 231a 706 movs r3,26 0000034e 2203 707 movs r2,3 00000350 2100 708 movs r1,0 00000352 2079 709 movs r0,121 00000354 e8bd40f0 710 pop {r4-r7,lr} 711 .L4819: 712 00000358 f000b800* 713 b Det_ReportError 714 .L4376: 0000035c 2313 715 movs r3,19 0000035e 2203 716 movs r2,3 00000360 2100 717 movs r1,0 00000362 2079 718 movs r0,121 00000364 e8bd40f0 719 pop {r4-r7,lr} Page 13 objs\release\Pwm.s 720 .L4821: 721 00000368 f000b800* 722 b Det_ReportError 723 .L4370: 0000036c f5b74f00 724 cmp r7,1<<15 00000370 d80a* 725 bhi .L4379 00000372 6828 726 ldr r0,[r5] 00000374 6840 727 ldr r0,[r0,4] 00000376 4420 728 add r0,r0,r4 00000378 6882 729 ldr r2,[r0,8] 0000037a 4639 730 cpy r1,r7 0000037c 4630 731 cpy r0,r6 732 .L4823: 733 0000037e f000f800* 734 bl Pwm_Drvw_SetPeriodAndDuty 00000382 2800 735 cmp r0,0 00000384 bf08 736 it eq 737 .L4825: 738 00000386 bdf0 739 pop {r4-r7,pc} 740 .L4379: 00000388 2332 741 movs r3,50 0000038a 2203 742 movs r2,3 0000038c 2100 743 movs r1,0 0000038e 2079 744 movs r0,121 00000390 e8bd40f0 745 pop {r4-r7,lr} 746 .L4827: 747 00000394 f000b800* 748 b Det_ReportError 749 .endf Pwm_SetPeriodAndDuty 750 ;DrvwChnCfgPtr r0 local 751 752 ;ChannelNumber r4 param 753 ;Period r6 param 754 ;DutyCycle r7 param 755 756 .section ".ghcalltbl","" 00000050 00000000* 757 .L4814: .data.w .L4813 758 .endo .L4814 759 .section ".ghrettbl","" 00000038 00000000* 760 .L4816: .data.w .L4815 761 .endo .L4816 762 .section ".ghcalltbl","" 00000054 00000000* 763 .L4818: .data.w .L4817 764 .endo .L4818 765 .section ".ghtailcalltbl","" 00000010 00000000* 766 .L4820: .data.w .L4819 767 .endo .L4820 00000014 00000000* 768 .L4822: .data.w .L4821 769 .endo .L4822 770 .section ".ghcalltbl","" 00000058 00000000* 771 .L4824: .data.w .L4823 772 .endo .L4824 773 .section ".ghrettbl","" 0000003c 00000000* 774 .L4826: .data.w .L4825 775 .endo .L4826 776 .section ".ghtailcalltbl","" 00000018 00000000* 777 .L4828: .data.w .L4827 778 .endo .L4828 779 .section ".mcal_code","ax" 780 ..gh.f.f.1.a.1.e.8: Page 14 objs\release\Pwm.s 781 .endo ..gh.f.f.1.a.1.e.8 782 Pwm_SetOutputToIdle:: 00000398 b510 783 push {r4,lr} 0000039a 4604 784 cpy r4,r0 0000039c 2104 785 movs r1,4 786 .L4916: 787 0000039e f7fffe9b* 788 bl Pwm_CheckHwAndChannel 000003a2 2800 789 cmp r0,0 000003a4 bf18 790 it ne 791 .L4918: 792 000003a6 bd10 793 pop {r4,pc} 000003a8 f2400200* 794 movw r2,%lo(Pwm_ConfigPtr) 000003ac f2c00200* 795 movt r2,%hi(Pwm_ConfigPtr) 000003b0 6810 796 ldr r0,[r2] 000003b2 6840 797 ldr r0,[r0,4] 000003b4 eb040184 798 add r1,r4,r4 lsl 2 000003b8 eb000081 799 add r0,r0,r1 lsl 2 000003bc 6880 800 ldr r0,[r0,8] 000003be e8bd4010 801 pop {r4,lr} 802 .L4920: 803 000003c2 f000b800* 804 b Pwm_Drvw_SetOutputToIdle 805 .endf Pwm_SetOutputToIdle 806 807 ;ChannelNumber r4 param 808 809 .section ".ghcalltbl","" 0000005c 00000000* 810 .L4917: .data.w .L4916 811 .endo .L4917 812 .section ".ghrettbl","" 00000040 00000000* 813 .L4919: .data.w .L4918 814 .endo .L4919 815 .section ".ghtailcalltbl","" 0000001c 00000000* 816 .L4921: .data.w .L4920 817 .endo .L4921 818 .section ".mcal_code","ax" 819 ..gh.f.f.1.a.1.e.9: 820 .endo ..gh.f.f.1.a.1.e.9 821 Pwm_GetOutputState:: 000003c6 b530 822 push {r4-r5,lr} 000003c8 f2400300* 823 movw r3,%lo(Pwm_ConfigPtr) 000003cc f2c00300* 824 movt r3,%hi(Pwm_ConfigPtr) 000003d0 6819 825 ldr r1,[r3] 000003d2 6849 826 ldr r1,[r1,4] 000003d4 eb000280 827 add r2,r0,r0 lsl 2 000003d8 eb010182 828 add r1,r1,r2 lsl 2 000003dc 688d 829 ldr r5,[r1,8] 000003de 2400 830 movs r4,0 000003e0 2105 831 movs r1,5 832 .L5043: 833 000003e2 f7fffe79* 834 bl Pwm_CheckHwAndChannel 000003e6 b928* 835 cbnz r0,.L4924 000003e8 4628 836 cpy r0,r5 837 .L5045: 838 000003ea f000f800* 839 bl Pwm_Drvw_GetOutputState 000003ee 2801 840 cmp r0,1 000003f0 bf08 841 it eq Page 15 objs\release\Pwm.s 000003f2 2401 842 mov r4,1 843 .L4924: 000003f4 4620 844 cpy r0,r4 845 .L5047: 846 000003f6 bd30 847 pop {r4-r5,pc} 848 .endf Pwm_GetOutputState 849 ;RetVal r4 local 850 ;DrvwChnCfgPtr r5 local 851 852 ;ChannelNumber none param 853 854 .section ".ghcalltbl","" 00000060 00000000* 855 .L5044: .data.w .L5043 856 .endo .L5044 00000064 00000000* 857 .L5046: .data.w .L5045 858 .endo .L5046 859 .section ".ghrettbl","" 00000044 00000000* 860 .L5048: .data.w .L5047 861 .endo .L5048 862 .section ".mcal_code","ax" 863 ..gh.f.f.1.a.1.e.10: 864 .endo ..gh.f.f.1.a.1.e.10 865 Pwm_DisableNotification:: 000003f8 b510 866 push {r4,lr} 000003fa f2400300* 867 movw r3,%lo(Pwm_ConfigPtr) 000003fe f2c00300* 868 movt r3,%hi(Pwm_ConfigPtr) 00000402 6819 869 ldr r1,[r3] 00000404 6849 870 ldr r1,[r1,4] 00000406 eb000280 871 add r2,r0,r0 lsl 2 0000040a eb010182 872 add r1,r1,r2 lsl 2 0000040e 688c 873 ldr r4,[r1,8] 00000410 2106 874 movs r1,6 875 .L5139: 876 00000412 f7fffe61* 877 bl Pwm_CheckHwAndChannel 00000416 2800 878 cmp r0,0 00000418 bf18 879 it ne 880 .L5141: 881 0000041a bd10 882 pop {r4,pc} 0000041c 4620 883 cpy r0,r4 0000041e e8bd4010 884 pop {r4,lr} 885 .L5143: 886 00000422 f000b800* 887 b Pwm_Drvw_DisableNotification 888 .endf Pwm_DisableNotification 889 ;DrvwChnCfgPtr r4 local 890 891 ;ChannelNumber none param 892 893 .section ".ghcalltbl","" 00000068 00000000* 894 .L5140: .data.w .L5139 895 .endo .L5140 896 .section ".ghrettbl","" 00000048 00000000* 897 .L5142: .data.w .L5141 898 .endo .L5142 899 .section ".ghtailcalltbl","" 00000020 00000000* 900 .L5144: .data.w .L5143 901 .endo .L5144 902 .section ".mcal_code","ax" Page 16 objs\release\Pwm.s 903 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 904 ..gh.f.f.1.a.1.e.11: 905 .endo ..gh.f.f.1.a.1.e.11 906 Pwm_EnableNotification:: 00000426 b5f0 907 push {r4-r7,lr} 00000428 f2400500* 908 movw r5,%lo(Pwm_ConfigPtr) 0000042c f2c00500* 909 movt r5,%hi(Pwm_ConfigPtr) 00000430 eb000280 910 add r2,r0,r0 lsl 2 00000434 0097 911 lsls r7,r2,2 00000436 682a 912 ldr r2,[r5] 00000438 6852 913 ldr r2,[r2,4] 0000043a 000c 914 movs r4,r1 0000043c 443a 915 add r2,r2,r7 0000043e 6896 916 ldr r6,[r2,8] 00000440 d106* 917 bne .L5147 00000442 2107 918 movs r1,7 919 .L5493: 920 00000444 f7fffe48* 921 bl Pwm_CheckHwAndChannel 00000448 2800 922 cmp r0,0 0000044a bf18 923 it ne 924 .L5495: 925 0000044c bdf0 926 pop {r4-r7,pc} 0000044e e009* 927 b .L5154 928 .L5147: 00000450 2901 929 cmp r1,1 00000452 bf14 930 ite ne 00000454 2402 931 mov r4,2 00000456 2401 932 mov r4,1 00000458 2107 933 movs r1,7 934 .L5497: 935 0000045a f7fffe3d* 936 bl Pwm_CheckHwAndChannel 0000045e 2800 937 cmp r0,0 00000460 bf18 938 it ne 939 .L5499: 940 00000462 bdf0 941 pop {r4-r7,pc} 942 .L5154: 00000464 6828 943 ldr r0,[r5] 00000466 6840 944 ldr r0,[r0,4] 00000468 4438 945 add r0,r0,r7 0000046a 6901 946 ldr r1,[r0,16] 0000046c b931* 947 cbnz r1,.L5159 0000046e 2331 948 movs r3,49 00000470 2207 949 movs r2,7 00000472 2079 950 movs r0,121 00000474 e8bd40f0 951 pop {r4-r7,lr} 952 .L5501: 953 00000478 f000b800* 954 b Det_ReportError 955 .L5159: 0000047c 4631 956 cpy r1,r6 0000047e 4620 957 cpy r0,r4 958 .L5503: 959 00000480 f000f800* 960 bl Pwm_Drvw_CheckEdgeNotificationType 00000484 2800 961 cmp r0,0 00000486 d007* 962 beq .L5164 00000488 2100 963 movs r1,0 Page 17 objs\release\Pwm.s 0000048a 2330 964 movs r3,48 0000048c 2207 965 movs r2,7 0000048e 2079 966 movs r0,121 00000490 e8bd40f0 967 pop {r4-r7,lr} 968 .L5505: 969 00000494 f000b800* 970 b Det_ReportError 971 .L5164: 00000498 4631 972 cpy r1,r6 0000049a 4620 973 cpy r0,r4 0000049c e8bd40f0 974 pop {r4-r7,lr} 975 .L5507: 976 000004a0 f000b800* 977 b Pwm_Drvw_EnableNotification 978 .endf Pwm_EnableNotification 979 ;PwmDrvwNotification r4 local 980 ;DrvwChnCfgPtr r6 local 981 ;RetVal r5 local 982 983 ;ChannelNumber r0 param 984 ;Notification r1 param 985 986 .section ".ghcalltbl","" 0000006c 00000000* 987 .L5494: .data.w .L5493 988 .endo .L5494 989 .section ".ghrettbl","" 0000004c 00000000* 990 .L5496: .data.w .L5495 991 .endo .L5496 992 .section ".ghcalltbl","" 00000070 00000000* 993 .L5498: .data.w .L5497 994 .endo .L5498 995 .section ".ghrettbl","" 00000050 00000000* 996 .L5500: .data.w .L5499 997 .endo .L5500 998 .section ".ghtailcalltbl","" 00000024 00000000* 999 .L5502: .data.w .L5501 1000 .endo .L5502 1001 .section ".ghcalltbl","" 00000074 00000000* 1002 .L5504: .data.w .L5503 1003 .endo .L5504 1004 .section ".ghtailcalltbl","" 00000028 00000000* 1005 .L5506: .data.w .L5505 1006 .endo .L5506 0000002c 00000000* 1007 .L5508: .data.w .L5507 1008 .endo .L5508 1009 .section ".mcal_code","ax" 1010 ..gh.f.f.1.a.1.e.12: 1011 .endo ..gh.f.f.1.a.1.e.12 1012 Pwm_GetVersionInfo:: 000004a4 0001 1013 movs r1,r0 000004a6 d104* 1014 bne .L5511 000004a8 2315 1015 movs r3,21 000004aa 2208 1016 movs r2,8 000004ac 2079 1017 movs r0,121 1018 .L5614: 1019 000004ae f000b800* 1020 b Det_ReportError 1021 .L5511: 000004b2 21b3 1022 movs r1,179 000004b4 8001 1023 strh r1,[r0] 000004b6 2179 1024 movs r1,121 Page 18 objs\release\Pwm.s 000004b8 8041 1025 strh r1,[r0,2] 000004ba 2101 1026 movs r1,1 000004bc 7101 1027 strb r1,[r0,4] 000004be 2102 1028 movs r1,2 000004c0 7141 1029 strb r1,[r0,5] 000004c2 2100 1030 movs r1,0 000004c4 7181 1031 strb r1,[r0,6] 1032 .L5616: 1033 000004c6 4770 1034 ret 1035 .endf Pwm_GetVersionInfo 1036 1037 ;versioninfo r0 param 1038 1039 .section ".bss","awb" 1040 .L5572: 1041 .endo .L5572 1042 .section ".ghtailcalltbl","" 00000030 00000000* 1043 .L5615: .data.w .L5614 1044 .endo .L5615 1045 .section ".ghrettbl","" 00000054 00000000* 1046 .L5617: .data.w .L5616 1047 .endo .L5617 1048 .section ".mcal_code","ax" 1049 ..gh.f.f.1.a.1.e.13: 1050 .endo ..gh.f.f.1.a.1.e.13 1051 Pwm_GetChannelDutyCycle:: 000004c8 b530 1052 push {r4-r5,lr} 000004ca 2400 1053 movs r4,0 000004cc 4605 1054 cpy r5,r0 000004ce 2120 1055 movs r1,32 1056 .L5792: 1057 000004d0 f7fffe02* 1058 bl Pwm_CheckHwAndChannel 000004d4 b9b0* 1059 cbnz r0,.L5622 000004d6 f2400200* 1060 movw r2,%lo(Pwm_ConfigPtr) 000004da f2c00200* 1061 movt r2,%hi(Pwm_ConfigPtr) 000004de 6810 1062 ldr r0,[r2] 000004e0 6840 1063 ldr r0,[r0,4] 000004e2 eb050185 1064 add r1,r5,r5 lsl 2 000004e6 eb000081 1065 add r0,r0,r1 lsl 2 000004ea 6880 1066 ldr r0,[r0,8] 1067 .L5794: 1068 000004ec f000f800* 1069 bl Pwm_Drvw_GetChannelDutyCycle 000004f0 4604 1070 cpy r4,r0 000004f2 f5b04f00 1071 cmp r0,1<<15 000004f6 d905* 1072 bls .L5622 000004f8 2332 1073 movs r3,50 000004fa 2220 1074 movs r2,32 000004fc 2100 1075 movs r1,0 000004fe 2079 1076 movs r0,121 1077 .L5796: 1078 00000500 f000f800* 1079 bl Det_ReportError 1080 .L5622: 00000504 4620 1081 cpy r0,r4 1082 .L5798: 1083 00000506 bd30 1084 pop {r4-r5,pc} 1085 .endf Pwm_GetChannelDutyCycle Page 19 objs\release\Pwm.s 1086 ;DutyCycle r4 local 1087 1088 ;ChannelNumber r5 param 1089 1090 .section ".ghcalltbl","" 00000078 00000000* 1091 .L5793: .data.w .L5792 1092 .endo .L5793 0000007c 00000000* 1093 .L5795: .data.w .L5794 1094 .endo .L5795 00000080 00000000* 1095 .L5797: .data.w .L5796 1096 .endo .L5797 1097 .section ".ghrettbl","" 00000058 00000000* 1098 .L5799: .data.w .L5798 1099 .endo .L5799 1100 .section ".mcal_code","ax" 1101 ..gh.f.f.1.a.1.e.14: 1102 .endo ..gh.f.f.1.a.1.e.14 1103 Pwm_ForceOutputToLowLevel:: 00000508 b530 1104 push {r4-r5,lr} 0000050a 460c 1105 cpy r4,r1 0000050c f2400300* 1106 movw r3,%lo(Pwm_ConfigPtr) 00000510 f2c00300* 1107 movt r3,%hi(Pwm_ConfigPtr) 00000514 6819 1108 ldr r1,[r3] 00000516 6849 1109 ldr r1,[r1,4] 00000518 eb000280 1110 add r2,r0,r0 lsl 2 0000051c eb010182 1111 add r1,r1,r2 lsl 2 00000520 688d 1112 ldr r5,[r1,8] 00000522 2121 1113 movs r1,33 1114 .L5891: 1115 00000524 f7fffdd8* 1116 bl Pwm_CheckHwAndChannel 00000528 2800 1117 cmp r0,0 0000052a bf18 1118 it ne 1119 .L5893: 1120 0000052c bd30 1121 pop {r4-r5,pc} 0000052e 4629 1122 cpy r1,r5 00000530 4620 1123 cpy r0,r4 00000532 e8bd4030 1124 pop {r4-r5,lr} 1125 .L5895: 1126 00000536 f000b800* 1127 b Pwm_Drvw_ForceOutputToLowLevel 1128 .endf Pwm_ForceOutputToLowLevel 1129 ;DrvwChnCfgPtr r5 local 1130 1131 ;ChannelNumber none param 1132 ;ForceEnable r4 param 1133 1134 .section ".ghcalltbl","" 00000084 00000000* 1135 .L5892: .data.w .L5891 1136 .endo .L5892 1137 .section ".ghrettbl","" 0000005c 00000000* 1138 .L5894: .data.w .L5893 1139 .endo .L5894 1140 .section ".ghtailcalltbl","" 00000034 00000000* 1141 .L5896: .data.w .L5895 1142 .endo .L5896 1143 .section ".mcal_code","ax" 1144 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 1145 ..gh.f.f.1.a.1.e.15: 1146 .endo ..gh.f.f.1.a.1.e.15 Page 20 objs\release\Pwm.s 1147 Pwm_SetChannelDeadTimeTicks:: 0000053a b5f0 1148 push {r4-r7,lr} 0000053c 460e 1149 cpy r6,r1 0000053e f2400400* 1150 movw r4,%lo(Pwm_ConfigPtr) 00000542 f2c00400* 1151 movt r4,%hi(Pwm_ConfigPtr) 00000546 eb000180 1152 add r1,r0,r0 lsl 2 0000054a 008d 1153 lsls r5,r1,2 0000054c 6821 1154 ldr r1,[r4] 0000054e 6849 1155 ldr r1,[r1,4] 00000550 4429 1156 add r1,r1,r5 00000552 688f 1157 ldr r7,[r1,8] 00000554 212b 1158 movs r1,43 1159 .L6069: 1160 00000556 f7fffdbf* 1161 bl Pwm_CheckHwAndChannel 0000055a 2800 1162 cmp r0,0 0000055c bf18 1163 it ne 1164 .L6071: 1165 0000055e bdf0 1166 pop {r4-r7,pc} 00000560 4638 1167 cpy r0,r7 1168 .L6073: 1169 00000562 f000f800* 1170 bl Pwm_Drvw_CheckDeadTimeMode 00000566 b138* 1171 cbz r0,.L5901 00000568 2312 1172 movs r3,18 0000056a 222b 1173 movs r2,43 0000056c 2100 1174 movs r1,0 0000056e 2079 1175 movs r0,121 00000570 e8bd40f0 1176 pop {r4-r7,lr} 1177 .L6075: 1178 00000574 f000b800* 1179 b Det_ReportError 1180 .L5901: 00000578 6820 1181 ldr r0,[r4] 0000057a 6840 1182 ldr r0,[r0,4] 0000057c 4428 1183 add r0,r0,r5 0000057e 6881 1184 ldr r1,[r0,8] 00000580 4630 1185 cpy r0,r6 1186 .L6077: 1187 00000582 f000f800* 1188 bl Pwm_Drvw_SetChannelDeadTimeTicks 00000586 2800 1189 cmp r0,0 00000588 bf08 1190 it eq 1191 .L6079: 1192 0000058a bdf0 1193 pop {r4-r7,pc} 0000058c 2341 1194 movs r3,65 0000058e 222b 1195 movs r2,43 00000590 2100 1196 movs r1,0 00000592 2079 1197 movs r0,121 00000594 e8bd40f0 1198 pop {r4-r7,lr} 1199 .L6081: 1200 00000598 f000b800* 1201 b Det_ReportRuntimeError 1202 .endf Pwm_SetChannelDeadTimeTicks 1203 ;DrvwChnCfgPtr r7 local 1204 1205 ;ChannelNumber none param 1206 ;DeadTimeTicks r6 param 1207 Page 21 objs\release\Pwm.s 1208 .section ".ghcalltbl","" 00000088 00000000* 1209 .L6070: .data.w .L6069 1210 .endo .L6070 1211 .section ".ghrettbl","" 00000060 00000000* 1212 .L6072: .data.w .L6071 1213 .endo .L6072 1214 .section ".ghcalltbl","" 0000008c 00000000* 1215 .L6074: .data.w .L6073 1216 .endo .L6074 1217 .section ".ghtailcalltbl","" 00000038 00000000* 1218 .L6076: .data.w .L6075 1219 .endo .L6076 1220 .section ".ghcalltbl","" 00000090 00000000* 1221 .L6078: .data.w .L6077 1222 .endo .L6078 1223 .section ".ghrettbl","" 00000064 00000000* 1224 .L6080: .data.w .L6079 1225 .endo .L6080 1226 .section ".ghtailcalltbl","" 0000003c 00000000* 1227 .L6082: .data.w .L6081 1228 .endo .L6082 1229 .section ".mcal_code","ax" 1230 ..gh.f.f.1.a.1.e.16: 1231 .endo ..gh.f.f.1.a.1.e.16 1232 Pwm_WriteDutyCycleToBuffer:: 0000059c b530 1233 push {r4-r5,lr} 0000059e 460d 1234 cpy r5,r1 000005a0 4604 1235 cpy r4,r0 000005a2 212a 1236 movs r1,42 1237 .L6243: 1238 000005a4 f7fffd98* 1239 bl Pwm_CheckHwAndChannel 000005a8 2800 1240 cmp r0,0 000005aa bf18 1241 it ne 1242 .L6245: 1243 000005ac bd30 1244 pop {r4-r5,pc} 000005ae f2400200* 1245 movw r2,%lo(Pwm_ConfigPtr) 000005b2 f2c00200* 1246 movt r2,%hi(Pwm_ConfigPtr) 000005b6 6810 1247 ldr r0,[r2] 000005b8 6840 1248 ldr r0,[r0,4] 000005ba eb040184 1249 add r1,r4,r4 lsl 2 000005be f5b54f00 1250 cmp r5,1<<15 000005c2 eb000081 1251 add r0,r0,r1 lsl 2 000005c6 6881 1252 ldr r1,[r0,8] 000005c8 d805* 1253 bhi .L6087 000005ca 4628 1254 cpy r0,r5 1255 .L6247: 1256 000005cc f000f800* 1257 bl Pwm_Drvw_WriteDutyCycleToBuffer 000005d0 2800 1258 cmp r0,0 000005d2 bf08 1259 it eq 1260 .L6249: 1261 000005d4 bd30 1262 pop {r4-r5,pc} 1263 .L6087: 000005d6 2332 1264 movs r3,50 000005d8 222a 1265 movs r2,42 000005da 2100 1266 movs r1,0 000005dc 2079 1267 movs r0,121 000005de e8bd4030 1268 pop {r4-r5,lr} Page 22 objs\release\Pwm.s 1269 .L6251: 1270 000005e2 f000b800* 1271 b Det_ReportError 1272 .endf Pwm_WriteDutyCycleToBuffer 1273 ;DrvwChnCfgPtr r1 local 1274 1275 ;ChannelNumber r4 param 1276 ;DutyCycle r5 param 1277 1278 .section ".ghcalltbl","" 00000094 00000000* 1279 .L6244: .data.w .L6243 1280 .endo .L6244 1281 .section ".ghrettbl","" 00000068 00000000* 1282 .L6246: .data.w .L6245 1283 .endo .L6246 1284 .section ".ghcalltbl","" 00000098 00000000* 1285 .L6248: .data.w .L6247 1286 .endo .L6248 1287 .section ".ghrettbl","" 0000006c 00000000* 1288 .L6250: .data.w .L6249 1289 .endo .L6250 1290 .section ".ghtailcalltbl","" 00000040 00000000* 1291 .L6252: .data.w .L6251 1292 .endo .L6252 1293 .section ".mcal_code","ax" 1294 ..gh.f.f.1.a.1.e.17: 1295 .endo ..gh.f.f.1.a.1.e.17 1296 Pwm_WritePeriodAndDutyToBuffer:: 000005e6 b570 1297 push {r4-r6,lr} 000005e8 460d 1298 cpy r5,r1 000005ea 4616 1299 cpy r6,r2 000005ec 4604 1300 cpy r4,r0 000005ee 2129 1301 movs r1,41 1302 .L6569: 1303 000005f0 f7fffd72* 1304 bl Pwm_CheckHwAndChannel 000005f4 2800 1305 cmp r0,0 000005f6 bf18 1306 it ne 1307 .L6571: 1308 000005f8 bd70 1309 pop {r4-r6,pc} 000005fa f2400200* 1310 movw r2,%lo(Pwm_ConfigPtr) 000005fe f2c00200* 1311 movt r2,%hi(Pwm_ConfigPtr) 00000602 6811 1312 ldr r1,[r2] 00000604 6849 1313 ldr r1,[r1,4] 00000606 eb040084 1314 add r0,r4,r4 lsl 2 0000060a eb010180 1315 add r1,r1,r0 lsl 2 0000060e 688c 1316 ldr r4,[r1,8] 00000610 6849 1317 ldr r1,[r1,4] 00000612 2900 1318 cmp r1,0 00000614 d10c* 1319 bne .L6264 00000616 4620 1320 cpy r0,r4 1321 .L6573: 1322 00000618 f000f800* 1323 bl Pwm_Drvw_GetMaxPeriodValue 0000061c 4285 1324 cmp r5,r0 0000061e d90f* 1325 bls .L6258 00000620 231a 1326 movs r3,26 00000622 2229 1327 movs r2,41 00000624 2100 1328 movs r1,0 00000626 2079 1329 movs r0,121 Page 23 objs\release\Pwm.s 00000628 e8bd4070 1330 pop {r4-r6,lr} 1331 .L6575: 1332 0000062c f000b800* 1333 b Det_ReportError 1334 .L6264: 00000630 2313 1335 movs r3,19 00000632 2229 1336 movs r2,41 00000634 2100 1337 movs r1,0 00000636 2079 1338 movs r0,121 00000638 e8bd4070 1339 pop {r4-r6,lr} 1340 .L6577: 1341 0000063c f000b800* 1342 b Det_ReportError 1343 .L6258: 00000640 f5b64f00 1344 cmp r6,1<<15 00000644 d807* 1345 bhi .L6271 00000646 4622 1346 cpy r2,r4 00000648 4631 1347 cpy r1,r6 0000064a 4628 1348 cpy r0,r5 1349 .L6579: 1350 0000064c f000f800* 1351 bl Pwm_Drvw_WritePeriodAndDutyToBuffer 00000650 2800 1352 cmp r0,0 00000652 bf08 1353 it eq 1354 .L6581: 1355 00000654 bd70 1356 pop {r4-r6,pc} 1357 .L6271: 00000656 2332 1358 movs r3,50 00000658 2229 1359 movs r2,41 0000065a 2100 1360 movs r1,0 0000065c 2079 1361 movs r0,121 0000065e e8bd4070 1362 pop {r4-r6,lr} 1363 .L6583: 1364 00000662 f000b800* 1365 b Det_ReportError 1366 .endf Pwm_WritePeriodAndDutyToBuffer 1367 ;DrvwChnCfgPtr r4 local 1368 ;DrvwChnCfgPtr r0 local 1369 1370 ;ChannelNumber r4 param 1371 ;Period r5 param 1372 ;DutyCycle r6 param 1373 1374 .section ".ghcalltbl","" 0000009c 00000000* 1375 .L6570: .data.w .L6569 1376 .endo .L6570 1377 .section ".ghrettbl","" 00000070 00000000* 1378 .L6572: .data.w .L6571 1379 .endo .L6572 1380 .section ".ghcalltbl","" 000000a0 00000000* 1381 .L6574: .data.w .L6573 1382 .endo .L6574 1383 .section ".ghtailcalltbl","" 00000044 00000000* 1384 .L6576: .data.w .L6575 1385 .endo .L6576 00000048 00000000* 1386 .L6578: .data.w .L6577 1387 .endo .L6578 1388 .section ".ghcalltbl","" 000000a4 00000000* 1389 .L6580: .data.w .L6579 1390 .endo .L6580 Page 24 objs\release\Pwm.s 1391 .section ".ghrettbl","" 00000074 00000000* 1392 .L6582: .data.w .L6581 1393 .endo .L6582 1394 .section ".ghtailcalltbl","" 0000004c 00000000* 1395 .L6584: .data.w .L6583 1396 .endo .L6584 1397 .section ".mcal_code","ax" 1398 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 1399 ..gh.f.f.1.a.1.e.18: 1400 .endo ..gh.f.f.1.a.1.e.18 1401 Pwm_WritePhaseShiftTicksToBuffer:: 00000666 b5f0 1402 push {r4-r7,lr} 00000668 460e 1403 cpy r6,r1 0000066a 4617 1404 cpy r7,r2 0000066c 4604 1405 cpy r4,r0 0000066e 212d 1406 movs r1,45 1407 .L7039: 1408 00000670 f7fffd32* 1409 bl Pwm_CheckHwAndChannel 00000674 2800 1410 cmp r0,0 00000676 bf18 1411 it ne 1412 .L7041: 1413 00000678 bdf0 1414 pop {r4-r7,pc} 0000067a f2400500* 1415 movw r5,%lo(Pwm_ConfigPtr) 0000067e f2c00500* 1416 movt r5,%hi(Pwm_ConfigPtr) 00000682 eb040084 1417 add r0,r4,r4 lsl 2 00000686 0084 1418 lsls r4,r0,2 00000688 6828 1419 ldr r0,[r5] 0000068a 6840 1420 ldr r0,[r0,4] 0000068c 1821 1421 adds r1,r4,r0 0000068e 6888 1422 ldr r0,[r1,8] 00000690 6849 1423 ldr r1,[r1,4] 00000692 2900 1424 cmp r1,0 00000694 d10b* 1425 bne .L6596 1426 .L7043: 1427 00000696 f000f800* 1428 bl Pwm_Drvw_GetMaxPeriodValue 0000069a 4286 1429 cmp r6,r0 0000069c d90f* 1430 bls .L6590 0000069e 231a 1431 movs r3,26 000006a0 222d 1432 movs r2,45 000006a2 2100 1433 movs r1,0 000006a4 2079 1434 movs r0,121 000006a6 e8bd40f0 1435 pop {r4-r7,lr} 1436 .L7045: 1437 000006aa f000b800* 1438 b Det_ReportError 1439 .L6596: 000006ae 2313 1440 movs r3,19 000006b0 222d 1441 movs r2,45 000006b2 2100 1442 movs r1,0 000006b4 2079 1443 movs r0,121 000006b6 e8bd40f0 1444 pop {r4-r7,lr} 1445 .L7047: 1446 000006ba f000b800* 1447 b Det_ReportError 1448 .L6590: 000006be ebb70f56 1449 cmp r7,r6 lsr 1 000006c2 d801* 1450 bhi .L6600 000006c4 0039 1451 movs r1,r7 Page 25 objs\release\Pwm.s 000006c6 d107* 1452 bne .L6599 1453 .L6600: 000006c8 233a 1454 movs r3,58 000006ca 222d 1455 movs r2,45 000006cc 2100 1456 movs r1,0 000006ce 2079 1457 movs r0,121 000006d0 e8bd40f0 1458 pop {r4-r7,lr} 1459 .L7049: 1460 000006d4 f000b800* 1461 b Det_ReportError 1462 .L6599: 000006d8 6828 1463 ldr r0,[r5] 000006da 6840 1464 ldr r0,[r0,4] 000006dc 4420 1465 add r0,r0,r4 000006de 6882 1466 ldr r2,[r0,8] 000006e0 4630 1467 cpy r0,r6 000006e2 e8bd40f0 1468 pop {r4-r7,lr} 1469 .L7051: 1470 000006e6 f000b800* 1471 b Pwm_Drvw_WritePhaseShiftTicksToBuffer 1472 .endf Pwm_WritePhaseShiftTicksToBuffer 1473 ;DrvwChnCfgPtr r0 local 1474 1475 ;ChannelNumber r4 param 1476 ;Period r6 param 1477 ;PhaseShiftTicks r7 param 1478 1479 .section ".ghcalltbl","" 000000a8 00000000* 1480 .L7040: .data.w .L7039 1481 .endo .L7040 1482 .section ".ghrettbl","" 00000078 00000000* 1483 .L7042: .data.w .L7041 1484 .endo .L7042 1485 .section ".ghcalltbl","" 000000ac 00000000* 1486 .L7044: .data.w .L7043 1487 .endo .L7044 1488 .section ".ghtailcalltbl","" 00000050 00000000* 1489 .L7046: .data.w .L7045 1490 .endo .L7046 00000054 00000000* 1491 .L7048: .data.w .L7047 1492 .endo .L7048 00000058 00000000* 1493 .L7050: .data.w .L7049 1494 .endo .L7050 0000005c 00000000* 1495 .L7052: .data.w .L7051 1496 .endo .L7052 1497 .section ".mcal_code","ax" 1498 ..gh.f.f.1.a.1.e.19: 1499 .endo ..gh.f.f.1.a.1.e.19 1500 Pwm_SyncUpdate:: 000006ea b510 1501 push {r4,lr} 000006ec f2400100* 1502 movw r1,%lo(Pwm_DrvState) 000006f0 f2c00100* 1503 movt r1,%hi(Pwm_DrvState) 000006f4 6809 1504 ldr r1,[r1] 000006f6 b931* 1505 cbnz r1,.L7055 000006f8 2311 1506 movs r3,17 000006fa 2228 1507 movs r2,40 000006fc 2079 1508 movs r0,121 000006fe e8bd4010 1509 pop {r4,lr} 1510 .L7238: 1511 00000702 f000b800* 1512 b Det_ReportError Page 26 objs\release\Pwm.s 1513 .L7055: 00000706 4604 1514 cpy r4,r0 00000708 2804 1515 cmp r0,4 0000070a d211* 1516 bhs .L7058 0000070c 2128 1517 movs r1,40 1518 .L7240: 1519 0000070e f7fffc97* 1520 bl Pwm_CheckModuleCfgStruct 00000712 2800 1521 cmp r0,0 00000714 bf18 1522 it ne 1523 .L7242: 1524 00000716 bd10 1525 pop {r4,pc} 00000718 f2400100* 1526 movw r1,%lo(Pwm_ConfigPtr) 0000071c f2c00100* 1527 movt r1,%hi(Pwm_ConfigPtr) 00000720 6808 1528 ldr r0,[r1] 00000722 68c0 1529 ldr r0,[r0,12] 00000724 eb001004 1530 add r0,r0,r4 lsl 4 00000728 e8bd4010 1531 pop {r4,lr} 1532 .L7244: 1533 0000072c f000b800* 1534 b Pwm_Drvw_SyncUpdate 1535 .L7058: 00000730 2336 1536 movs r3,54 00000732 2228 1537 movs r2,40 00000734 2100 1538 movs r1,0 00000736 2079 1539 movs r0,121 00000738 e8bd4010 1540 pop {r4,lr} 1541 .L7246: 1542 0000073c f000b800* 1543 b Det_ReportError 1544 .endf Pwm_SyncUpdate 1545 1546 ;ModuleId r4 param 1547 1548 .section ".ghtailcalltbl","" 00000060 00000000* 1549 .L7239: .data.w .L7238 1550 .endo .L7239 1551 .section ".ghcalltbl","" 000000b0 00000000* 1552 .L7241: .data.w .L7240 1553 .endo .L7241 1554 .section ".ghrettbl","" 0000007c 00000000* 1555 .L7243: .data.w .L7242 1556 .endo .L7243 1557 .section ".ghtailcalltbl","" 00000064 00000000* 1558 .L7245: .data.w .L7244 1559 .endo .L7245 00000068 00000000* 1560 .L7247: .data.w .L7246 1561 .endo .L7247 1562 .section ".mcal_code","ax" 1563 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 1564 ..gh.f.f.1.a.1.e.20: 1565 .endo ..gh.f.f.1.a.1.e.20 1566 Pwm_SetPhaseShiftTicks:: 00000740 b5f0 1567 push {r4-r7,lr} 00000742 460e 1568 cpy r6,r1 00000744 4617 1569 cpy r7,r2 00000746 4604 1570 cpy r4,r0 00000748 212c 1571 movs r1,44 1572 .L7711: 1573 Page 27 objs\release\Pwm.s 0000074a f7fffcc5* 1574 bl Pwm_CheckHwAndChannel 0000074e 2800 1575 cmp r0,0 00000750 bf18 1576 it ne 1577 .L7713: 1578 00000752 bdf0 1579 pop {r4-r7,pc} 00000754 f2400500* 1580 movw r5,%lo(Pwm_ConfigPtr) 00000758 f2c00500* 1581 movt r5,%hi(Pwm_ConfigPtr) 0000075c eb040084 1582 add r0,r4,r4 lsl 2 00000760 0084 1583 lsls r4,r0,2 00000762 6828 1584 ldr r0,[r5] 00000764 6840 1585 ldr r0,[r0,4] 00000766 1821 1586 adds r1,r4,r0 00000768 6888 1587 ldr r0,[r1,8] 0000076a 6849 1588 ldr r1,[r1,4] 0000076c 2900 1589 cmp r1,0 0000076e d10b* 1590 bne .L7259 1591 .L7715: 1592 00000770 f000f800* 1593 bl Pwm_Drvw_GetMaxPeriodValue 00000774 4286 1594 cmp r6,r0 00000776 d90f* 1595 bls .L7253 00000778 231a 1596 movs r3,26 0000077a 222c 1597 movs r2,44 0000077c 2100 1598 movs r1,0 0000077e 2079 1599 movs r0,121 00000780 e8bd40f0 1600 pop {r4-r7,lr} 1601 .L7717: 1602 00000784 f000b800* 1603 b Det_ReportError 1604 .L7259: 00000788 2313 1605 movs r3,19 0000078a 222c 1606 movs r2,44 0000078c 2100 1607 movs r1,0 0000078e 2079 1608 movs r0,121 00000790 e8bd40f0 1609 pop {r4-r7,lr} 1610 .L7719: 1611 00000794 f000b800* 1612 b Det_ReportError 1613 .L7253: 00000798 ebb70f56 1614 cmp r7,r6 lsr 1 0000079c d801* 1615 bhi .L7263 0000079e 0039 1616 movs r1,r7 000007a0 d107* 1617 bne .L7262 1618 .L7263: 000007a2 233a 1619 movs r3,58 000007a4 222c 1620 movs r2,44 000007a6 2100 1621 movs r1,0 000007a8 2079 1622 movs r0,121 000007aa e8bd40f0 1623 pop {r4-r7,lr} 1624 .L7721: 1625 000007ae f000b800* 1626 b Det_ReportError 1627 .L7262: 000007b2 6828 1628 ldr r0,[r5] 000007b4 6840 1629 ldr r0,[r0,4] 000007b6 4420 1630 add r0,r0,r4 000007b8 6882 1631 ldr r2,[r0,8] 000007ba 4630 1632 cpy r0,r6 000007bc e8bd40f0 1633 pop {r4-r7,lr} 1634 .L7723: Page 28 objs\release\Pwm.s 1635 000007c0 f000b800* 1636 b Pwm_Drvw_SetPhaseShiftTicks 1637 .endf Pwm_SetPhaseShiftTicks 1638 ;DrvwChnCfgPtr r0 local 1639 1640 ;ChannelNumber r4 param 1641 ;Period r6 param 1642 ;PhaseShiftTicks r7 param 1643 1644 .section ".ghcalltbl","" 000000b4 00000000* 1645 .L7712: .data.w .L7711 1646 .endo .L7712 1647 .section ".ghrettbl","" 00000080 00000000* 1648 .L7714: .data.w .L7713 1649 .endo .L7714 1650 .section ".ghcalltbl","" 000000b8 00000000* 1651 .L7716: .data.w .L7715 1652 .endo .L7716 1653 .section ".ghtailcalltbl","" 0000006c 00000000* 1654 .L7718: .data.w .L7717 1655 .endo .L7718 00000070 00000000* 1656 .L7720: .data.w .L7719 1657 .endo .L7720 00000074 00000000* 1658 .L7722: .data.w .L7721 1659 .endo .L7722 00000078 00000000* 1660 .L7724: .data.w .L7723 1661 .endo .L7724 1662 .section ".mcal_code","ax" 1663 ..gh.f.f.1.a.1.e.21: 1664 .endo ..gh.f.f.1.a.1.e.21 1665 Pwm_SetDutyPhaseShiftTicks:: 000007c4 b5f0 1666 push {r4-r7,lr} 000007c6 460d 1667 cpy r5,r1 000007c8 4616 1668 cpy r6,r2 000007ca 461f 1669 cpy r7,r3 000007cc 4604 1670 cpy r4,r0 000007ce 2137 1671 movs r1,55 1672 .L7910: 1673 000007d0 f7fffc82* 1674 bl Pwm_CheckHwAndChannel 000007d4 2800 1675 cmp r0,0 000007d6 bf18 1676 it ne 1677 .L7912: 1678 000007d8 bdf0 1679 pop {r4-r7,pc} 000007da eb040084 1680 add r0,r4,r4 lsl 2 000007de f2400200* 1681 movw r2,%lo(Pwm_ConfigPtr) 000007e2 f2c00200* 1682 movt r2,%hi(Pwm_ConfigPtr) 000007e6 f5b54f00 1683 cmp r5,1<<15 000007ea d81c* 1684 bhi .L7729 000007ec 4601 1685 cpy r1,r0 000007ee 6810 1686 ldr r0,[r2] 000007f0 6840 1687 ldr r0,[r0,4] 000007f2 eb000081 1688 add r0,r0,r1 lsl 2 000007f6 6884 1689 ldr r4,[r0,8] 000007f8 4629 1690 cpy r1,r5 000007fa 4622 1691 cpy r2,r4 000007fc 4630 1692 cpy r0,r6 1693 .L7914: 1694 000007fe f000f800* 1695 bl Pwm_Drvw_CheckSetDutyPhaseShiftParams Page 29 objs\release\Pwm.s 00000802 2800 1696 cmp r0,0 00000804 d007* 1697 beq .L7731 00000806 233a 1698 movs r3,58 00000808 2237 1699 movs r2,55 0000080a 2100 1700 movs r1,0 0000080c 2079 1701 movs r0,121 0000080e e8bd40f0 1702 pop {r4-r7,lr} 1703 .L7916: 1704 00000812 f000b800* 1705 b Det_ReportError 1706 .L7731: 00000816 463b 1707 cpy r3,r7 00000818 4622 1708 cpy r2,r4 0000081a 4631 1709 cpy r1,r6 0000081c 4628 1710 cpy r0,r5 0000081e e8bd40f0 1711 pop {r4-r7,lr} 1712 .L7918: 1713 00000822 f000b800* 1714 b Pwm_Drvw_SetDutyPhaseShiftTicks 1715 .L7729: 00000826 2332 1716 movs r3,50 00000828 2237 1717 movs r2,55 0000082a 2100 1718 movs r1,0 0000082c 2079 1719 movs r0,121 0000082e e8bd40f0 1720 pop {r4-r7,lr} 1721 .L7920: 1722 00000832 f000b800* 1723 b Det_ReportError 1724 .endf Pwm_SetDutyPhaseShiftTicks 1725 ;DrvwChnCfgPtr r4 local 1726 1727 ;ChannelNumber r4 param 1728 ;DutyCycle r5 param 1729 ;PhaseShiftTicks r6 param 1730 ;SyncUpdate r7 param 1731 1732 .section ".ghcalltbl","" 000000bc 00000000* 1733 .L7911: .data.w .L7910 1734 .endo .L7911 1735 .section ".ghrettbl","" 00000084 00000000* 1736 .L7913: .data.w .L7912 1737 .endo .L7913 1738 .section ".ghcalltbl","" 000000c0 00000000* 1739 .L7915: .data.w .L7914 1740 .endo .L7915 1741 .section ".ghtailcalltbl","" 0000007c 00000000* 1742 .L7917: .data.w .L7916 1743 .endo .L7917 00000080 00000000* 1744 .L7919: .data.w .L7918 1745 .endo .L7919 00000084 00000000* 1746 .L7921: .data.w .L7920 1747 .endo .L7921 1748 .section ".mcal_code","ax" 1749 ..gh.f.f.1.a.1.e.22: 1750 .endo ..gh.f.f.1.a.1.e.22 1751 Pwm_EnableTriggerOutput:: 00000836 b530 1752 push {r4-r5,lr} 00000838 460d 1753 cpy r5,r1 0000083a f2400100* 1754 movw r1,%lo(Pwm_DrvState) 0000083e f2c00100* 1755 movt r1,%hi(Pwm_DrvState) 00000842 6809 1756 ldr r1,[r1] Page 30 objs\release\Pwm.s 00000844 b931* 1757 cbnz r1,.L7924 00000846 2311 1758 movs r3,17 00000848 222e 1759 movs r2,46 0000084a 2079 1760 movs r0,121 0000084c e8bd4030 1761 pop {r4-r5,lr} 1762 .L8143: 1763 00000850 f000b800* 1764 b Det_ReportError 1765 .L7924: 00000854 4604 1766 cpy r4,r0 00000856 2804 1767 cmp r0,4 00000858 d21c* 1768 bhs .L7927 0000085a 212e 1769 movs r1,46 1770 .L8145: 1771 0000085c f7fffbf0* 1772 bl Pwm_CheckModuleCfgStruct 00000860 2800 1773 cmp r0,0 00000862 bf18 1774 it ne 1775 .L8147: 1776 00000864 bd30 1777 pop {r4-r5,pc} 00000866 05e8 1778 lsls r0,r5,23 00000868 d00c* 1779 beq .L7931 0000086a f2400100* 1780 movw r1,%lo(Pwm_ConfigPtr) 0000086e f2c00100* 1781 movt r1,%hi(Pwm_ConfigPtr) 00000872 6808 1782 ldr r0,[r1] 00000874 68c0 1783 ldr r0,[r0,12] 00000876 eb001104 1784 add r1,r0,r4 lsl 4 0000087a 4628 1785 cpy r0,r5 0000087c e8bd4030 1786 pop {r4-r5,lr} 1787 .L8149: 1788 00000880 f000b800* 1789 b Pwm_Drvw_EnableTriggerOutput 1790 .L7931: 00000884 0dc1 1791 lsrs r1,r0,23 00000886 233d 1792 movs r3,61 00000888 222e 1793 movs r2,46 0000088a 2079 1794 movs r0,121 0000088c e8bd4030 1795 pop {r4-r5,lr} 1796 .L8151: 1797 00000890 f000b800* 1798 b Det_ReportError 1799 .L7927: 00000894 2336 1800 movs r3,54 00000896 222e 1801 movs r2,46 00000898 2100 1802 movs r1,0 0000089a 2079 1803 movs r0,121 0000089c e8bd4030 1804 pop {r4-r5,lr} 1805 .L8153: 1806 000008a0 f000b800* 1807 b Det_ReportError 1808 .endf Pwm_EnableTriggerOutput 1809 1810 ;ModuleId r4 param 1811 ;TriggerMask r5 param 1812 1813 .section ".ghtailcalltbl","" 00000088 00000000* 1814 .L8144: .data.w .L8143 1815 .endo .L8144 1816 .section ".ghcalltbl","" 000000c4 00000000* 1817 .L8146: .data.w .L8145 Page 31 objs\release\Pwm.s 1818 .endo .L8146 1819 .section ".ghrettbl","" 00000088 00000000* 1820 .L8148: .data.w .L8147 1821 .endo .L8148 1822 .section ".ghtailcalltbl","" 0000008c 00000000* 1823 .L8150: .data.w .L8149 1824 .endo .L8150 00000090 00000000* 1825 .L8152: .data.w .L8151 1826 .endo .L8152 00000094 00000000* 1827 .L8154: .data.w .L8153 1828 .endo .L8154 1829 .section ".mcal_code","ax" 1830 ..gh.f.f.1.a.1.e.23: 1831 .endo ..gh.f.f.1.a.1.e.23 1832 Pwm_DisableTriggerOutput:: 000008a4 b530 1833 push {r4-r5,lr} 000008a6 460d 1834 cpy r5,r1 000008a8 f2400100* 1835 movw r1,%lo(Pwm_DrvState) 000008ac f2c00100* 1836 movt r1,%hi(Pwm_DrvState) 000008b0 6809 1837 ldr r1,[r1] 000008b2 b931* 1838 cbnz r1,.L8157 000008b4 2311 1839 movs r3,17 000008b6 222f 1840 movs r2,47 000008b8 2079 1841 movs r0,121 000008ba e8bd4030 1842 pop {r4-r5,lr} 1843 .L8383: 1844 000008be f000b800* 1845 b Det_ReportError 1846 .L8157: 000008c2 4604 1847 cpy r4,r0 000008c4 2804 1848 cmp r0,4 000008c6 d21c* 1849 bhs .L8160 000008c8 212f 1850 movs r1,47 1851 .L8385: 1852 000008ca f7fffbb9* 1853 bl Pwm_CheckModuleCfgStruct 000008ce 2800 1854 cmp r0,0 000008d0 bf18 1855 it ne 1856 .L8387: 1857 000008d2 bd30 1858 pop {r4-r5,pc} 000008d4 05e8 1859 lsls r0,r5,23 000008d6 d00c* 1860 beq .L8164 000008d8 f2400100* 1861 movw r1,%lo(Pwm_ConfigPtr) 000008dc f2c00100* 1862 movt r1,%hi(Pwm_ConfigPtr) 000008e0 6808 1863 ldr r0,[r1] 000008e2 68c0 1864 ldr r0,[r0,12] 000008e4 eb001104 1865 add r1,r0,r4 lsl 4 000008e8 4628 1866 cpy r0,r5 000008ea e8bd4030 1867 pop {r4-r5,lr} 1868 .L8389: 1869 000008ee f000b800* 1870 b Pwm_Drvw_DisableTriggerOutput 1871 .L8164: 000008f2 0dc1 1872 lsrs r1,r0,23 000008f4 233d 1873 movs r3,61 000008f6 222f 1874 movs r2,47 000008f8 2079 1875 movs r0,121 000008fa e8bd4030 1876 pop {r4-r5,lr} 1877 .L8391: 1878 Page 32 objs\release\Pwm.s 000008fe f000b800* 1879 b Det_ReportError 1880 .L8160: 00000902 2336 1881 movs r3,54 00000904 222f 1882 movs r2,47 00000906 2100 1883 movs r1,0 00000908 2079 1884 movs r0,121 0000090a e8bd4030 1885 pop {r4-r5,lr} 1886 .L8393: 1887 0000090e f000b800* 1888 b Det_ReportError 1889 .endf Pwm_DisableTriggerOutput 1890 1891 ;ModuleId r4 param 1892 ;TriggerMask r5 param 1893 1894 .section ".ghtailcalltbl","" 00000098 00000000* 1895 .L8384: .data.w .L8383 1896 .endo .L8384 1897 .section ".ghcalltbl","" 000000c8 00000000* 1898 .L8386: .data.w .L8385 1899 .endo .L8386 1900 .section ".ghrettbl","" 0000008c 00000000* 1901 .L8388: .data.w .L8387 1902 .endo .L8388 1903 .section ".ghtailcalltbl","" 0000009c 00000000* 1904 .L8390: .data.w .L8389 1905 .endo .L8390 000000a0 00000000* 1906 .L8392: .data.w .L8391 1907 .endo .L8392 000000a4 00000000* 1908 .L8394: .data.w .L8393 1909 .endo .L8394 1910 .section ".mcal_code","ax" 1911 ..gh.f.f.1.a.1.e.24: 1912 .endo ..gh.f.f.1.a.1.e.24 1913 Pwm_MaskOutputs:: 00000912 b530 1914 push {r4-r5,lr} 00000914 460d 1915 cpy r5,r1 00000916 f2400100* 1916 movw r1,%lo(Pwm_DrvState) 0000091a f2c00100* 1917 movt r1,%hi(Pwm_DrvState) 0000091e 6809 1918 ldr r1,[r1] 00000920 b931* 1919 cbnz r1,.L8397 00000922 2311 1920 movs r3,17 00000924 2232 1921 movs r2,50 00000926 2079 1922 movs r0,121 00000928 e8bd4030 1923 pop {r4-r5,lr} 1924 .L8582: 1925 0000092c f000b800* 1926 b Det_ReportError 1927 .L8397: 00000930 4604 1928 cpy r4,r0 00000932 2804 1929 cmp r0,4 00000934 d212* 1930 bhs .L8400 00000936 2132 1931 movs r1,50 1932 .L8584: 1933 00000938 f7fffb82* 1934 bl Pwm_CheckModuleCfgStruct 0000093c 2800 1935 cmp r0,0 0000093e bf18 1936 it ne 1937 .L8586: 1938 00000940 bd30 1939 pop {r4-r5,pc} Page 33 objs\release\Pwm.s 00000942 f2400100* 1940 movw r1,%lo(Pwm_ConfigPtr) 00000946 f2c00100* 1941 movt r1,%hi(Pwm_ConfigPtr) 0000094a 6808 1942 ldr r0,[r1] 0000094c 68c0 1943 ldr r0,[r0,12] 0000094e eb001104 1944 add r1,r0,r4 lsl 4 00000952 4628 1945 cpy r0,r5 00000954 e8bd4030 1946 pop {r4-r5,lr} 1947 .L8588: 1948 00000958 f000b800* 1949 b Pwm_Drvw_MaskOutputs 1950 .L8400: 0000095c 2336 1951 movs r3,54 0000095e 2232 1952 movs r2,50 00000960 2100 1953 movs r1,0 00000962 2079 1954 movs r0,121 00000964 e8bd4030 1955 pop {r4-r5,lr} 1956 .L8590: 1957 00000968 f000b800* 1958 b Det_ReportError 1959 .endf Pwm_MaskOutputs 1960 1961 ;ModuleId r4 param 1962 ;ChannelMask r5 param 1963 1964 .section ".ghtailcalltbl","" 000000a8 00000000* 1965 .L8583: .data.w .L8582 1966 .endo .L8583 1967 .section ".ghcalltbl","" 000000cc 00000000* 1968 .L8585: .data.w .L8584 1969 .endo .L8585 1970 .section ".ghrettbl","" 00000090 00000000* 1971 .L8587: .data.w .L8586 1972 .endo .L8587 1973 .section ".ghtailcalltbl","" 000000ac 00000000* 1974 .L8589: .data.w .L8588 1975 .endo .L8589 000000b0 00000000* 1976 .L8591: .data.w .L8590 1977 .endo .L8591 1978 .section ".mcal_code","ax" 1979 ..gh.f.f.1.a.1.e.25: 1980 .endo ..gh.f.f.1.a.1.e.25 1981 Pwm_UnMaskOutputs:: 0000096c b530 1982 push {r4-r5,lr} 0000096e 460d 1983 cpy r5,r1 00000970 f2400100* 1984 movw r1,%lo(Pwm_DrvState) 00000974 f2c00100* 1985 movt r1,%hi(Pwm_DrvState) 00000978 6809 1986 ldr r1,[r1] 0000097a b931* 1987 cbnz r1,.L8594 0000097c 2311 1988 movs r3,17 0000097e 2233 1989 movs r2,51 00000980 2079 1990 movs r0,121 00000982 e8bd4030 1991 pop {r4-r5,lr} 1992 .L8774: 1993 00000986 f000b800* 1994 b Det_ReportError 1995 .L8594: 0000098a 4604 1996 cpy r4,r0 0000098c 2804 1997 cmp r0,4 0000098e d212* 1998 bhs .L8597 00000990 2133 1999 movs r1,51 2000 .L8776: Page 34 objs\release\Pwm.s 2001 00000992 f7fffb55* 2002 bl Pwm_CheckModuleCfgStruct 00000996 2800 2003 cmp r0,0 00000998 bf18 2004 it ne 2005 .L8778: 2006 0000099a bd30 2007 pop {r4-r5,pc} 0000099c f2400100* 2008 movw r1,%lo(Pwm_ConfigPtr) 000009a0 f2c00100* 2009 movt r1,%hi(Pwm_ConfigPtr) 000009a4 6808 2010 ldr r0,[r1] 000009a6 68c0 2011 ldr r0,[r0,12] 000009a8 eb001104 2012 add r1,r0,r4 lsl 4 000009ac 4628 2013 cpy r0,r5 000009ae e8bd4030 2014 pop {r4-r5,lr} 2015 .L8780: 2016 000009b2 f000b800* 2017 b Pwm_Drvw_UnMaskOutputs 2018 .L8597: 000009b6 2336 2019 movs r3,54 000009b8 2233 2020 movs r2,51 000009ba 2100 2021 movs r1,0 000009bc 2079 2022 movs r0,121 000009be e8bd4030 2023 pop {r4-r5,lr} 2024 .L8782: 2025 000009c2 f000b800* 2026 b Det_ReportError 2027 .endf Pwm_UnMaskOutputs 2028 2029 ;ModuleId r4 param 2030 ;ChannelMask r5 param 2031 2032 .section ".ghtailcalltbl","" 000000b4 00000000* 2033 .L8775: .data.w .L8774 2034 .endo .L8775 2035 .section ".ghcalltbl","" 000000d0 00000000* 2036 .L8777: .data.w .L8776 2037 .endo .L8777 2038 .section ".ghrettbl","" 00000094 00000000* 2039 .L8779: .data.w .L8778 2040 .endo .L8779 2041 .section ".ghtailcalltbl","" 000000b8 00000000* 2042 .L8781: .data.w .L8780 2043 .endo .L8781 000000bc 00000000* 2044 .L8783: .data.w .L8782 2045 .endo .L8783 2046 .section ".mcal_code","ax" 2047 .assert 0x0 + (Pwm_ConfigPtr - Pwm_ConfigPtr) +0 == 0 2048 ..gh.f.f.1.a.1.e.26: 2049 .endo ..gh.f.f.1.a.1.e.26 2050 Pwm_SetPowerState:: 000009c6 e92d4cf0 2051 push {r4-r7,r10-fp,lr} 000009ca f2400600* 2052 movw r6,%lo(Pwm_DrvState) 000009ce f2c00600* 2053 movt r6,%hi(Pwm_DrvState) 000009d2 0001 2054 movs r1,r0 000009d4 d079* 2055 beq .L8786 000009d6 68b5 2056 ldr r5,[r6,8] 000009d8 6831 2057 ldr r1,[r6] 000009da 4607 2058 cpy r7,r0 000009dc b949* 2059 cbnz r1,.L8792 000009de 2401 2060 movs r4,1 000009e0 6004 2061 str r4,[r0] Page 35 objs\release\Pwm.s 000009e2 2311 2062 movs r3,17 000009e4 2209 2063 movs r2,9 000009e6 2079 2064 movs r0,121 2065 .L9950: 2066 000009e8 f000f800* 2067 bl Det_ReportError 000009ec 4620 2068 cpy r0,r4 2069 .L9952: 2070 000009ee e8bd8cf0 2071 pop {r4-r7,r10-fp,pc} 2072 .L8792: 000009f2 2009 2073 movs r0,9 2074 .L9954: 2075 000009f4 f7fffb41* 2076 bl Pwm_CheckPwmCfgStruct 000009f8 0004 2077 movs r4,r0 000009fa d16c* 2078 bne .L8821 000009fc 68b0 2079 ldr r0,[r6,8] 000009fe 6871 2080 ldr r1,[r6,4] 00000a00 4281 2081 cmp r1,r0 00000a02 d103* 2082 bne .L8797 00000a04 4620 2083 cpy r0,r4 00000a06 603c 2084 str r4,[r7] 2085 .L9956: 2086 00000a08 e8bd8cf0 2087 pop {r4-r7,r10-fp,pc} 2088 .L8797: 00000a0c 2802 2089 cmp r0,2 00000a0e d317* 2090 blo .L8802 00000a10 d00b* 2091 beq .L8801 00000a12 2004 2092 movs r0,4 00000a14 6038 2093 str r0,[r7] 00000a16 2401 2094 movs r4,1 00000a18 2317 2095 movs r3,23 00000a1a 2209 2096 movs r2,9 00000a1c 2100 2097 movs r1,0 00000a1e 2079 2098 movs r0,121 2099 .L9958: 2100 00000a20 f000f800* 2101 bl Det_ReportError 00000a24 4620 2102 cpy r0,r4 2103 .L9960: 2104 00000a26 e8bd8cf0 2105 pop {r4-r7,r10-fp,pc} 2106 .L8801: 00000a2a 6038 2107 str r0,[r7] 00000a2c 2401 2108 movs r4,1 00000a2e 2319 2109 movs r3,25 00000a30 2209 2110 movs r2,9 00000a32 2100 2111 movs r1,0 00000a34 2079 2112 movs r0,121 2113 .L9962: 2114 00000a36 f000f800* 2115 bl Det_ReportError 00000a3a 4620 2116 cpy r0,r4 2117 .L9964: 2118 00000a3c e8bd8cf0 2119 pop {r4-r7,r10-fp,pc} 2120 .L8802: 00000a40 f2400b00* 2121 movw fp,%lo(Pwm_ConfigPtr) 00000a44 f2c00b00* 2122 movt fp,%hi(Pwm_ConfigPtr) Page 36 objs\release\Pwm.s 00000a48 f8db2000 2123 ldr.w r2,[fp] 00000a4c 7810 2124 ldrb r0,[r2] 00000a4e 46a2 2125 mov r10,r4 00000a50 4284 2126 cmp r4,r0 00000a52 d213* 2127 bhs .L8812 2128 .L8808: 00000a54 6851 2129 ldr r1,[r2,4] 00000a56 eb0a008a 2130 add r0,r10,r10 lsl 2 00000a5a eb010180 2131 add r1,r1,r0 lsl 2 00000a5e 6888 2132 ldr r0,[r1,8] 2133 .L9966: 2134 00000a60 f000f800* 2135 bl Pwm_Drvw_CheckIdleState 00000a64 4604 2136 cpy r4,r0 00000a66 2801 2137 cmp r0,1 00000a68 d024* 2138 beq .L8814 00000a6a f8db2000 2139 ldr.w r2,[fp] 00000a6e 7810 2140 ldrb r0,[r2] 00000a70 f10a0a01 2141 add r10,r10,1 00000a74 fa5ffa8a 2142 uxtb r10,r10 00000a78 4582 2143 cmp r10,r0 00000a7a d3eb* 2144 blo .L8808 2145 .L8812: 00000a7c ea5f0a04 2146 movs r10,r4 00000a80 d118* 2147 bne .L8814 00000a82 7a10 2148 ldrb r0,[r2,8] 00000a84 4284 2149 cmp r4,r0 00000a86 d20d* 2150 bhs .L8816 2151 .L8819: 00000a88 68d2 2152 ldr r2,[r2,12] 00000a8a 4629 2153 cpy r1,r5 00000a8c eb02501a 2154 add r0,r2,r10 lsr 20 2155 .L9968: 2156 00000a90 f000f800* 2157 bl Pwm_Drvw_SetPowerState 00000a94 f8db2000 2158 ldr.w r2,[fp] 00000a98 7a13 2159 ldrb r3,[r2,8] 00000a9a f10a7a80 2160 add r10,r10,1<<24 00000a9e ebb36f1a 2161 cmp r3,r10 lsr 24 00000aa2 d8f1* 2162 bhi .L8819 2163 .L8816: 00000aa4 603c 2164 str r4,[r7] 00000aa6 68b0 2165 ldr r0,[r6,8] 00000aa8 6070 2166 str r0,[r6,4] 00000aaa 2002 2167 movs r0,2 00000aac 60b0 2168 str r0,[r6,8] 00000aae 4620 2169 cpy r0,r4 2170 .L9970: 2171 00000ab0 e8bd8cf0 2172 pop {r4-r7,r10-fp,pc} 2173 .L8814: 00000ab4 2003 2174 movs r0,3 00000ab6 6038 2175 str r0,[r7] 00000ab8 2316 2176 movs r3,22 00000aba 2209 2177 movs r2,9 00000abc 2100 2178 movs r1,0 00000abe 2079 2179 movs r0,121 2180 .L9972: 2181 00000ac0 f000f800* 2182 bl Det_ReportRuntimeError 00000ac4 4620 2183 cpy r0,r4 Page 37 objs\release\Pwm.s 2184 .L9974: 2185 00000ac6 e8bd8cf0 2186 pop {r4-r7,r10-fp,pc} 2187 .L8786: 00000aca 2315 2188 movs r3,21 00000acc 2209 2189 movs r2,9 00000ace 2079 2190 movs r0,121 2191 .L9976: 2192 00000ad0 f000f800* 2193 bl Det_ReportError 00000ad4 2401 2194 movs r4,1 2195 .L8821: 00000ad6 4620 2196 cpy r0,r4 2197 .L9978: 2198 00000ad8 e8bd8cf0 2199 pop {r4-r7,r10-fp,pc} 2200 .endf Pwm_SetPowerState 2201 ;RetVal r4 local 2202 ;Index r10 local 2203 ;PwmDrvwPowerState r5 local 2204 ;RetVal r4 local 2205 2206 ;Result r7 param 2207 2208 .section ".ghcalltbl","" 000000d4 00000000* 2209 .L9951: .data.w .L9950 2210 .endo .L9951 2211 .section ".ghrettbl","" 00000098 00000000* 2212 .L9953: .data.w .L9952 2213 .endo .L9953 2214 .section ".ghcalltbl","" 000000d8 00000000* 2215 .L9955: .data.w .L9954 2216 .endo .L9955 2217 .section ".ghrettbl","" 0000009c 00000000* 2218 .L9957: .data.w .L9956 2219 .endo .L9957 2220 .section ".ghcalltbl","" 000000dc 00000000* 2221 .L9959: .data.w .L9958 2222 .endo .L9959 2223 .section ".ghrettbl","" 000000a0 00000000* 2224 .L9961: .data.w .L9960 2225 .endo .L9961 2226 .section ".ghcalltbl","" 000000e0 00000000* 2227 .L9963: .data.w .L9962 2228 .endo .L9963 2229 .section ".ghrettbl","" 000000a4 00000000* 2230 .L9965: .data.w .L9964 2231 .endo .L9965 2232 .section ".ghcalltbl","" 000000e4 00000000* 2233 .L9967: .data.w .L9966 2234 .endo .L9967 000000e8 00000000* 2235 .L9969: .data.w .L9968 2236 .endo .L9969 2237 .section ".ghrettbl","" 000000a8 00000000* 2238 .L9971: .data.w .L9970 2239 .endo .L9971 2240 .section ".ghcalltbl","" 000000ec 00000000* 2241 .L9973: .data.w .L9972 2242 .endo .L9973 2243 .section ".ghrettbl","" 000000ac 00000000* 2244 .L9975: .data.w .L9974 Page 38 objs\release\Pwm.s 2245 .endo .L9975 2246 .section ".ghcalltbl","" 000000f0 00000000* 2247 .L9977: .data.w .L9976 2248 .endo .L9977 2249 .section ".ghrettbl","" 000000b0 00000000* 2250 .L9979: .data.w .L9978 2251 .endo .L9979 2252 .section ".mcal_code","ax" 2253 .assert 0x0 + (Pwm_DrvState - Pwm_DrvState) +0 == 0 2254 ..gh.f.f.1.a.1.e.27: 2255 .endo ..gh.f.f.1.a.1.e.27 2256 Pwm_GetCurrentPowerState:: 00000adc b530 2257 push {r4-r5,lr} 00000ade 2400 2258 movs r4,0 00000ae0 1e0d 2259 subs r5,r1,0 00000ae2 bf18 2260 it ne 00000ae4 2800 2261 cmp r0,0 00000ae6 d013* 2262 beq .L9982 00000ae8 f2400100* 2263 movw r1,%lo(Pwm_DrvState) 00000aec f2c00100* 2264 movt r1,%hi(Pwm_DrvState) 00000af0 680a 2265 ldr r2,[r1] 00000af2 b942* 2266 cbnz r2,.L9985 00000af4 2311 2267 movs r3,17 00000af6 220a 2268 movs r2,10 00000af8 4621 2269 cpy r1,r4 00000afa 2079 2270 movs r0,121 2271 .L10191: 2272 00000afc f000f800* 2273 bl Det_ReportError 00000b00 2001 2274 movs r0,1 00000b02 6028 2275 str r0,[r5] 2276 .L10193: 2277 00000b04 bd30 2278 pop {r4-r5,pc} 2279 .L9985: 00000b06 6849 2280 ldr r1,[r1,4] 00000b08 6001 2281 str r1,[r0] 00000b0a 602c 2282 str r4,[r5] 00000b0c 4620 2283 cpy r0,r4 2284 .L10195: 2285 00000b0e bd30 2286 pop {r4-r5,pc} 2287 .L9982: 00000b10 2401 2288 movs r4,1 00000b12 2315 2289 movs r3,21 00000b14 220a 2290 movs r2,10 00000b16 2100 2291 movs r1,0 00000b18 2079 2292 movs r0,121 2293 .L10197: 2294 00000b1a f000f800* 2295 bl Det_ReportError 00000b1e 4620 2296 cpy r0,r4 2297 .L10199: 2298 00000b20 bd30 2299 pop {r4-r5,pc} 2300 .endf Pwm_GetCurrentPowerState 2301 ;RetVal r4 local 2302 2303 ;CurrentPowerState r0 param 2304 ;Result r5 param 2305 Page 39 objs\release\Pwm.s 2306 .section ".ghcalltbl","" 000000f4 00000000* 2307 .L10192: .data.w .L10191 2308 .endo .L10192 2309 .section ".ghrettbl","" 000000b4 00000000* 2310 .L10194: .data.w .L10193 2311 .endo .L10194 000000b8 00000000* 2312 .L10196: .data.w .L10195 2313 .endo .L10196 2314 .section ".ghcalltbl","" 000000f8 00000000* 2315 .L10198: .data.w .L10197 2316 .endo .L10198 2317 .section ".ghrettbl","" 000000bc 00000000* 2318 .L10200: .data.w .L10199 2319 .endo .L10200 2320 .section ".mcal_code","ax" 2321 .assert 0x0 + (Pwm_DrvState - Pwm_DrvState) +0 == 0 2322 ..gh.f.f.1.a.1.e.28: 2323 .endo ..gh.f.f.1.a.1.e.28 2324 Pwm_GetTargetPowerState:: 00000b22 b530 2325 push {r4-r5,lr} 00000b24 2400 2326 movs r4,0 00000b26 1e0d 2327 subs r5,r1,0 00000b28 bf18 2328 it ne 00000b2a 2800 2329 cmp r0,0 00000b2c d013* 2330 beq .L10203 00000b2e f2400100* 2331 movw r1,%lo(Pwm_DrvState) 00000b32 f2c00100* 2332 movt r1,%hi(Pwm_DrvState) 00000b36 680a 2333 ldr r2,[r1] 00000b38 b942* 2334 cbnz r2,.L10206 00000b3a 2311 2335 movs r3,17 00000b3c 220b 2336 movs r2,11 00000b3e 4621 2337 cpy r1,r4 00000b40 2079 2338 movs r0,121 2339 .L10415: 2340 00000b42 f000f800* 2341 bl Det_ReportError 00000b46 2001 2342 movs r0,1 00000b48 6028 2343 str r0,[r5] 2344 .L10417: 2345 00000b4a bd30 2346 pop {r4-r5,pc} 2347 .L10206: 00000b4c 6889 2348 ldr r1,[r1,8] 00000b4e 6001 2349 str r1,[r0] 00000b50 602c 2350 str r4,[r5] 00000b52 4620 2351 cpy r0,r4 2352 .L10419: 2353 00000b54 bd30 2354 pop {r4-r5,pc} 2355 .L10203: 00000b56 2401 2356 movs r4,1 00000b58 2315 2357 movs r3,21 00000b5a 220b 2358 movs r2,11 00000b5c 2100 2359 movs r1,0 00000b5e 2079 2360 movs r0,121 2361 .L10421: 2362 00000b60 f000f800* 2363 bl Det_ReportError 00000b64 4620 2364 cpy r0,r4 2365 .L10423: 2366 Page 40 objs\release\Pwm.s 00000b66 bd30 2367 pop {r4-r5,pc} 2368 .endf Pwm_GetTargetPowerState 2369 ;RetVal r4 local 2370 2371 ;TargetPowerState r0 param 2372 ;Result r5 param 2373 2374 .section ".ghcalltbl","" 000000fc 00000000* 2375 .L10416: .data.w .L10415 2376 .endo .L10416 2377 .section ".ghrettbl","" 000000c0 00000000* 2378 .L10418: .data.w .L10417 2379 .endo .L10418 000000c4 00000000* 2380 .L10420: .data.w .L10419 2381 .endo .L10420 2382 .section ".ghcalltbl","" 00000100 00000000* 2383 .L10422: .data.w .L10421 2384 .endo .L10422 2385 .section ".ghrettbl","" 000000c8 00000000* 2386 .L10424: .data.w .L10423 2387 .endo .L10424 2388 .section ".mcal_code","ax" 2389 .assert 0x0 + (Pwm_DrvState - Pwm_DrvState) +0 == 0 2390 ..gh.f.f.1.a.1.e.29: 2391 .endo ..gh.f.f.1.a.1.e.29 2392 Pwm_PreparePowerState:: 00000b68 b530 2393 push {r4-r5,lr} 00000b6a 000d 2394 movs r5,r1 00000b6c d028* 2395 beq .L10427 00000b6e f2400100* 2396 movw r1,%lo(Pwm_DrvState) 00000b72 f2c00100* 2397 movt r1,%hi(Pwm_DrvState) 00000b76 680a 2398 ldr r2,[r1] 00000b78 2400 2399 movs r4,0 00000b7a b942* 2400 cbnz r2,.L10429 00000b7c 2311 2401 movs r3,17 00000b7e 220c 2402 movs r2,12 00000b80 4621 2403 cpy r1,r4 00000b82 2079 2404 movs r0,121 2405 .L10725: 2406 00000b84 f000f800* 2407 bl Det_ReportError 00000b88 2001 2408 movs r0,1 00000b8a 6028 2409 str r0,[r5] 2410 .L10727: 2411 00000b8c bd30 2412 pop {r4-r5,pc} 2413 .L10429: 00000b8e 684a 2414 ldr r2,[r1,4] 00000b90 4282 2415 cmp r2,r0 00000b92 d011* 2416 beq .L10432 00000b94 2801 2417 cmp r0,1 00000b96 bf18 2418 it ne 00000b98 2800 2419 cmp r0,0 00000b9a d009* 2420 beq .L10434 00000b9c 2317 2421 movs r3,23 00000b9e 220c 2422 movs r2,12 00000ba0 4621 2423 cpy r1,r4 00000ba2 2079 2424 movs r0,121 2425 .L10729: 2426 00000ba4 f000f800* 2427 bl Det_ReportError Page 41 objs\release\Pwm.s 00000ba8 2004 2428 movs r0,4 00000baa 6028 2429 str r0,[r5] 00000bac 2001 2430 movs r0,1 2431 .L10731: 2432 00000bae bd30 2433 pop {r4-r5,pc} 2434 .L10434: 00000bb0 602c 2435 str r4,[r5] 00000bb2 6088 2436 str r0,[r1,8] 00000bb4 4620 2437 cpy r0,r4 2438 .L10733: 2439 00000bb6 bd30 2440 pop {r4-r5,pc} 2441 .L10432: 00000bb8 2002 2442 movs r0,2 00000bba 6028 2443 str r0,[r5] 00000bbc 2001 2444 movs r0,1 2445 .L10735: 2446 00000bbe bd30 2447 pop {r4-r5,pc} 2448 .L10427: 00000bc0 2401 2449 movs r4,1 00000bc2 2315 2450 movs r3,21 00000bc4 220c 2451 movs r2,12 00000bc6 2079 2452 movs r0,121 2453 .L10737: 2454 00000bc8 f000f800* 2455 bl Det_ReportError 00000bcc 4620 2456 cpy r0,r4 2457 .L10739: 2458 00000bce bd30 2459 pop {r4-r5,pc} 2460 .endf Pwm_PreparePowerState 2461 ;RetVal r4 local 2462 2463 ;PowerState r0 param 2464 ;Result r5 param 2465 2466 .section ".ghcalltbl","" 00000104 00000000* 2467 .L10726: .data.w .L10725 2468 .endo .L10726 2469 .section ".ghrettbl","" 000000cc 00000000* 2470 .L10728: .data.w .L10727 2471 .endo .L10728 2472 .section ".ghcalltbl","" 00000108 00000000* 2473 .L10730: .data.w .L10729 2474 .endo .L10730 2475 .section ".ghrettbl","" 000000d0 00000000* 2476 .L10732: .data.w .L10731 2477 .endo .L10732 000000d4 00000000* 2478 .L10734: .data.w .L10733 2479 .endo .L10734 000000d8 00000000* 2480 .L10736: .data.w .L10735 2481 .endo .L10736 2482 .section ".ghcalltbl","" 0000010c 00000000* 2483 .L10738: .data.w .L10737 2484 .endo .L10738 2485 .section ".ghrettbl","" 000000dc 00000000* 2486 .L10740: .data.w .L10739 2487 .endo .L10740 2488 .section ".mcal_code","ax" Page 42 objs\release\Pwm.s 2489 ;Pwm_PreDefinedConfigPtr Pwm_PreDefinedConfigPtr import 2490 ;Pwm_ConfigPtr Pwm_ConfigPtr static 2491 ;Pwm_DrvState Pwm_DrvState static 2492 2493 .global Pwm_PreDefinedConfigPtr 2494 2495 .ghsnote info, 27, 3, 640