DSP程序跑飞的体会
来源:互联网 发布:淘宝怎么退货怎么邮寄 编辑:程序博客网 时间:2024/06/01 14:50
我所知道的DSP程序跑飞的原因有:
硬件:1.复位电路不稳定;2.电源不稳定;3.地线不稳定。
软件:1.不小心操作到了子函数返回地址值。
2.数值溢出,读写了超过范围的存储空间,堆栈溢出等 。
我的程序是带有BIOS的程序,当程序跑飞后我就在主函数的最后一行设置断点,结果程序可以跑到主函数的最后一行,接下来就是初始化BIOS操作系统了,操作系统的源代码又是不可见的,所以一时陷入了僵局。不知道该怎么办好。
我是在移植程序的时候跑飞的,后来我就拿我的程序的BIOS配置和另一个正常的BIOS配置比较,结果发现Stack Size是0x400(即默认的配置),而另一个是0x1000,然后我改过来之后程序恢复正常。
一开始的时候我也意识到可能是堆栈溢出造成的程序跑飞,所以我就增大了每块存储器上的动态堆栈,即:create a heap in this memory heap size:0x08000 .结果不管用。
后来才修改的Stack Size (MAUs)选项,即全局的堆栈大小,从0x400改到0x1000.然后问题排除。后来才明白,动态堆栈是用来动态的创建任务用的,并非是我想要的那个堆栈。经过反思感觉还是对BIOS系统不熟悉造成的大错!
0 0
- DSP程序跑飞的体会
- DSP程序跑飞的体会
- 程序编程的一点体会
- dsp程序
- 编写基于DSP程序的注意事项
- 基于DSP/BIOS的程序开发
- DSP的Uart维护口程序开发
- DSP 28335 程序自动升级的方案
- DSP程序中段的定义和作用
- DSP程序中段的定义和作用
- DSP程序中遇到的一个问题
- DSP程序中段的定义和作用
- 【DSP开发】DSP程序优化
- 照着DATAsheet写程序的一点体会!
- 最近写程序的一点体会
- C#程序优化的一些体会
- Python程序调试的一些体会
- 程序猿的工作体会和心得
- exit和_exit两个函数的区别
- N!的最末位非零数
- eclipse打不开出现问题
- 常识:数据挖掘最常见的十种方法
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- DSP程序跑飞的体会
- DSP BootLoader(zz)
- ACTF Dice Game Writeup
- iOS屏幕截图,裁切图片(制作头像),添加图片水印(Quarz2D)
- 13个小技巧帮你征服Xcode
- 浏览器运行java客户端配置
- Keil提示:missing ‘;’ before ‘xxxxx’,问题解决
- Java设计模式之wrapper
- 3、文件上传