mmc_apiroutinetest_multiple.c

来自「采用TMS320VC5509实现对MMC卡的读写的测试程序」· C语言 代码 · 共 96 行

C
96
字号
/******************************************************************************\
*           Copyright (C) 2001 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* MODULE NAME... MMC
* FILENAME...... MMC_apiTest.c
* DATE CREATED.. Mon 09/18/2001
* PROJECT....... Chip Support Library
* COMPONENT..... 
* PREREQUISITS.. 
*------------------------------------------------------------------------------
* HISTORY:
*   09/18/2001  (IM) Created
*
*  
*------------------------------------------------------------------------------
* DESCRIPTION:  
*   
* This is a test that tests the MMC functions for Amadeus
\*----------------------------------------------------------------------*/

#include <csl_mmc.h>
#include <stdio.h>

MMC_InitObj Init = {
  0,            /* Enable/disable DMA for data read/write */
  0,            /* Set level of edge detection on DAT3 pin */
  0,               /* Determines if MMC goes IDLE during IDLE instr */
  1,         /* Memory clk reflected on CLK Pin */
  3,                 /* CPU CLK to MMC function clk divide down */
  2,                 /* MMC function clk to memory clk divide down */
  0,           /* No. memory clks to wait before response timeout */
  0,          /* No. memory clks to wait before data timeout */
  512             /* Block Length must be same as CSD */
};

MMC_Config configmmc = {
0,
0,
0,
0,
0,
0,
0,
0
};

MMC_CardIdObj *cardid;
MMC_CardObj *card;
MMC_Handle mmc0;
int temp,i;
char productame[8];

Uint16 data[512];
Uint16 datareceive[512];
Uint16 *dataptr = data;
Uint16 *datarcv = datareceive;

main()
{

    CSL_init();
    
    for (i=0;i<512;i++) {  /* fill data array */
    data[i] = i;
    }
   
     mmc0 = MMC_open(MMC_DEV1); /* open MMC port */         
      //temp = MMC_Init(mmc0,1,0,0,1,2,3,0,0,512);  /* initialize MMC bus */
   
    MMC_setupNative(mmc0,&Init);//,1,0,0,1,2,3,0,0,512);  /* initialize MMC bus */
      
     MMC_sendGoIdle(mmc0);  /* idle all cards */
    
    temp= MMC_sendOpCond(mmc0,0x00100000);   /* send operating conditionsmmc to all cards */
    
    temp = MMC_sendAllCID(mmc0,cardid); /* get card ids */
    
    temp = MMC_setRca(mmc0,card,2);   /* send relative address to card */   
    
    temp = MMC_selectCard(mmc0,card); /* select card for writing/reading */ 
    asm("	rpt #64");
    asm("	NOP");

    temp = MMC_write(mmc0,0,dataptr,512);  /* write single block */
    
    temp = MMC_read(mmc0,0,datarcv,512);   /* read back block */
      
}



/******************************************************************************\
* End of MMC_apiTest.c
\******************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?