打印
[开发工具]

ST LINK调试断点问题

[复制链接]
4542|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xieshenyao|  楼主 | 2008-1-26 21:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我买的是万利的板子
板子上集成了ST LINKII,集成开发环境是IAR 4.42A
现在发现调试中出现以下两个问题:
1.在汇编代码中设置一个断点后,如果不取消该断点,代码无法单步运行到下一条指令。
2.在运行过程中设置一个断点,虽然程序会停下来,但是停的位置是上次另外一个已经取消的断点的位置。
我用Jlink调试的时候,没有这两个问题,所以我估计应该是驱动上的一些小问题,不知是否能修正。
沙发
香水城| | 2008-1-27 11:36 | 只看该作者

嗯,这是一个新发现

我也估计是驱动上问题,要让他们查一下。

使用特权

评论回复
板凳
vigia| | 2008-1-30 16:28 | 只看该作者

LZ 你提出的问题原因比较复杂

能不能把你的项目贴上来让我试试?

使用特权

评论回复
地板
xieshenyao|  楼主 | 2008-1-30 20:13 | 只看该作者

随便找一个有汇编代码的工程就可以了

无非是两个问题
1.调试汇编代码的问题
2.运行中设置断点,断点停稳位置不对

使用特权

评论回复
5
xieshenyao|  楼主 | 2008-1-30 20:21 | 只看该作者

是uCOS在STM32上的移植


移植部分代码大部分参照Micrium官方公布的代码,
不过用的是uCOS2.73版,现在的版本比较繁琐,实际应用中没有太大意义
用uCOS无非是一些低端的场合,基本上用个内核就OK了,其它花哨的能少就少
相关链接:https://bbs.21ic.com/upfiles/img/20081/2008130201815939.rar

使用特权

评论回复
6
xieshenyao|  楼主 | 2008-1-30 20:24 | 只看该作者

接着来

使用特权

评论回复
7
phoenixmy| | 2008-1-30 20:32 | 只看该作者

楼主只用了uc的内核??

使用特权

评论回复
8
xieshenyao|  楼主 | 2008-1-31 08:43 | 只看该作者

我非常感兴趣真正在用uC做项目的人都用了哪些模块

使用特权

评论回复
9
phoenixmy| | 2008-1-31 09:01 | 只看该作者

楼主进展何如?



最近才打算看看
目前还是混乱中

楼主你有自己的BSP吗?

使用特权

评论回复
10
xieshenyao|  楼主 | 2008-1-31 19:49 | 只看该作者

别整这么复杂

BSP那是后来学linux和wince之类大操作系统整出来的东西
uCOS没这么复杂,不用搞那些玩意
你可以看看我上面发的那个工程
做项目只用内核就可以了
这样移植就相对轻松很多
OSView和OS Probe真没有太多意义
代码的可靠性是靠整个结构设计和编码的合理性保证的
如果这些做不好,整这些监控的东西有什么意义

使用特权

评论回复
11
xieshenyao|  楼主 | 2008-1-31 19:56 | 只看该作者

uCOS无非就是实现了堆栈切换

这是uCOS最为本质的东西

而uCOS的移植无非是因为基本上所有CPU的编译器都不支持在C语言里对堆栈指针进行操作,因此独立出一段代码用汇编完成来实现堆栈的切换,所以在有Micrium官方提供例程的条件下,移植uCOS应该是一件按部就班的事

不过有一点非常重要,不要被官方代码所谓的BSP所迷惑,还有不要用2.84这类的高版本,真的意义不大,移植起来有费事

使用特权

评论回复
12
xieshenyao|  楼主 | 2008-1-31 19:57 | 只看该作者

香水兄,驱动的问题解决了吗

估计都放假了吧,来年再说

使用特权

评论回复
13
vigia| | 2008-2-1 00:11 | 只看该作者

额。。不好意思,前段时间身体不适,没有精力去搞

单步的问题不是很简单,因为不是每个汇编单步加断点的操作都不行,而是仅仅在带中断的汇编中会出现问题,但实际上我在汇编中做单步的同时都是屏蔽中断的,所以原因还在猜测中。。。至于第二个问题,我认为应该很简单是个小问题,可惜我重现不了,估计是个特定步骤。。。

这两天公司打包中加咳嗽的厉害。。。

阿,上帝保佑我能在节前搞定这个问题,过个好年,阿门。



使用特权

评论回复
14
vigia| | 2008-2-4 15:48 | 只看该作者

呼唤LZ

断点处单步的问题已经解决

但你说的第二个问题我重现不出来,能否具体说下你设置断点和取消断点的步骤?

使用特权

评论回复
15
xieshenyao|  楼主 | 2008-2-8 18:49 | 只看该作者

先设置一个断点,运行至该断点后取消该断点,点击全速运行,在另外一定可以运行到的代码行设置断点,此时会停到原来取消断点的代码行。

使用特权

评论回复
16
xieshenyao|  楼主 | 2008-2-17 22:41 | 只看该作者

先发上工程

使用特权

评论回复
17
xieshenyao|  楼主 | 2008-2-17 22:44 | 只看该作者

工程上面已经有了

在os_core.c文件的190行设置一个断点
点击全速运行
会停在这个断点上
然后取消该断点
点击全速运行
然后再main.c文件的232行设置一个断点
这是光标会停在os_core.c文件的190行

vigia试试看是不是这样的

使用特权

评论回复
18
天灵灵| | 2009-2-26 18:38 | 只看该作者

求 xieshenyao 移植代码!!

我目前也在搞UCOS移植的问题,想参考你的代码看看。

xieshenyao  你的链接下载不了 能否发给我一份?

gf86530430@126.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

13

帖子

1

粉丝