初级会员

- 积分
- 91
- 金钱
- 91
- 注册时间
- 2014-8-24
- 在线时间
- 76 小时
|
10金钱
在外部SRAM 申请了**px的二维数组和*p的维维数组,
u8 *pa,**px;
int main(void)
{
.
.
.
.
px = (u8 **)mymalloc(sramx,(sizeof(u8 *) * Total_channel_number)); //分配指针数组
px[0] = (u8 *)mymalloc(sramx,(sizeof(u8) * Total_channel_number * lenlen));//一次性分配所有空间
for(i=1; i<Total_channel_number; i++)
{
px[i] = px[i-1] + lenlen;
}//采用如上内存分配方法,意味着将q的值初始化为m*n的二维数组首地址,且这块内存连续
pa=mymalloc(sramx,lenlen);//申请2K字节
.
.
.
.
while(1)
{
.
.
.
.
res=f_open(file,file_name2,FA_OPEN_EXISTING|FA_WRITE);
res = f_write(file,*(px+1),512,&bw1); //写第二组数据,小于512才能写入否则死机,地址没冲突
res = f_lseek(file,lenlen);
f_close(file);
res=f_open(file,file_name2,FA_READ);
res=f_read(file,fatbuf1,512,&br);
f_close(file);
.
.
.
.
}
}
死在
// status=SDIO->STA;
// if(status&((1<<0)|(1<<2)|(1<<6)))break;//CRC错误/命令响应超时/已经收到响应(CRC校验成功)
将sramx,改为sramin没问题,但数据量太小不够我用。
|
|