数组溢出与指针问题
来源:互联网 发布:ecshop大京东2.5源码 编辑:程序博客网 时间:2024/05/01 17:54
错误一:
Error connecting to the target:
Error 0x00000220/-1156Error during: Execution, OCS,
Lost processor clock. Device may be operating
in a low-power mode. Do you want to bring it
out of this mode?
错误二:
ILLEGAL_ISR()
需要对三相采集量进行alfa/beta变换,然后FFT处理。做的过程,发现始终显示丢失时钟,查了很久发现时数组访问越限了,在从384个点下采样到256个点的时候,逻辑有点不清楚,导致数组访问溢出。
数组溢出问题一定要特别留意,尤其是边界的条件的时候;
另外,显示堆栈溢出stack overflow,然后进行ILLEGAL_ISR(),根据网上建议,首先要定位从哪个地方进入了非法中断,一运行就跑飞,就是去了非法中断里面的死循环。通过设置断点,找到了中断入口是FFT,然后从网上提示,堆栈溢出,可能是局部变量过多,自己在FFT过程使用了两个中间变量数组,改成全局变量之后就解决了。推测原理是——FFT在主函数里面做,一旦中断来了,就必须保护中断现场,全部压入堆栈,由于局部数组过多,导致了堆栈溢出。
还有一个问题,很隐蔽就是,自己使用了两个数组来循环采样一个信号,通过与一个指针来指向不同的数组。在采样完成的时候,交换指针,由于逻辑不清,在交换指针的时候,之前已经将指针换了一次了,再换一次就导致了每次都是讲一个数组拿去一边采样覆盖,一边做FFT,本意是一个用来采样,另一个用来做FFT。
就是这三个问题,这个周末就花费了。收获就是,不要怕,遇到问题就鼓起勇气去解决,总是可以解决的,大不了就是花点时间。
总结:
数组访问越限;
指针指错地方;
局部变量过多导致堆栈溢出
0 0
- 数组溢出与指针问题
- 指针数组与数组指针问题
- 数组与指针初始化问题
- 字符串数组与指针问题??
- 指针数组与数组指针,一切都是指针问题
- 数组溢出问题
- (转)数组名与指针问题
- 关于数组与指针的输出问题
- 指针与数组相关问题的理解
- 数组----下标与指针效率问题
- C语言数组与指针的问题
- c语言的数组与指针问题
- 漫步IOS--指针细节2:*与&、指针初始化问题、指针数组和数组指针
- 指针:指针与数组
- 指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- HDU 4803 Poor Warehouse Keeper(贪心)
- Create blog posts from RStudio to WordPress
- ifconfig配置网络时,出现“SIOCSIFADDR: No such device”和“eth0:ERROR while getting interface flags:No such dev”
- ajax原理和XmlHttpRequest对象
- 准备1千万个随机数字,保存到文件并顺序读取
- 数组溢出与指针问题
- 从两段代码中理解JavaScript的单线程和异步
- Java中数字格式化问题
- Android Studio 报:AndroidManifest.xml (系统找不到指定的路径。) 错误
- hdu1019(快排&&欧几里得)
- 第30讲-求两个整数的最大公约数(辗转相除法)
- Android学习笔记day10
- uva10714 - Ants
- [BZOJ1060] [ZJOI2007]时态同步