查看: 8849|回复: 13

[S12] ucos2.52移值到MC9S12G128问题?

[复制链接]

该用户从未签到

40

主题

256

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10386
最后登录
2023-4-17
发表于 2011-12-16 13:00:19 | 显示全部楼层 |阅读模式
经过大家帮助,编译都通过了。但是调试运行后,发现
OS没有运行,在创建任务时,OSRuning=0;不知道这是
什么原因造成的,请指点!
我知道答案 目前已有12人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-16 15:48:13 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    我看了一下,你的工程里面没有OS_CPU.S这个文件,我已经上传UCOSII2.86的XEP100例程,你参考一下。
    https://www.nxpic.org.cn/bbs/article_265_192229.html
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    256

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    10386
    最后登录
    2023-4-17
     楼主| 发表于 2011-12-17 09:02:12 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    谢谢师兄指点
    我在查阅资料后发现要在.prm里做一此修改。
    但是修改后,连接时报错!
    ENTRIES /* keep the following unreferenced variables */
        /* OSEK: always allocate the vector table and all dependent objects */
      //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart
      TaskStart
    END
    //VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */
    //VECTOR 0 Entry  /* reset vector: this is the default entry point for an Assembly application. */
    //INIT Entry      /* for assembly applications: that this is as well the initialization entry point */
    VECTOR ADDRESS 0xEFFE _Startup
    VECTOR ADDRESS 0xFFF0 OSTickISR
    VECTOR ADDRESS 0xFFF6 OSCtxSw
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    256

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    10386
    最后登录
    2023-4-17
     楼主| 发表于 2011-12-17 09:08:03 | 显示全部楼层

    回复:ucos2.52移值到MC9S12G128问题?

    报错的图片与程序!
    a.JPG

    OS2.52.rar

    771.52 KB, 下载次数: 24

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-17 09:55:43 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    你添加的那几句代码就和我上次告诉你添加代码的意思一样。是将中断向量列出来,你这里根本的原因是UCOS不能启动,因为你缺少OS_CPU.S这个文件。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    256

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    10386
    最后登录
    2023-4-17
     楼主| 发表于 2011-12-17 12:58:09 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    OS_CPU.S已经整全到OS_CPU_C.C文件里了!
    没有汇编文件了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-17 14:35:37 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    这是由于进不了任务中断而引起的,一直在往任务中断里面跳,但是找不到地址,所以跳到了别的地方。os_cpu_a.s这个文件就是引导跳转向量的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    256

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    10386
    最后登录
    2023-4-17
     楼主| 发表于 2011-12-17 15:00:25 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    正解!
    但不是os_cpu_a.s确时是被OS_CPU_C.C包含!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    256

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    10386
    最后登录
    2023-4-17
     楼主| 发表于 2011-12-17 15:11:47 | 显示全部楼层

    回复:ucos2.52移值到MC9S12G128问题?

    我查了相关的资料,其中一个网友写了一个文档。
    运行程序OS可以运行, OSRuning == 1,但是每一次中断都会跳到__interrupt void UnimplementedISR(void)这地方。
    请师兄们指点。。。。。。。 
    内容如下:
    extern void near OSTickISR(void);  //适时时钟中断
    extern void near OSCtxSw(void);    //软件中断,用于任务切换

    #pragma CODE_SEG __NEAR_SEG NON_BANKED /* Interrupt section for this module. Placement will be in NON_BANKED area. */
    __interrupt void UnimplementedISR(void)  //所有保留中断的服务程序入口
    {
       /* 未定义中断服务程序.*/
       asm nop;
    }
    typedef void (*near tIsrFunc)(void);
    const tIsrFunc _vect[] @0xFF80 = {     /* 中断向量表 */
            UnimplementedISR,                    //0xFF80 系统保留中断
            UnimplementedISR,                    //0xFF82 系统保留中断
            UnimplementedISR,                    //0xFF84 系统保留中断
            UnimplementedISR,                    //0xFF86 系统保留中断
            UnimplementedISR,                    //0xFF88 系统保留中断
            UnimplementedISR,                    //0xFF8A 系统保留中断
            UnimplementedISR,                    //0xFF8C PWM紧急关闭,PWM Emergency Shutdown
            UnimplementedISR,                    //0xFF8E 端口P中断,Port P Interrupt
            UnimplementedISR,                    //0xFF90 CAN4发送,CAN4 transmit
            UnimplementedISR,                    //0xFF92 CAN4接收,CAN4 receive
            UnimplementedISR,                    //0xFF94 CAN4错误,CAN4 error
            UnimplementedISR,                    //0xFF96 CAN4唤醒,CAN4 wake-up
            UnimplementedISR,                    //0xFF98 CAN3发送,CAN3 transmit
            UnimplementedISR,                    //0xFF9A CAN3接收,CAN3 receive
            UnimplementedISR,                    //0xFF9C CAN3错误,CAN3 error
            UnimplementedISR,                    //0xFF9E CAN3唤醒,CAN3 wake-up
            UnimplementedISR,                    //0xFFA0 CAN2发送,CAN2 transmit
            UnimplementedISR,                    //0xFFA2 CAN2接收,CAN2 receive
            UnimplementedISR,                    //0xFFA4 CAN2错误,CAN2 error
            UnimplementedISR,                    //0xFFA6 CAN2唤醒,CAN2 wake-up
            UnimplementedISR,                    //0xFFA8 CAN1发送,CAN1 transmit
            UnimplementedISR,                    //0xFFAA CAN1接收,CAN1 receive
            UnimplementedISR,                    //0xFFAC CAN1错误,CAN1 error
            UnimplementedISR,                    //0xFFAE CNA1唤醒,CAN1 wake-up
            UnimplementedISR,                    //0xFFB0 CAN0发送中断,CAN0 transmit
            UnimplementedISR,                    //0xFFB2 CAN0接收中断,CAN0 receive
            UnimplementedISR,                    //0xFFB4 CAN0错误,CAN0 errors
            UnimplementedISR,                    //0xFFB6 CAN0唤醒, CAN0 wake-up
            UnimplementedISR,                    //0xFFB8 Flash
            UnimplementedISR,                    //0xFFBA EEPROM
            UnimplementedISR,                    //0xFFBC SPI2总线
            UnimplementedISR,                    //0xFFBE SPI1总线,
            UnimplementedISR,                    //0xFFC0 IIC0总线中断,IIC0 Bus
            UnimplementedISR,                    //0xFFC2 Vbdlc
            UnimplementedISR,                    //0xFFC4 CRG Self Clock Mode
            UnimplementedISR,                    //0xFFC6 CRG PLL lock, Vector Base + $c6
            UnimplementedISR,                    //0xFFC8 脉冲累加器B溢出,Pulse Accumulator B Overflow
            UnimplementedISR,                    //0xFFCA Modulus Down Counter underflow
            UnimplementedISR,                    //0xFFCC PORTH
            UnimplementedISR,                    //0xFFCE PORT J
            UnimplementedISR,                    //0xFFD0 ADT1中断
            UnimplementedISR,                    //0xFFD2 ATD0中断
            UnimplementedISR,                    //0xFFD4 SCI1中断
            UnimplementedISR,                    //0xFFD6 SCI0中断
            UnimplementedISR,                    //0xFFD8 SPI0中断
            UnimplementedISR,                    //0xFFDA 脉冲累加器输入沿,Pulse accumulator input edge
            UnimplementedISR,                    //0xFFDC 脉冲累加器A溢出,Pulse accumulator A overflow
            UnimplementedISR,                    //0xFFDE 增强型输入捕捉定时器溢出中断
            UnimplementedISR,                    //0xFFE0 增强型输入捕捉定时器通道7,Enhanced Capture Timer channel 7
            UnimplementedISR,                    //0xFFE2 增强型输入捕捉定时器通道6,Enhanced Capture Timer channel 6
            UnimplementedISR,                    //0xFFE4 增强型输入捕捉定时器通道5,Enhanced Capture Timer channel 5
            UnimplementedISR,                    //0xFFE6 增强型输入捕捉定时器通道4,Enhanced Capture Timer channel 4
            UnimplementedISR,                    //0xFFE8 增强型输入捕捉定时器通道3,Enhanced Capture Timer channel 3
            UnimplementedISR,                    //0xFFEA 增强型输入捕捉定时器通道2,Enhanced Capture Timer channel 2
            UnimplementedISR,                    //0xFFEC 增强型输入捕捉定时器通道1,Enhanced Capture Timer channel 1
            UnimplementedISR,                    //0xFFEE 增强型输入捕捉定时器通道0,Enhanced Capture Timer channel 0
            OSTickISR,                           //0xFFF0 实时中断,Real Time
            UnimplementedISR,                    //0xFFF2 外部中断,IRQ
            UnimplementedISR,                    //0xFFF4 外部非屏蔽中断,XIRQ
            OSCtxSw,                             //0xFFF6 软中断中断,SWI
            UnimplementedISR,                    //0xFFF8 非法指令中断
            UnimplementedISR,                    //0xFFFA 看门狗中断,COP
            UnimplementedISR,                    //0xFFFC 时钟监控中断,Clock Monitor
       };

    Interrupt和OS_CPU_C.rar

    4.46 KB, 下载次数: 11

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-19 08:45:57 | 显示全部楼层

    RE:ucos2.52移值到MC9S12G128问题?

    我这没有问题,你看一下128的中断向量的第一个地址是多少,然后把const tIsrFunc _vect[] @0xFF80 的@后面的地址改成中断向量的起始地址。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-13 00:35 , Processed in 0.107393 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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