注册 登录
查看: 482|回复: 10

[其他] IAR怎么查看进硬件中断之前执行的语句?

[复制链接]
发表于 2014-10-14 15:32:34 | 显示全部楼层 |阅读模式
之前有看山外大哥的视频上说使用call stack就可以查看进硬件中断之前执行的语句,不过我试了几次没有成功,是因为我跑了uCOS-III的系统导致无法查看吗?还是因为我IAR版本(使用的是6.4)的问题?山外大哥  求解答!
回复

使用道具 举报

发表于 2014-10-14 16:44:23 | 显示全部楼层
跑ucos,经常切换栈,是有可能看到乱数据,你把你的栈数据发来看看。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-10-14 18:32:49 | 显示全部楼层
ucos也可以看到的啊,虽然需要切换栈,但最近执行的函数还是可以看到的。除非是刚好在栈切换那边出问题。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 08:47:13 | 显示全部楼层
山外メ雲ジ 发表于 2014-10-14 18:32
ucos也可以看到的啊,虽然需要切换栈,但最近执行的函数还是可以看到的。除非是刚好在栈切换那边出问题。

貌似真的是切换栈的时候跑飞的昨天又搞了一天还是没有解决,崩溃了,今天继续搞
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 08:50:11 | 显示全部楼层
微粒子 发表于 2014-10-14 16:44
跑ucos,经常切换栈,是有可能看到乱数据,你把你的栈数据发来看看。


请帮忙看看,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-16 10:00:07 | 显示全部楼层
♂荻夜 发表于 2014-10-16 08:47
貌似真的是切换栈的时候跑飞的昨天又搞了一天还是没有解决,崩溃了,今天继续搞

官网应该有参考例程的啊,参考一下来修改。
回复 支持 反对

使用道具 举报

发表于 2014-10-16 11:13:22 | 显示全部楼层
♂荻夜 发表于 2014-10-16 08:47
貌似真的是切换栈的时候跑飞的昨天又搞了一天还是没有解决,崩溃了,今天继续搞

栈数据看不到,可以串口输出看看是什么代码造成,在默认中断里配置断点。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 12:27:00 | 显示全部楼层
虚竹 发表于 1413429202
栈数据看不到,可以串口输出看看是什么代码造成,在默认中断里配置断点。
谢谢版主的回答,问题已经解决。
是因为任务堆栈大小分配不足引起的,之前一直是进来硬件中断之后就再查看堆栈状态,堆栈空间都是够的,今天在调试的过程中才查看发现堆栈不足
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 12:27:22 | 显示全部楼层
山外メ雲ジ 发表于 1413424807
官网应该有参考例程的啊,参考一下来修改。
谢谢山外大哥的回答,问题已经解决。
是因为任务堆栈大小分配不足引起的,之前一直是进来硬件中断之后就再查看堆栈状态,堆栈空间都是够的,今天在调试的过程中才查看发现堆栈不足
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-10-16 12:29:57 | 显示全部楼层
♂荻夜 发表于 2014-10-16 12:27
谢谢山外大哥的回答,问题已经解决。
是因为任务堆栈大小分配不足引起的,之前一直是进来硬件中断之后就再 ...

教你一个判断栈是否够的方法,在栈低写个标志位,跑飞了就看看栈标志位是否被清掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-16 12:34:05 | 显示全部楼层
山外メ雲ジ 发表于 2014-10-16 12:29
教你一个判断栈是否够的方法,在栈低写个标志位,跑飞了就看看栈标志位是否被清掉。

OK! Nice谢谢山外大哥。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部