共2条
1/1 1 跳转至页
ISP,2132 ISP到2132启动不了,会不会是堆栈不够引起的?堆栈大小如何估计?

问
会不会是我的堆栈空间不够引起ISP下去启不来的问题?
具体程序映像大小有17k,RAM占用有9k,程序中有串口中断和IIC中断,串口中断里处理的数据很多且程序也很长,调用很多函数,会不会设置的堆栈太小了?
模板中的IRQ中断堆栈设置是256,不知道够不够用?
堆栈空间是怎么估计出来的?
其它如管理模式堆栈\中止模式堆栈\未定义模式堆栈\系统模式堆栈等,也没定义其空间(即值为是0),这些是不是可以不用,在什么情况下用这些堆栈,其空间大小如何决定?
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 0
IRQ_STACK_LEGTH EQU 256
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
答 1: EasyJTAG仿真是否可以?首先使用一个简单的工程测试一下硬件是否正常。 答 2: 用EasyJTAG仿真一切正常1、用EasyJTAG仿真一切正常,就是ISP到CPU上,然后启动板子,程序启动不起来.
原采用堆栈定义如下:
;定义堆栈的大小
USR_STACK_LEGTH EQU 64
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 16
IRQ_STACK_LEGTH EQU 64
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
程序启动不起来,但EasyJTAG仿真完全正常.
2、后改为你们的模板上的,ISP下载成功后,程序可以起来但就是中断产生不了.
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 0
IRQ_STACK_LEGTH EQU 256
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
3、后我将 MSR CPSR_c, #0xdf
LDR SP, StackUsr
改为:CPSR_c, #0x5f;允许IRQ中断。
但程序中断一次后进入DATA ABORT,即运行不起来了。
请帮分析一下这些问题,谢谢!
具体程序映像大小有17k,RAM占用有9k,程序中有串口中断和IIC中断,串口中断里处理的数据很多且程序也很长,调用很多函数,会不会设置的堆栈太小了?
模板中的IRQ中断堆栈设置是256,不知道够不够用?
堆栈空间是怎么估计出来的?
其它如管理模式堆栈\中止模式堆栈\未定义模式堆栈\系统模式堆栈等,也没定义其空间(即值为是0),这些是不是可以不用,在什么情况下用这些堆栈,其空间大小如何决定?
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 0
IRQ_STACK_LEGTH EQU 256
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
答 1: EasyJTAG仿真是否可以?首先使用一个简单的工程测试一下硬件是否正常。 答 2: 用EasyJTAG仿真一切正常1、用EasyJTAG仿真一切正常,就是ISP到CPU上,然后启动板子,程序启动不起来.
原采用堆栈定义如下:
;定义堆栈的大小
USR_STACK_LEGTH EQU 64
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 16
IRQ_STACK_LEGTH EQU 64
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
程序启动不起来,但EasyJTAG仿真完全正常.
2、后改为你们的模板上的,ISP下载成功后,程序可以起来但就是中断产生不了.
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 0
IRQ_STACK_LEGTH EQU 256
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0
3、后我将 MSR CPSR_c, #0xdf
LDR SP, StackUsr
改为:CPSR_c, #0x5f;允许IRQ中断。
但程序中断一次后进入DATA ABORT,即运行不起来了。
请帮分析一下这些问题,谢谢!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 | |
STM32WBA55ADC采集电池电压任务2被打赏1分 |