搜索
bottom↓
回复: 6

编译通过的uCOS居然无法运行!! 恳请大侠指点迷津

[复制链接]

出0入0汤圆

发表于 2009-10-14 21:29:15 | 显示全部楼层 |阅读模式

(原文件名:未命名.jpg)


想请教大侠,在下使用BC45调试uCOS-II时出现以上对话框的问题    使编译的程序无法运行  

主程序在二楼   恳请指点

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入663汤圆

发表于 2009-10-14 23:04:42 | 显示全部楼层
在一个OS中直接跑另一个OS?

出0入0汤圆

 楼主| 发表于 2009-10-15 10:28:41 | 显示全部楼层
不是啊    只是在uCOS上编个简单的应用程序而言   主程序如下


#include "includes.h"

/*
*********************************************************************************************************
*                                              CONSTANTS
*********************************************************************************************************
*/

#define    TASK_STK_SIZE    512

/*
*********************************************************************************************************
*                                              VARIABLES
*********************************************************************************************************
*/

char*    ss;
OS_STK   MyTaskStk[TASK_STK_SIZE];
OS_STK   YouTaskStk[TASK_STK_SIZE];
INT16S   key;
INT8U    y1 = 0, y2 = 0;
char*    s ="原始数据";

/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

void  MyTask(void * data);
void  YouTask(void * data);

/*$PAGE*/
/*
*********************************************************************************************************
*                                                  MAIN
*********************************************************************************************************
*/

void main (void)
{
         PC_DispClrScr(DISP_FGND_WHITE);

         OSInit();                                              /* Initialize uC/OS-II                      */

         PC_DOSSaveReturn();                                    /* Save environment to return to DOS        */
         PC_VectSet(uCOS, OSCtxSw);                             /* Install uC/OS-II's context switch vector */

         PC_ElapsedInit();

         OSTaskCreate(
                                                MyTask,                    //代码
                                          (void* )0,                  //任务参数
                                          &MyTaskStk[TASK_STK_SIZE-1],//任务堆栈
                                          0);                         //任务优先级

         OSStart();                                             /* Start multitasking                       */
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               STARTUP TASK
*********************************************************************************************************
*/

void  MyTask(void * pdata)
{
                #if  OS_CRITICAL_METHOD == 3
                          OS_CUP_SR  cpu_sr;
                #endif

                INT8U  err;

                          pdata = pdata;
                          OS_ENTER_CRITICAL();
                                  PC_VectSet(0x08, OSTickISR);
                                  PC_SetTickRate(OS_TICKS_PER_SEC);
                          OS_EXIT_CRITICAL();
                          OSStatInit();
                          OSTaskCreate( YouTask,                     //代码
                                                                (void* )0,                    //任务参数
                                                                &MyTaskStk[TASK_STK_SIZE-1],  //任务堆栈
                                                                2);                           //任务优先级
                          for(;;)
                          {
                                        s = "MyTask访问共享数据";
                                        PC_DispStr(5,
                                                                  ++y1,
                                                                  s,
                                                                  DISP_BGND_BLACK+DISP_FGND_WHITE);


                                        OSTimeDly(20);
                          }
}

void  YouTask(void * pdata)
{
    #if  OS_CRITICAL_METHOD == 3
                          OS_CUP_SR  cpu_sr;
         #endif

                 INT8U  err;
                 pdata = pdata;
                  for(;;)
                 {
                                s = "YouTask访问共享数据";
         
                                PC_DispStr(28,++y2,s,DISP_BGND_BLACK+DISP_FGND_WHITE);

                                OSTimeSet(0);
                                while(OSTime<500)
                                {
                                          //sprintf(ss,"%d", OSTimeGet());
                                          PC_DispStr(55,y2,s,DISP_BGND_BLACK+DISP_FGND_WHITE);
                                }

                                OSTimeDly(10);
                 }

}

调试邵贝贝书配套光盘上的ex4也有同样的问题,不知道原因何在?
光盘资料论坛上也有人上传了。感兴趣的同志也可以玩玩的

出0入663汤圆

发表于 2009-10-15 14:32:42 | 显示全部楼层
我是说,你把ucos编译成一个exe文件,然后直接在windows里面运行了?(看你的截图是这个情况)

出0入0汤圆

 楼主| 发表于 2009-10-15 19:58:14 | 显示全部楼层
是啊,这个是在Borland C++4.5平台上调试的,许多书的列子都是在Borland上调试的~~

出0入663汤圆

发表于 2009-10-16 01:37:31 | 显示全部楼层
uCOS-II是操作系统,怎能当普通程序对待呢?
要调试uCOS-II,只能用虚拟机或模拟器,Windows不可能让另一个操作系统在自己上面跑的。

出0入0汤圆

 楼主| 发表于 2009-10-19 21:24:57 | 显示全部楼层
不是吧??  书上都是这么调的   我也是按照书上的做而已   

而且很多列子都通过了调试   就是这个不行啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 18:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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