##// END OF EJS Templates
Added Simulator target to run code on x86 and debug functions....
Added Simulator target to run code on x86 and debug functions. Fixed some bugs on terminal widget.

File last commit:

r63:68dfbccdd813 dev_alexis
r63:68dfbccdd813 dev_alexis
Show More
fakesdcard.c
115 lines | 2.3 KiB | text/x-c | CLexer
#include <stdio.h>
#include <sdcard.h>
#include <sdcard-spi.h>
FILE* sdcardimg;
void sdcardmake(sdcardDev* sdcard,UHANDLE phy,void (*rcvr_mmc) (UHANDLE,char *,unsigned int ),void (*xmit_mmc) (UHANDLE,const char *,unsigned int ),void (*setspeed) (UHANDLE phy,unsigned int speed),unsigned int (*getspeed) (UHANDLE phy))
{
}
int sdcardselect (blkdevice* _this)
{
return 1;
}
void sdcarddeselect (blkdevice* _this)
{
}
int sdcardwait_ready (sdcardDev* sdcard)
{
return 1;
}
void sdcardpower (blkdevice* _this)
{
}
char sdcarddetect (blkdevice* _this)
{
return 1;
}
char sdcardwriteprotected (blkdevice* _this)
{
return 0;
}
int sdcardxmit_datablock (sdcardDev* sdcard,const char *buff,char token)
{
return 1;
}
int sdcardrcvr_datablock (sdcardDev* sdcard,char *buff,unsigned int btr)
{
return 1;
}
char sdcardsend_cmd (blkdevice* _this,char cmd,unsigned int arg)
{
return 1;
}
DSTATUS sdcarddisk_status (blkdevice* _this)
{}
DSTATUS sdcarddisk_initialize (blkdevice* _this)
{}
DRESULT sdcarddisk_read (blkdevice* _this,char *buff,unsigned long sector,char count)
{
int res = fseek(sdcardimg, sector*(unsigned long)512, SEEK_SET);
if(count*512== fread(buff,1,count*512,sdcardimg))
return RES_OK;
return RES_ERROR;
}
DRESULT sdcarddisk_write (blkdevice* _this,const char *buff,unsigned long sector,char count)
{
fseek(sdcardimg, sector*(unsigned long)512, SEEK_SET);
fwrite(buff,1,count*512,sdcardimg);
return RES_OK;
}
DRESULT sdcarddisk_ioctl (blkdevice* _this,char ctrl,void *buff)
{}
void sdcardspimakeblkdev(blkdevice* dev,sdcardDev* sdcard, blkdevselect_t select,blkdevpower_t power,blkdevdetect_t detect,blkdevwriteprotected_t writeprotected)
{
sdcardimg=fopen("sdcard.bin","rb");
// sdcardimg=fopen("usbkey.bin","rb");
if(sdcardimg!=NULL)printf("ok sdcard openned\n");
else printf("Nok sdcard not openned\n");
dev->phy=NULL;
dev->select= (blkdevselect_t)select;
dev->power = (blkdevpower_t)power;
dev->detect = (blkdevdetect_t)detect;
dev->writeprotected = (blkdevwriteprotected_t)writeprotected;
dev->write = sdcarddisk_write;
dev->read = sdcarddisk_read;
dev->ioctl = sdcarddisk_ioctl;
dev->initialize = sdcarddisk_initialize;
dev->status = sdcarddisk_status;
printf("sdcard opened\n");
}