📄 mem_fs.c
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
#include <system/armsys270.h>
#include <util/mem_fs.h>
STATUS MEM_FILE_open( MEM_FILE *file, Uint32 addr, char *op ) {
file->base_addr = addr;
file->offset = 0;
if(op[0] == 'w' ) {
file->write = TRUE;
file->size = 0;
} else
file->write = FALSE;
return E_PASS;
}
STATUS MEM_FILE_close( MEM_FILE *file ) {
return E_PASS;
}
Uint32 MEM_FILE_write( MEM_FILE *file, char *data, Uint32 size ) {
memcpy( (char*)(file->base_addr + file->offset), data, size );
file->offset += size;
if( file->size < file->offset )
file->size = file->offset;
return size;
}
Uint32 MEM_FILE_read ( MEM_FILE *file, char *data, Uint32 size ) {
if( file->offset + size < file->size ) {
memcpy( data, (char*)(file->base_addr + file->offset), size );
file->offset += size;
} else {
size = file->size - file->offset;
memcpy( data, (char*)(file->base_addr + file->offset), size );
file->offset +=size;
}
return size;
}
STATUS MEM_FILE_seek ( MEM_FILE *file, Int32 offset, MEM_FILE_SEEK_POS pos ) {
STATUS stat=E_PASS;
switch( pos ) {
case MEM_FILE_SEEK_START :
file->offset=offset;
break;
case MEM_FILE_SEEK_CUR :
file->offset += offset;
if((Int32)file->offset<0)
file->offset=0;
break;
default :
stat=E_INVALID_INPUT;
break;
}
return stat;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -