?? stm32f10x_nvic.lst
字號:
337 return ((u16)(SCB->ICSR & (u32)0x3FF));
\ NVIC_GetCurrentActiveHandler:
\ 00000000 .... LDR.N R0,??DataTable22_7 ;; 0xe000ed04
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 8005 LSLS R0,R0,#+22
\ 00000006 800D LSRS R0,R0,#+22
\ 00000008 7047 BX LR ;; return
338 }
339
340 /*******************************************************************************
341 * Function Name : NVIC_GetIRQChannelActiveBitStatus
342 * Description : Checks whether the specified IRQ Channel active bit is set
343 * or not.
344 * Input : - NVIC_IRQChannel: specifies the interrupt active bit to check.
345 * Output : None
346 * Return : The new state of IRQ Channel active bit(SET or RESET).
347 *******************************************************************************/
\ In section .text, align 2, keep-with-next
348 ITStatus NVIC_GetIRQChannelActiveBitStatus(u8 NVIC_IRQChannel)
349 {
\ NVIC_GetIRQChannelActiveBitStatus:
\ 00000000 10B4 PUSH {R4}
\ 00000002 0100 MOVS R1,R0
350 ITStatus activeirqstatus = RESET;
\ 00000004 0020 MOVS R0,#+0
351 u32 tmp = 0x00;
\ 00000006 0022 MOVS R2,#+0
352
353 /* Check the parameters */
354 assert_param(IS_NVIC_IRQ_CHANNEL(NVIC_IRQChannel));
355
356 tmp = ((u32)0x01 << (NVIC_IRQChannel & (u32)0x1F));
\ 00000008 0123 MOVS R3,#+1
\ 0000000A 11F01F04 ANDS R4,R1,#0x1F
\ 0000000E A340 LSLS R3,R3,R4
\ 00000010 1A00 MOVS R2,R3
357
358 if (((NVIC->IABR[(NVIC_IRQChannel >> 0x05)]) & tmp) == tmp )
\ 00000012 C9B2 UXTB R1,R1 ;; ZeroExt R1,R1,#+24,#+24
\ 00000014 4B11 ASRS R3,R1,#+5
\ 00000016 .... LDR.N R4,??DataTable22_21 ;; 0xe000e300
\ 00000018 54F82330 LDR R3,[R4, R3, LSL #+2]
\ 0000001C 1340 ANDS R3,R2,R3
\ 0000001E 9342 CMP R3,R2
\ 00000020 02D1 BNE.N ??NVIC_GetIRQChannelActiveBitStatus_0
359 {
360 activeirqstatus = SET;
\ 00000022 0123 MOVS R3,#+1
\ 00000024 1800 MOVS R0,R3
\ 00000026 01E0 B.N ??NVIC_GetIRQChannelActiveBitStatus_1
361 }
362 else
363 {
364 activeirqstatus = RESET;
\ ??NVIC_GetIRQChannelActiveBitStatus_0:
\ 00000028 0023 MOVS R3,#+0
\ 0000002A 1800 MOVS R0,R3
365 }
366 return activeirqstatus;
\ ??NVIC_GetIRQChannelActiveBitStatus_1:
\ 0000002C C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 0000002E 10BC POP {R4}
\ 00000030 7047 BX LR ;; return
367 }
368
369 /*******************************************************************************
370 * Function Name : NVIC_GetCPUID
371 * Description : Returns the ID number, the version number and the implementation
372 * details of the Cortex-M3 core.
373 * Input : None
374 * Output : None
375 * Return : CPU ID.
376 *******************************************************************************/
\ In section .text, align 2, keep-with-next
377 u32 NVIC_GetCPUID(void)
378 {
379 return (SCB->CPUID);
\ NVIC_GetCPUID:
\ 00000000 .... LDR.N R0,??DataTable22_22 ;; 0xe000ed00
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
380 }
381
382 /*******************************************************************************
383 * Function Name : NVIC_SetVectorTable
384 * Description : Sets the vector table location and Offset.
385 * Input : - NVIC_VectTab: specifies if the vector table is in RAM or
386 * FLASH memory.
387 * This parameter can be one of the following values:
388 * - NVIC_VectTab_RAM
389 * - NVIC_VectTab_FLASH
390 * - Offset: Vector Table base offset field.
391 * This value must be a multiple of 0x100.
392 * Output : None
393 * Return : None
394 *******************************************************************************/
\ In section .text, align 2, keep-with-next
395 void NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset)
396 {
397 /* Check the parameters */
398 assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
399 assert_param(IS_NVIC_OFFSET(Offset));
400
401 SCB->VTOR = NVIC_VectTab | (Offset & (u32)0x1FFFFF80);
\ NVIC_SetVectorTable:
\ 00000000 .... LDR.N R2,??DataTable22_23 ;; 0x1fffff80
\ 00000002 0A40 ANDS R2,R2,R1
\ 00000004 0243 ORRS R2,R2,R0
\ 00000006 .... LDR.N R3,??DataTable22_8 ;; 0xe000ed08
\ 00000008 1A60 STR R2,[R3, #+0]
402 }
\ 0000000A 7047 BX LR ;; return
403
404 /*******************************************************************************
405 * Function Name : NVIC_GenerateSystemReset
406 * Description : Generates a system reset.
407 * Input : None
408 * Output : None
409 * Return : None
410 *******************************************************************************/
\ In section .text, align 2, keep-with-next
411 void NVIC_GenerateSystemReset(void)
412 {
413 SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x04;
\ NVIC_GenerateSystemReset:
\ 00000000 .... LDR.N R0,??DataTable22_9 ;; 0xe000ed0c
\ 00000002 .... LDR.N R1,??DataTable22_24 ;; 0x5fa0004
\ 00000004 0160 STR R1,[R0, #+0]
414 }
\ 00000006 7047 BX LR ;; return
415
416 /*******************************************************************************
417 * Function Name : NVIC_GenerateCoreReset
418 * Description : Generates a Core (Core + NVIC) reset.
419 * Input : None
420 * Output : None
421 * Return : None
422 *******************************************************************************/
\ In section .text, align 2, keep-with-next
423 void NVIC_GenerateCoreReset(void)
424 {
425 SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x01;
\ NVIC_GenerateCoreReset:
\ 00000000 .... LDR.N R0,??DataTable22_9 ;; 0xe000ed0c
\ 00000002 .... LDR.N R1,??DataTable22_25 ;; 0x5fa0001
\ 00000004 0160 STR R1,[R0, #+0]
426 }
\ 00000006 7047 BX LR ;; return
427
428 /*******************************************************************************
429 * Function Name : NVIC_SystemLPConfig
430 * Description : Selects the condition for the system to enter low power mode.
431 * Input : - LowPowerMode: Specifies the new mode for the system to enter
432 * low power mode.
433 * This parameter can be one of the following values:
434 * - NVIC_LP_SEVONPEND
435 * - NVIC_LP_SLEEPDEEP
436 * - NVIC_LP_SLEEPONEXIT
437 * - NewState: new state of LP condition.
438 * This parameter can be: ENABLE or DISABLE.
439 * Output : None
440 * Return : None
441 *******************************************************************************/
\ In section .text, align 2, keep-with-next
442 void NVIC_SystemLPConfig(u8 LowPowerMode, FunctionalState NewState)
443 {
444 /* Check the parameters */
445 assert_param(IS_NVIC_LP(LowPowerMode));
446 assert_param(IS_FUNCTIONAL_STATE(NewState));
447
448 if (NewState != DISABLE)
\ NVIC_SystemLPConfig:
\ 00000000 C9B2 UXTB R1,R1 ;; ZeroExt R1,R1,#+24,#+24
\ 00000002 0029 CMP R1,#+0
\ 00000004 06D0 BEQ.N ??NVIC_SystemLPConfig_0
449 {
450 SCB->SCR |= LowPowerMode;
\ 00000006 .... LDR.N R2,??DataTable22_11 ;; 0xe000ed10
\ 00000008 1268 LDR R2,[R2, #+0]
\ 0000000A C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 0000000C 0243 ORRS R2,R0,R2
\ 0000000E .... LDR.N R3,??DataTable22_11 ;; 0xe000ed10
\ 00000010 1A60 STR R2,[R3, #+0]
\ 00000012 05E0 B.N ??NVIC_SystemLPConfig_1
451 }
452 else
453 {
454 SCB->SCR &= (u32)(~(u32)LowPowerMode);
\ ??NVIC_SystemLPConfig_0:
\ 00000014 .... LDR.N R2,??DataTable22_11 ;; 0xe000ed10
\ 00000016 1268 LDR R2,[R2, #+0]
\ 00000018 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 0000001A 8243 BICS R2,R2,R0
\ 0000001C .... LDR.N R3,??DataTable22_11 ;; 0xe000ed10
\ 0000001E 1A60 STR R2,[R3, #+0]
455 }
456 }
\ ??NVIC_SystemLPConfig_1:
\ 00000020 7047 BX LR ;; return
457
458 /*******************************************************************************
459 * Function Name : NVIC_SystemHandlerConfig
460 * Description : Enables or disables the specified System Handlers.
461 * Input : - SystemHandler: specifies the system handler to be enabled
462 * or disabled.
463 * This parameter can be one of the following values:
464 * - SystemHandler_MemoryManage
465 * - SystemHandler_BusFault
466 * - SystemHandler_UsageFault
467 * - NewState: new state of specified System Handlers.
468 * This parameter can be: ENABLE or DISABLE.
469 * Output : None
470 * Return : None
471 *******************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -