金牌会员
- 积分
- 1105
- 金钱
- 1105
- 注册时间
- 2015-10-13
- 在线时间
- 134 小时
|
5金钱
gui_memset(mem2base,0,f_exe->fsize); //清空这片内存
rval=f_read(f_exe,mem2base,f_exe->fsize,(UINT*)&br);//读出BIN的所有内容
applenth1 = f_exe->fsize;
......
dbuf=fsmc_sram_test_read(68000000);
LCD_ShowxNum(50,240,dbuf,8,12,0);
/*****************************************************************************************/
//mem1内存参数设定.mem1完全处于内部SRAM里面
#define MEM1_BLOCK_SIZE 32 //内存块大小为32字节
#define MEM1_MAX_SIZE 40*1024 //最大管理内存 40K
#define MEM1_ALLOC_TABLE_SIZE MEM1_MAX_SIZE/MEM1_BLOCK_SIZE //内存表大小
//mem2内存参数设定.mem2的内存池处于外部SRAM里面,其他的处于内部SRAM里面
#define MEM2_BLOCK_SIZE 32 //内存块大小为32字节
#define MEM2_MAX_SIZE 680*1024 //最大管理内存200K
#define MEM2_ALLOC_TABLE_SIZE MEM2_MAX_SIZE/MEM2_BLOCK_SIZE //内存表大小
/*****************************************************************************************/
//内存池(4字节对齐)
__align(4) u8 mem1base[MEM1_MAX_SIZE]; //内部SRAM内存池
__align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池
//内存管理表
u16 mem1mapbase[MEM1_ALLOC_TABLE_SIZE]; //内部SRAM内存池MAP
u16 mem2mapbase[MEM2_ALLOC_TABLE_SIZE] __attribute__((at(0X68000000+MEM2_MAX_SIZE))); //外部SRAM内存池MAP
//内存管理参数
const u32 memtblsize[2]={MEM1_ALLOC_TABLE_SIZE,MEM2_ALLOC_TABLE_SIZE}; //内存表大小
const u32 memblksize[2]={MEM1_BLOCK_SIZE,MEM2_BLOCK_SIZE}; //内存分块大小
const u32 memsize[2]={MEM1_MAX_SIZE,MEM2_MAX_SIZE}; //内存总大小
以上代码,为什么显示的数字不是打开文件的第一个数字?难道是外部SRAM的首地址不是68000000吗?求帮助~~
|
|