📄 mmcsd.c
字号:
//===============================================================================
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
//
// Property of Texas Instruments
// For Unrestricted Internal Use Only
// Unauthorized reproduction and/or distribution is strictly prohibited.
// This product is protected under copyright law and trade secret law
// as an unpublished work.
// Created 1999, (C) Copyright 1999 Texas Instruments. All rights reserved.
// Filename : mmc.c
//
// Description : Source file of Multi Media Card Security Data Adapter functions
// This file manages 16 bits registers
//
// Project : Helen
//
// Author : FRANCK FERRIZ
//
// FUNCTIONS PROVIDED :
// -
// read_mmcsd_adp_cmd_reg |
// read_mmcsd_adp_arg_1_reg |
// read_mmcsd_adp_arg_2_reg |
// read_mmcsd_adp_con_reg |
// read_mmcsd_adp_stat_reg |
// read_mmcsd_adp_ie_reg |
// read_mmcsd_adp_cto_reg |
// read_mmcsd_adp_dto_reg |
// read_mmcsd_adp_data_reg |
// read_mmcsd_adp_blen_reg |
// read_mmcsd_adp_nblk_reg |
// read_mmcsd_adp_buf_reg |
// read_mmcsd_adp_spi_reg |
// read_mmcsd_adp_gpio_reg |
// read_mmcsd_adp_rev_reg |
// read_mmcsd_adp_rsp0_reg |
// read_mmcsd_adp_rsp1_reg |
// read_mmcsd_adp_rsp2_reg |
// read_mmcsd_adp_rsp3_reg |
// read_mmcsd_adp_rsp4_reg |
// read_mmcsd_adp_rsp5_reg |
// read_mmcsd_adp_rsp6_reg |
// read_mmcsd_adp_rsp7_reg |
// MMCSD_ReadWord16AtAddress16 |
// MMC_SetMmcCommand |
// MMC_WaitUntilTimeOut |
// MMC_AllClksCutUnlessMmcAdapterClksWithWakeupAfterIrq |
// -
//
//
//===============================================================================
#include "mmcsd.h"
/////////////////////////RESPONSES
UWORD16 Response_R1_IN_MMCSD_adp_rsp6_reg_of_cmd16;
UWORD16 Response_R1_IN_MMCSD_adp_rsp6_reg_of_cmd3;
UWORD16 Response_R1b_IN_MMCSD_adp_rsp6_reg_of_CMD7;
UWORD16 Bit_39_Response_R3_ie_Bit15_MMCSD_adp_rsp7_reg_after_CMD1_OR_ACMD41;
/////////////////////////RESPONSES
//----->////////////////////////BITS OF MMCSD ADP STATUS REG
//----->UWORD16 End_of_Cmd_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Card_Busy_State_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Block_Received_Sent_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 EOF_Busy_State_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Data_TimeOut_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Data_Crc_Error_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Cmd_Timeout_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Cmd_Crc_Error_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Buffer_Almost_Full_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Buffer_Almost_Empty_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Ocr_Busy_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Card_Irq_Received_after_cmd40_Response_Bit_of_MMCSD_Adp_Stat_Reg;
//----->UWORD16 Card_Err_Bit_of_MMCSD_Adp_Stat_Reg;
//----->////////////////////////BITS OF MMCSD ADP STATUS REG
////////////////////////COUNTERS
UWORD8 Counter_IRQ_MMCSD;
////////////////////////COUNTERS
////////////////////////Content_of_MMCSDAdp_Stat_Reg
UWORD16 Content_of_MMCSDAdp_Stat_Reg;
////////////////////////Content_of_MMCSDAdp_Stat_Reg
//debut>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<//
////////////////////////BITS OF MMCSD ADP STATUS REG
//----->struct STRUCT_MMCSD_ADP_STAT_REG
//-----> { UWORD16 end_of_cmd_bit;
//-----> //UWORD16 bit1; reserved
//-----> UWORD16 card_busy_bit;
//-----> UWORD16 block_RS_bit;
//-----> UWORD16 EOF_busy_bit;
//-----> UWORD16 data_timeout_bit;
//-----> UWORD16 data_crc_error_bit;
//-----> UWORD16 cmd_timeout_bit;
//-----> UWORD16 cmd_CRC_error_bit;
//-----> //UWORD16 bit9; reserved
//-----> UWORD16 a_full_bit;
//-----> UWORD16 a_empty_bit;
//-----> UWORD16 ocr_busy_bit;
//-----> UWORD16 card_irq_after_cmd40_bit;
//-----> UWORD16 card_error_bit;
//-----> //UWORD16 bit15; reserved
//-----> };
//----->
//----->struct STRUCT_MMCSD_ADP_STAT_REG MMCSD_adp_stat_reg = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
//-----> 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
//-----> };
//----->typedef struct
//-----> { UWORD16 end_of_cmd_bit;
//-----> //UWORD16 bit1; reserved
//-----> UWORD16 card_busy_bit;
//-----> UWORD16 block_RS_bit;
//-----> UWORD16 EOF_busy_bit;
//-----> UWORD16 data_timeout_bit;
//-----> UWORD16 data_crc_error_bit;
//-----> UWORD16 cmd_timeout_bit;
//-----> UWORD16 cmd_CRC_error_bit;
//-----> //UWORD16 bit9; reserved
//-----> UWORD16 a_full_bit;
//-----> UWORD16 a_empty_bit;
//-----> UWORD16 ocr_busy_bit;
//-----> UWORD16 card_irq_after_cmd40_bit;
//-----> UWORD16 card_error_bit;
//-----> //UWORD16 bit15; reserved
//-----> } STRUCT_MMCSD_ADP_STAT_REG;
//----->STRUCT_MMCSD_ADP_STAT_REG MMCSD_adp_stat_reg;
//----->extern STRUCT_MMCSD_ADP_STAT_REG MMCSD_adp_stat_reg;
////////////////////////BITS OF MMCSD ADP STATUS REG
//fin>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<//
//----->//#include "test.h"
//----->//#include "mmc.h"
//----->
//----->
//----->//
//----->//-------------------------------------------------------------------------
//----->// NAME : read_mmcsd_adp_cmd_reg
//----->// DESCRIPTION : read MMCSD ADAPTER command register
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllCmdReg(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(CMD_REG_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
//----->UWORD16 read_mmcsd_adp_cmd_reg(void)
//----->{
//----->
//-----> UWORD16 value = *(UWORD16*)(MMCSD_ADP_CMD_REG_ADDR);
//----->
//-----> return value;
//----->}
//----->
//----->
//----->
//----->//
//----->//-------------------------------------------------------------------------
//----->// read_mmcsd_adp_arg_1_reg
//----->// DESCRIPTION : read MMC argument register 1
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllArgReg1(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(ARG_REG_1_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
//----->UWORD16 read_mmcsd_adp_arg_1_reg(void)
//----->{
//----->
//-----> UWORD16 value = *(UWORD16*)(MMCSD_ADP_ARG1_REG_ADDR);
//----->
//-----> return value;
//----->}
//----->
//----->
//----->//
//----->//-------------------------------------------------------------------------
//----->// MMC_ReadAllArgReg2
//----->// DESCRIPTION : read MMc argument register 2
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllArgReg2(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(ARG_REG_2_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
//----->UWORD16 read_mmcsd_adp_arg_2_reg(void)
//----->{
//----->
//-----> UWORD16 value = *(UWORD16*)(MMCSD_ADP_ARG2_REG_ADDR);
//----->
//-----> return value;
//----->}
//----->
//----->
//----->//
//----->//-------------------------------------------------------------------------
//----->// read_mmcsd_adp_con_reg
//----->// DESCRIPTION : read mmcsd adpater con register
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllFreqRatioReg(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(FREQ_RATIO_REG_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
//----->UWORD16 read_mmcsd_adp_con_reg(void)
//----->{
//----->
//-----> UWORD16 value = *(UWORD16*)(MMCSD_ADP_CON_REG_ADDR);
//----->
//-----> return value;
//----->}
//----->
//----->//
//----->//------//----->-------------------------------------------------------------------
//----->// read_mmcsd_adp_stat_reg
//----->// DESCRIPTION : read MMCSD status register
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllAdpStReg(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(ADP_ST_REG_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
//----->UWORD16 read_mmcsd_adp_stat_reg(void)
//----->{
//----->
//-----> UWORD16 value = *(UWORD16*)(MMCSD_ADP_STAT_REG_ADDR);
//----->
//-----> return value;
//----->}
//----->
//----->//
//----->//-------------------------------------------------------------------------
//----->// read_mmcsd_adp_ie_reg
//----->// DESCRIPTION : read MMC mask interrupt register
//----->//
//----->//-------------------------------------------------------------------------
//----->//
//----->
//----->//UWORD16 MMC_ReadAllMaskIrqReg(void)
//----->//{
//----->//
//----->// UWORD16 value = *(REGISTER_UWORD16*)(MASK_IRQ_REG_ADDR);
//----->//
//----->// return value;
//----->//}
//----->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -