⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmcsd.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 5 页
字号:
//===============================================================================
//            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 + -