📄 stm32f10x_sdio.lst
字号:
455 /* Set DTMODE bit according to SDIO_TransferMode value */
456 /* Set DTDIR bit according to SDIO_TransferDir value */
457 /* Set DBCKSIZE bits according to SDIO_DataBlockSize value */
458 tmpreg |= (uint32_t)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir
459 | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM;
\ 00000018 8268 LDR R2,[R0, #+8]
\ 0000001A C368 LDR R3,[R0, #+12]
\ 0000001C 1A43 ORRS R2,R3,R2
\ 0000001E 0369 LDR R3,[R0, #+16]
\ 00000020 1A43 ORRS R2,R3,R2
\ 00000022 4369 LDR R3,[R0, #+20]
\ 00000024 1A43 ORRS R2,R3,R2
\ 00000026 1143 ORRS R1,R2,R1
460
461 /* Write to SDIO DCTRL */
462 SDIO->DCTRL = tmpreg;
\ 00000028 .... LDR.N R2,??DataTable26_6 ;; 0x4001802c
\ 0000002A 1160 STR R1,[R2, #+0]
463 }
\ 0000002C 7047 BX LR ;; return
464
465 /**
466 * @brief Fills each SDIO_DataInitStruct member with its default value.
467 * @param SDIO_DataInitStruct: pointer to an SDIO_DataInitTypeDef structure which
468 * will be initialized.
469 * @retval None
470 */
\ In section .text, align 2, keep-with-next
471 void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
472 {
473 /* SDIO_DataInitStruct members default value */
474 SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF;
\ SDIO_DataStructInit:
\ 00000000 5FF0FF31 MOVS R1,#-1
\ 00000004 0160 STR R1,[R0, #+0]
475 SDIO_DataInitStruct->SDIO_DataLength = 0x00;
\ 00000006 0021 MOVS R1,#+0
\ 00000008 4160 STR R1,[R0, #+4]
476 SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
\ 0000000A 0021 MOVS R1,#+0
\ 0000000C 8160 STR R1,[R0, #+8]
477 SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard;
\ 0000000E 0021 MOVS R1,#+0
\ 00000010 C160 STR R1,[R0, #+12]
478 SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block;
\ 00000012 0021 MOVS R1,#+0
\ 00000014 0161 STR R1,[R0, #+16]
479 SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable;
\ 00000016 0021 MOVS R1,#+0
\ 00000018 4161 STR R1,[R0, #+20]
480 }
\ 0000001A 7047 BX LR ;; return
481
482 /**
483 * @brief Returns number of remaining data bytes to be transferred.
484 * @param None
485 * @retval Number of remaining data bytes to be transferred
486 */
\ In section .text, align 2, keep-with-next
487 uint32_t SDIO_GetDataCounter(void)
488 {
489 return SDIO->DCOUNT;
\ SDIO_GetDataCounter:
\ 00000000 .... LDR.N R0,??DataTable26_15 ;; 0x40018030
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
490 }
491
492 /**
493 * @brief Read one data word from Rx FIFO.
494 * @param None
495 * @retval Data received
496 */
\ In section .text, align 2, keep-with-next
497 uint32_t SDIO_ReadData(void)
498 {
499 return SDIO->FIFO;
\ SDIO_ReadData:
\ 00000000 .... LDR.N R0,??DataTable26_16 ;; 0x40018080
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
500 }
501
502 /**
503 * @brief Write one data word to Tx FIFO.
504 * @param Data: 32-bit data word to write.
505 * @retval None
506 */
\ In section .text, align 2, keep-with-next
507 void SDIO_WriteData(uint32_t Data)
508 {
509 SDIO->FIFO = Data;
\ SDIO_WriteData:
\ 00000000 .... LDR.N R1,??DataTable26_16 ;; 0x40018080
\ 00000002 0860 STR R0,[R1, #+0]
510 }
\ 00000004 7047 BX LR ;; return
511
512 /**
513 * @brief Returns the number of words left to be written to or read from FIFO.
514 * @param None
515 * @retval Remaining number of words.
516 */
\ In section .text, align 2, keep-with-next
517 uint32_t SDIO_GetFIFOCount(void)
518 {
519 return SDIO->FIFOCNT;
\ SDIO_GetFIFOCount:
\ 00000000 .... LDR.N R0,??DataTable26_17 ;; 0x40018048
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
520 }
521
522 /**
523 * @brief Starts the SD I/O Read Wait operation.
524 * @param NewState: new state of the Start SDIO Read Wait operation.
525 * This parameter can be: ENABLE or DISABLE.
526 * @retval None
527 */
\ In section .text, align 2, keep-with-next
528 void SDIO_StartSDIOReadWait(FunctionalState NewState)
529 {
530 /* Check the parameters */
531 assert_param(IS_FUNCTIONAL_STATE(NewState));
532
533 *(__IO uint32_t *) DCTRL_RWSTART_BB = (uint32_t) NewState;
\ SDIO_StartSDIOReadWait:
\ 00000000 .... LDR.N R1,??DataTable26_18 ;; 0x423005a0
\ 00000002 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000004 0860 STR R0,[R1, #+0]
534 }
\ 00000006 7047 BX LR ;; return
535
536 /**
537 * @brief Stops the SD I/O Read Wait operation.
538 * @param NewState: new state of the Stop SDIO Read Wait operation.
539 * This parameter can be: ENABLE or DISABLE.
540 * @retval None
541 */
\ In section .text, align 2, keep-with-next
542 void SDIO_StopSDIOReadWait(FunctionalState NewState)
543 {
544 /* Check the parameters */
545 assert_param(IS_FUNCTIONAL_STATE(NewState));
546
547 *(__IO uint32_t *) DCTRL_RWSTOP_BB = (uint32_t) NewState;
\ SDIO_StopSDIOReadWait:
\ 00000000 .... LDR.N R1,??DataTable26_19 ;; 0x423005a4
\ 00000002 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000004 0860 STR R0,[R1, #+0]
548 }
\ 00000006 7047 BX LR ;; return
549
550 /**
551 * @brief Sets one of the two options of inserting read wait interval.
552 * @param SDIO_ReadWaitMode: SD I/O Read Wait operation mode.
553 * This parametre can be:
554 * @arg SDIO_ReadWaitMode_CLK: Read Wait control by stopping SDIOCLK
555 * @arg SDIO_ReadWaitMode_DATA2: Read Wait control using SDIO_DATA2
556 * @retval None
557 */
\ In section .text, align 2, keep-with-next
558 void SDIO_SetSDIOReadWaitMode(uint32_t SDIO_ReadWaitMode)
559 {
560 /* Check the parameters */
561 assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode));
562
563 *(__IO uint32_t *) DCTRL_RWMOD_BB = SDIO_ReadWaitMode;
\ SDIO_SetSDIOReadWaitMode:
\ 00000000 .... LDR.N R1,??DataTable26_20 ;; 0x423005a8
\ 00000002 0860 STR R0,[R1, #+0]
564 }
\ 00000004 7047 BX LR ;; return
565
566 /**
567 * @brief Enables or disables the SD I/O Mode Operation.
568 * @param NewState: new state of SDIO specific operation.
569 * This parameter can be: ENABLE or DISABLE.
570 * @retval None
571 */
\ In section .text, align 2, keep-with-next
572 void SDIO_SetSDIOOperation(FunctionalState NewState)
573 {
574 /* Check the parameters */
575 assert_param(IS_FUNCTIONAL_STATE(NewState));
576
577 *(__IO uint32_t *) DCTRL_SDIOEN_BB = (uint32_t)NewState;
\ SDIO_SetSDIOOperation:
\ 00000000 .... LDR.N R1,??DataTable26_21 ;; 0x423005ac
\ 00000002 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000004 0860 STR R0,[R1, #+0]
578 }
\ 00000006 7047 BX LR ;; return
579
580 /**
581 * @brief Enables or disables the SD I/O Mode suspend command sending.
582 * @param NewState: new state of the SD I/O Mode suspend command.
583 * This parameter can be: ENABLE or DISABLE.
584 * @retval None
585 */
\ In section .text, align 2, keep-with-next
586 void SDIO_SendSDIOSuspendCmd(FunctionalState NewState)
587 {
588 /* Check the parameters */
589 assert_param(IS_FUNCTIONAL_STATE(NewState));
590
591 *(__IO uint32_t *) CMD_SDIOSUSPEND_BB = (uint32_t)NewState;
\ SDIO_SendSDIOSuspendCmd:
\ 00000000 .... LDR.N R1,??DataTable26_22 ;; 0x423001ac
\ 00000002 C0B2 UXTB R0,R0 ;; ZeroExt R0,R0,#+24,#+24
\ 00000004 0860 STR R0,[R1, #+0]
592 }
\ 00000006 7047 BX LR ;; return
593
594 /**
595 * @brief Enables or disables the command completion signal.
596 * @param NewState: new state of command completion signal.
597 * This parameter can be: ENABLE or DISABLE.
598 * @retval None
599 */
\ In section .text, align 2, keep-with-next
600 void SDIO_CommandCompletionCmd(FunctionalState NewState)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -