5828|5

3

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ucos-iii移植到MC9S12XEQ512的问题 [复制链接]

 在官网上下载了K60的ucos代码,最近打算移植到mc9s12xeq512上,中间有少许改动。我设置了一个任务。
现在情况是程序一运行就复位,在codewarrior调试界面中提示illegal_bp,我单步调试发现好像进入OSStart(&err);  出现问题。
我是初学者,还请各位大侠赐教,附上我的工程。

飞思卡尔的工程路径在       复件 ucos\Micrium\Software\EvalBoards\Freescale\MC9S12XEQ512\codewarrior\ucos_test    下

复件 ucos.zip

7.1 MB, 下载次数: 74

最新回复

非常好的资源,移植方法可以借鉴。  详情 回复 发表于 2018-3-21 21:26

点评

首先可以确定是你移植的问题,你可以看一下OSStart 找到优先级最高的任务 运行 那么 你看看 OSStartHighRdy 里面干了什么 设置异常中断,将OSRunning = 1; 触发PendSV异常, 任务切换 楼主可以参考一下 其他  详情 回复 发表于 2013-3-12 09:29
飞思卡尔的芯片我没玩过,具体的建议给不了。 k60和mc9s12xeq512都是飞思卡尔的,但是你了解了它们之间的不同吗?移植的话应该多关注这些不同的地方,这样就会省去很多麻烦的问题。相同的地方自然就不用怎么改至少  详情 回复 发表于 2013-3-12 08:27
点赞 关注
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
自己先顶顶了,请各位高人不吝赐教
 
 
 

回复

436

帖子

5

TA的资源

五彩晶圆(初级)

板凳
 
原帖由 win_huang 于 2013-3-11 22:50 发表
在官网上下载了K60的ucos代码,最近打算移植到mc9s12xeq512上,中间有少许改动。我设置了一个任务。
现在情况是程序一运行就复位,在codewarrior调试界面中提示illegal_bp,我单步调试发现好像进入OSStart(&err);   ...
飞思卡尔的芯片我没玩过,具体的建议给不了。

k60和mc9s12xeq512都是飞思卡尔的,但是你了解了它们之间的不同吗?移植的话应该多关注这些不同的地方,这样就会省去很多麻烦的问题。相同的地方自然就不用怎么改至少不会大改。

不同的地方,最关键的是它们是同样的汇编指令体系结构吗?还有存储器映射。程序运行就重启,到底是在什么地方出错的呢?
OSStart那就是要启动OS了,你的分析也不够彻底。提示了illegal_bp错误,怎么不继续往下查呢.


以下是网上查到的:
ILLEGAL_BP
开始以为硬件问题,后来检查后排除了这种可能。于是上论坛看看别人的解决方法,论坛大致有以下几个答案:

1.重新下载。
2.在调试过程中非法设置断点。(从名字来看,这个命令应该是报ILLEGAL_BP错误~)
3.堆栈溢出。因为片上资源有限,而如果用到的临时变量太多,会导致片上堆栈溢出。

第四种方法,解决了我的问题:
4.程序中中断设置错误。程序中设置了开中断,但是却没有中断处理函数,就会报错。
   解决办法:要么写中断处理函数,要么别开中断。



你查一下,个人觉得可能是其中的第3点和第4点。
另外有没有注意尽早关闭看门狗呢?
 
 
 

回复

2131

帖子

0

TA的资源

至上芯片

4
 

回复 楼主 win_huang 的帖子

首先可以确定是你移植的问题,你可以看一下OSStart   找到优先级最高的任务 运行  那么 你看看 OSStartHighRdy 里面干了什么
设置异常中断,将OSRunning = 1;
触发PendSV异常, 任务切换


楼主可以参考一下 其他人移植的工程。
 
个人签名处处留心皆学问!
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

5
 
恩恩,谢谢上面两位,复位这个问题是由于我工程里面有部分汇编语言针对K60的,我有一部分没有改过来。现在程序能够运行,但是会跑到MPU的中断里面,现在我还在查找原因。
再次感谢上面两位。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
非常好的资源,移植方法可以借鉴。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表