完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
项目到现在已经有3个月了,基于rtos做的项目,目前死于一个计算中,只能串口打日志,目前是计算任务执行一半或者执行几圈后死于任务调度sp赋值中
官方的debug函数没有任何进入迹象 求一个调试方法,或者硬件中断什么的,能让我打印一下日志,看看堆栈指针,内容,pc指针,寄存器值啥的,通过串口再这样调下去项目要夭折了 |
|
相关推荐
4个回答
|
|
计算任务用到了浮点运算和一个math库的sqrt
|
|
|
|
没办法了,今天一整晚都研究怎么调试方便了,自己改了以下函数DataAbort_P 为DataAbortHand
DataAbort IMPORT DataAbortHand SUB LR, LR, #8 STMFD SP!, {R0-R12, LR} ; MRS R1, SPSR ; STMFD SP!, {R1} BL DataAbortHand ; LDMFD SP!, {R1} ; MSR SPSR_CXSF, R1 LDMFD SP!, {R0-R12, PC}^ B DataAbort ; 总算能进中断了,接下来研究怎么打印寄存器值和指针值了 |
|
|
|
可以试一下这个,串口0输出的PC和SP
LDR R0,=0x0040D000 //========SP========== MOV R2,R13 STR R2,[R0] nop nop nop MOV R1,R2,LSR#8 STR R1,[R0] nop nop nop MOV R1,R2,LSR#16 STR R1,[R0] nop nop nop MOV R1,R2,LSR#24 STR R1,[R0] nop nop nop //========PC========== MOV R2,R15 STR R2,[R0] nop nop nop MOV R1,R2,LSR#8 STR R1,[R0] nop nop nop MOV R1,R2,LSR#16 STR R1,[R0] nop nop nop MOV R1,R2,LSR#24 STR R1,[R0] nop nop nop |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
467 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2871 浏览 2 评论
2359 浏览 1 评论
810浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
637浏览 1评论
495浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
359浏览 1评论
633浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:00 , Processed in 0.960546 second(s), Total 54, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号