您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 【已解决】[求助]BF533程序用仿真器调试没问... 
本帖共有258个阅读者
发表帖子 发表投票 回复主题
【已解决】[求助]BF533程序用仿真器调试没问题,但是添加初始化dxe生成ldr文件后就跑不起来了,求指点~~
秋夏之叶(论坛新手)
秋夏之叶
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:259
积分:27
注册时间:2017/9/30
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
【已解决】[求助]BF533程序用仿真器调试没问题,但是添加初始化dxe生成ldr文件后就跑不起来了,求指点~~
原来代码中添加init_code.dxe文件后成ldr文件烧录进去可以跑起来,正常没问题。

但后续添加了一些代码,用仿真器在线调试没有问题,但是生成的ldr后烧进去就跑不起来了。

生成ldr文件的初始化init_code.dxe是在官方的demo工程上修改了一些寄存器配置(配置成32M等跟代码中寄存器设置一样)后生成的。

以上问题请问有什么解决办法没,已经加载初始化SDRAM的dxe文件了为啥生成ldr还不行,还有什么其他需要配置的吗?求指点~多谢了。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2018/2/1 14:11:41
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
初始化init code改的不对,没有正确的初始化SDRAM。

另外你硬件SDRAM如果没有改动,为何要改初始化init?

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2018/2/1 15:19:23
秋夏之叶(论坛新手)
秋夏之叶
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:259
积分:27
注册时间:2017/9/30
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
改初始化init,因为以前只是修改了Init_code的EBIU控制寄存器,后来发现其他比如说晶振输入即PLL寄存器跟目前配置不一样。所以修改了下Init_code.

但是同一个初始化的Init_code,我放到以前工程里面生成ldr文件就行,而且以前里面也用#pragma section指定了一些代码放到外部SDRAM中bank1了。

难道说代码里面有隐藏的BUG? 调试看不出来?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2018/2/2 10:04:46
秋夏之叶(论坛新手)
秋夏之叶
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:259
积分:27
注册时间:2017/9/30
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
刚新发现了一个现象:

现有工程注释了一个比较大的函数后,生成ldr文件可以运行了(这个时候有部分代码是在外部SDRAM中运行的)。这个函数没有指定地方,所以应该是放在片内L1空间里面了,如果因为函数太大,片内放不下。那么系统不是自动会分配一部分到外部SDRAM中么?

为了排除以上因素,我取消这个函数的注释,在这个函数前面指定#pragma section("sdram0_bank1")放在片外SDRAM后,编译生成ldr后就也运行不了。

难道sdram0_bank1放不下这个函数?bank1有8M空间还不够么,生成的ldr总共才290k左右。

或者说函数体不能太大?要拆分成小函数?

。。。。。实在搞不懂了,求大神们指点



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2018/2/2 11:15:02
秋夏之叶(论坛新手)
秋夏之叶
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:259
积分:27
注册时间:2017/9/30
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
问题已经找到!
是因为Debug时,在初始化函数中调用了Printf函数。但在Release时忘了注释掉或者用宏定义圈起来。
注释Release下初始化中的Printf函数后就正常运行了。
有可能什么原因导致了Printf函数重入了,一直在循环等待......

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2018/2/5 10:25:04
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154476 Call, 1 Queries, Processed in 0.031250 second(s),