我使用IAR v5.4写了一段C代码,基于8962的。里面用到了一个结构体数组,当数组长度小于一个值时,程序是OK的,但是超过这个长度,程序连初始化的过程都不能正常走完( 自动跳入IntDefaultHandler,我查看了一下NVIC,据说是中断号19引起的,也就是定时器中断,可是我有对定时器中断进行处理的函数 )。
我也试着保持那个结构体数组小于那个所谓的“阈值”,同时又申明了一个较大的普通字符型数组,程序也能正常运行。
很好奇,这是什么原因引起的?
PS:我查看了一下map文件,显示 13344 bytes of readonly code memory
536 bytes of readonly data memory
1295 bytes of readwrite data memory
希望大家见多识广,能帮我解惑。另外个人经验不足,也不知道上面的信息量够不够,如果上面这些信息不够的话,还请大家明示,先谢谢大家了。
此帖出自
小平头技术问答
谢谢。我已经把结构体数组改成全局变量了,但结果是一样的。程序还是会自动跳入IntDefaultHandler,依然是中断号19引起的。
一周热门 更多>