您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [已解决,谢谢andy]程序不知为何中断?请各... 
本帖共有1455个阅读者
发表帖子 发表投票 回复主题
[已解决,谢谢andy]程序不知为何中断?请各位路过的给看看
笑溜溜(论坛游民)
笑溜溜
头衔:社区公民
帮派:无帮无派
帖数:84
金钱:819
积分:107
注册时间:2012/12/13
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[已解决,谢谢andy]程序不知为何中断?请各位路过的给看看
FRESULT pf_open_filesize (
const char *path, /* Pointer to the file name */
DWORD *file_size
)
{
FRESULT res;
DIR dj;
BYTE sp[12], dir[32];
FATFS *fs = FatFs;
DWORD wait_size;

    printf("1!\n");
if (!fs) /* Check file system */
return FR_NOT_ENABLED;
  
printf("2!\n");
fs->flag = 0;
dj.fn = sp;
res = follow_path(&dj, dir, path); /* Follow the file path */
if (res != FR_OK) return res; /* Follow failed */
printf("3!\n");
if (!dir[0] || (dir[DIR_Attr] & AM_DIR)) /* It is a directory */
return FR_NO_FILE;
    
printf("4!\n");
fs->org_clust = LD_CLUST(dir); /* File start cluster */
fs->fsize = LD_DWORD(dir+DIR_FileSize); /* File size */
printf("5!\n");
*file_size=fs->fsize;
//wait_size=*file_size;
fs->fptr = 0; /* File pointer */
fs->flag = FA_OPENED;
printf("6!\n");
  
    return FR_OK;
}
用的是OPENDSP的BF518的板子
现在做的是SD卡的文件系统,这是一个打开文件函数,我自己加了个输入参数:file_size(想测一下这个文件的大小,这个不是重点)。我的程序都能运行,也能进入这个函数,我加了printf("X!\n")都能在output windows里面显示,可是能运行1、2、3、4、5,可是当程序运行到printf("5!\n")程序就中断了,不在进行下去。我这也没加断点,死活搞不懂。。。。我运行了不修改的这个函数也像这样在这个函数里面加入printf("X!\n")都能运行。下面是我加的几个截面,到最后运行到反汇编的标号FFA000D4和FFA000D4那两行,第三张图片就在那死循环不能进行下去,汇编现在有些看不懂。谁要是明白的个指点指点

上传的图片
  201332517371402.jpg [ 15.11 KB 998×181 ] (缩略时请点击查看原图)

 


上传的图片
  201332517372602.jpg [ 49.38 KB 359×342 ] (缩略时请点击查看原图)

 


上传的图片
  201332517373402.jpg [ 67.76 KB 586×433 ] (缩略时请点击查看原图)

 





「该帖子被 笑溜溜 在 2013-03-28 16:14:16 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛游民 参考IP地址:*.*.*.*
2013/3/25 17:24:41
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

代码跑飞了,原因很多,比如超频,或者L1溢出,如果固定位置跑飞很可能是L1溢出,你把你的代码放一些到SDRAM中去运行。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/25 17:57:41
笑溜溜(论坛游民)
笑溜溜
头衔:社区公民
帮派:无帮无派
帖数:84
金钱:819
积分:107
注册时间:2012/12/13
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我想把这个void Init_Interrupts(void)函数放在SDRAM BANK0里面,LDF生成的步骤看的是BF533教学视频,但是自己编译后就出现这个问题,看着咱们论坛的帖子andy说还要“代码中所使用的空间片段没有在LDF文件中映射”!!!这个映射怎么解决





file:///D:\QQ\Users\283464255\Image\B73R09VVTT[~0TRDEJII)Z1.jpg">

上传的图片
  20133261121872.jpg [ 11.77 KB 340×96 ] (缩略时请点击查看原图)

 


上传的图片
  20133261122872.jpg [ 55.09 KB 647×218 ] (缩略时请点击查看原图)

 



「该帖子被 笑溜溜 在 2013-03-26 11:02:30 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛游民 参考IP地址:*.*.*.*
2013/3/26 11:01:43
笑溜溜(论坛游民)
笑溜溜
头衔:社区公民
帮派:无帮无派
帖数:84
金钱:819
积分:107
注册时间:2012/12/13
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
没人帮帮忙吗?我都愁了一白天了额

这家伙很懒,什么也没有留下!
等级:论坛游民 参考IP地址:*.*.*.*
2013/3/26 15:51:06
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
默认的LDF文件中没有叫“SDRAM0_BANK0”的片段,改为“
SDRAM0_BANK1”就行了。你可以双击LDF文件,以图形房事打开,看左边的片段名称。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/26 20:21:11
笑溜溜(论坛游民)
笑溜溜
头衔:社区公民
帮派:无帮无派
帖数:84
金钱:819
积分:107
注册时间:2012/12/13
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

我没把那段程序放在BANK1里面,我的BANK1、2、3都还要存储其他音频数据,我把它放在了BANK0里面。开始我写的section("SDRAM0")不行,后来我改成小写就可以了section("sdram0"),不报错误了饿...上图


上传的图片
  201332816184576.jpg [ 14.77 KB 336×124 ] (缩略时请点击查看原图)

 


上传的图片
  201332816185476.jpg [ 37.05 KB 319×203 ] (缩略时请点击查看原图)

 



「该帖子被 笑溜溜 在 2013-03-28 16:18:57 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛游民 参考IP地址:*.*.*.*
2013/3/28 16:17:33
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154041 Call, 1 Queries, Processed in 0.046875 second(s),