打印
[uCOS/RTOS]

成功运行的ucosii文件复制到新建的工程中就运行失败是什...

[复制链接]
1290|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 spark_zhang 于 2017-8-9 22:05 编辑

本人想将ucosii移植到飞思卡尔9s12dg128单片机上,然后我这有一个程序是别人在同一个板子上可以成功运行的,我自己新建一个工程除了软件自动生成的代码其他都是直接复制过来的,然后下载运行就失败。单步调试运行在如图所示位置就陷入死循环了!
但是我复制那个程序运行完全没问题。请问这是什么原因?

最下面试程序,不能运行的是我新建工程后直接复制可以运行里的移植代码。

1.png (15.99 KB )

1.png

搜狗截图17年08月09日2151_1.png (41.77 KB )

搜狗截图17年08月09日2151_1.png

不能运行.zip

461.99 KB

可以运行.rar

396.84 KB

相关帖子

沙发
feelhyq| | 2017-8-9 23:51 | 只看该作者
如果你没用过RTOS,这个问题即便解决了意义也不大,不如直接把自己的代码移植到可以运行的工程上,简单粗暴。如果你对RTOS有一点的了解,比如说线程之间是如何切换的原理等等,那这个问题可以深究一下

使用特权

评论回复
板凳
spark_zhang|  楼主 | 2017-8-10 08:40 | 只看该作者
feelhyq 发表于 2017-8-9 23:51
如果你没用过RTOS,这个问题即便解决了意义也不大,不如直接把自己的代码移植到可以运行的工程上,简单粗暴 ...

我在stm32上已经把ucos过了一遍了,我现在想自己移植一下,如果这个都移植不了,那我感觉再往下学也是没啥意义的了,毕竟我已经会用了,但是不会移植。

使用特权

评论回复
地板
feelhyq| | 2017-8-10 09:02 | 只看该作者
spark_zhang 发表于 2017-8-10 08:40
我在stm32上已经把ucos过了一遍了,我现在想自己移植一下,如果这个都移植不了,那我感觉再往下学也是没 ...

昨天晚上花了点时间看了看你的代码,有点不一样的地方(比如MCU_init你给注释掉了),我对飞思卡尔的片子不是很了解(体系架构和汇编),移植像UCOS等这些RTOS 只要用于设定时间片的定时器没问题,再就是切换线程的异常,看了下汇编代码,应该是由swi 软中断(通常情况下swi软中断要设置成最低优先级)触发的

使用特权

评论回复
5
feelhyq| | 2017-8-10 09:03 | 只看该作者
spark_zhang 发表于 2017-8-10 08:40
我在stm32上已经把ucos过了一遍了,我现在想自己移植一下,如果这个都移植不了,那我感觉再往下学也是没 ...

建议楼主了解下飞思卡尔任务切换的汇编代码,看看一直停在那条汇编语句的原因

使用特权

评论回复
6
spark_zhang|  楼主 | 2017-8-10 10:06 | 只看该作者
feelhyq 发表于 2017-8-10 09:03
建议楼主了解下飞思卡尔任务切换的汇编代码,看看一直停在那条汇编语句的原因 ...

好的,谢谢你

使用特权

评论回复
7
feelhyq| | 2017-8-10 10:22 | 只看该作者

楼主找到为什么停在汇编代码的原因了吗?可否分享一下

使用特权

评论回复
8
spark_zhang|  楼主 | 2017-8-10 10:42 | 只看该作者
feelhyq 发表于 2017-8-10 10:22
楼主找到为什么停在汇编代码的原因了吗?可否分享一下

还没有啊!!!原来的程序都可以的,我新建个工程复制过来就不行了。愁死了

使用特权

评论回复
9
feelhyq| | 2017-8-10 10:54 | 只看该作者
feelhyq 发表于 2017-8-10 10:53
愁啥呀,不遇到问题怎么能学到新的东西呢?UCOS,FreeRTOS,RT_Thread等这些RTOS,如果真要深入了解,不仅 ...

晚上回去再帮你看看。撸起袖子干

使用特权

评论回复
10
spark_zhang|  楼主 | 2017-8-10 12:31 | 只看该作者
feelhyq 发表于 2017-8-10 10:54
晚上回去再帮你看看。撸起袖子干

太感谢你!!!谢谢

使用特权

评论回复
11
feelhyq| | 2017-8-13 22:45 | 只看该作者
spark_zhang 发表于 2017-8-10 12:31
太感谢你!!!谢谢

楼主问题解决没有呢?

使用特权

评论回复
12
spark_zhang|  楼主 | 2017-8-14 17:34 | 只看该作者
feelhyq 发表于 2017-8-13 22:45
楼主问题解决没有呢?

没有啊!完全没有头绪啊

使用特权

评论回复
13
feelhyq| | 2017-8-14 23:27 | 只看该作者
spark_zhang 发表于 2017-8-14 17:34
没有啊!完全没有头绪啊

看了下你的代码,很多重要的地方都不一样,比如这个启动文件 start12.c ,还有就是别人使用了MCU_init函数,时钟使用了PLL,以及有中断的配置,你就没有。

使用特权

评论回复
14
feelhyq| | 2017-8-14 23:27 | 只看该作者
feelhyq 发表于 2017-8-14 23:27
看了下你的代码,很多重要的地方都不一样,比如这个启动文件 start12.c ,还有就是别人使用了MCU_init函数 ...

特别是启动文件 你好好看看,花了一点时间看了下飞思卡尔的汇编,头痛

使用特权

评论回复
15
spark_zhang|  楼主 | 2017-8-15 09:33 | 只看该作者
feelhyq 发表于 2017-8-14 23:27
看了下你的代码,很多重要的地方都不一样,比如这个启动文件 start12.c ,还有就是别人使用了MCU_init函数 ...

MCU_init可以不用,直接默认8M总线频率。我昨天也改了点,再看看情况。谢谢你。

使用特权

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

本版积分规则

22

主题

77

帖子

7

粉丝