在移植uc_os2到一款MCU上时,遇到这个本以为不该是问题的问题,在移植的文件0s_cpu.h中,要定义OS_STK这个数据类型,根据邵贝贝博士书上所译,为处理器的堆栈位数,我现在所用的MCU为8位机,但其内部RAM的大小为1K,它的SP为一个16位的寄存器,那么我设置这个OS_STK应该为unsigned char 还是unsinged int呢?我现在手上有个实例,定义的是unsigned char,但我觉得奇怪的是由OS_STK定义的OS_TCB->OSTCBStkPtr要始终指向当前任务的栈顶,如果我定义OS_STK为unsigned char,这个指针又如何能指向超过256以后的栈呢?突然短路了...望哪位DX指点迷津 |