查看: 160|回复: 15
收起左侧

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

[复制链接]
     

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-9 21:57 | 显示全部楼层 |返回版面||阅读模式
本帖最后由 spark_zhang 于 2017-8-9 22:05 编辑

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

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

本帖子中包含更多资源

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

x
     

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-9 23:51 | 显示全部楼层 |返回版面
如果你没用过RTOS,这个问题即便解决了意义也不大,不如直接把自己的代码移植到可以运行的工程上,简单粗暴。如果你对RTOS有一点的了解,比如说线程之间是如何切换的原理等等,那这个问题可以深究一下
     

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-10 08:40 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-9 23:51
如果你没用过RTOS,这个问题即便解决了意义也不大,不如直接把自己的代码移植到可以运行的工程上,简单粗暴 ...

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

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-10 09:02 | 显示全部楼层 |返回版面
spark_zhang 发表于 2017-8-10 08:40
我在stm32上已经把ucos过了一遍了,我现在想自己移植一下,如果这个都移植不了,那我感觉再往下学也是没 ...

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

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-10 09:03 | 显示全部楼层 |返回版面
spark_zhang 发表于 2017-8-10 08:40
我在stm32上已经把ucos过了一遍了,我现在想自己移植一下,如果这个都移植不了,那我感觉再往下学也是没 ...

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

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-10 10:06 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-10 09:03
建议楼主了解下飞思卡尔任务切换的汇编代码,看看一直停在那条汇编语句的原因 ...

好的,谢谢你
     

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-10 10:22 | 显示全部楼层 |返回版面

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

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-10 10:42 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-10 10:22
楼主找到为什么停在汇编代码的原因了吗?可否分享一下

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

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-10 10:53 | 显示全部楼层 |返回版面
spark_zhang 发表于 2017-8-10 10:42
还没有啊!!!原来的程序都可以的,我新建个工程复制过来就不行了。愁死了 ...

愁啥呀,不遇到问题怎么能学到新的东西呢?UCOS,FreeRTOS,RT_Thread等这些RTOS,如果真要深入了解,不仅仅是会用就行了,只是会用,出了问题就无法解决。如果 你分析过STM32加UCOS的每一行代码(包括汇编),而且很清楚了,再遇到的问题都不是问题。我刚开始学UCOS的时候,完整的看完看懂代码一遍花了快3个月的时间。想想UCOS代码完全看下来已经不下20变了。不好意思,我有个不好的习惯,喜欢吹牛
     

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-10 10:54 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-10 10:53
愁啥呀,不遇到问题怎么能学到新的东西呢?UCOS,FreeRTOS,RT_Thread等这些RTOS,如果真要深入了解,不仅 ...

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

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-10 12:31 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-10 10:54
晚上回去再帮你看看。撸起袖子干

太感谢你!!!谢谢
     

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-13 22:45 | 显示全部楼层 |返回版面
spark_zhang 发表于 2017-8-10 12:31
太感谢你!!!谢谢

楼主问题解决没有呢?
     

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-14 17:34 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-13 22:45
楼主问题解决没有呢?

没有啊!完全没有头绪啊
     

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-14 23:27 | 显示全部楼层 |返回版面
spark_zhang 发表于 2017-8-14 17:34
没有啊!完全没有头绪啊

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

3

主题

506

帖子

1550

积分

助理工程师

发表于 2017-8-14 23:27 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-14 23:27
看了下你的代码,很多重要的地方都不一样,比如这个启动文件 start12.c ,还有就是别人使用了MCU_init函数 ...

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

22

主题

77

帖子

231

积分

中级技术员

 楼主| 发表于 2017-8-15 09:33 | 显示全部楼层 |返回版面
feelhyq 发表于 2017-8-14 23:27
看了下你的代码,很多重要的地方都不一样,比如这个启动文件 start12.c ,还有就是别人使用了MCU_init函数 ...

MCU_init可以不用,直接默认8M总线频率。我昨天也改了点,再看看情况。谢谢你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

热门推荐上一条 /2 下一条

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