标签: microc

任务的堆栈是什么,它的用途是什么?- uC/OS-II

所以我正在阅读 MicroC/OS-II 的书,但在任务堆栈部分我找不到堆栈是什么,最重要的是 - 它用于什么。我知道这不是一件漫长而困难的事情,但我有点必须理解它。这本书只讲了如何设置堆栈大小和其他一些类似的东西。那么,有人可以用简短的语言向我解释 uC/OS-II 中的任务堆栈是什么以及它的用途是什么?

embedded stack ucos microc

2
推荐指数
1
解决办法
5231
查看次数

错误#29 需要一个表达式

以下二维数组代码抛出错误 #29 期望表达式。

typedef  enum 
{
    BATTERY_POW = 0,
    USB_POW = 1,
    END_STATE = 2
} BMTState_e;   

typedef enum //event enums
{  
    NO_EVENT = 0,
    BOOT_EVENT =1,
    //I/O events
    POW_GOOD_LOW =2,
    POW_GOOD_HIGH = 3,
    VBUS_POW_LOW = 4,
    VBUS_POW_HIGH =5
}BMTEvent_e;
Run Code Online (Sandbox Code Playgroud)

该结构定义为

typedef struct  //state machine definition
{
    void (*funcPtr)();
    BMTState_e nextState;
}BMTAction_t;
BMTState_e BMTGlobal_State ; //global state
Run Code Online (Sandbox Code Playgroud)

该函数定义为

void BMTTest()
{
 //do nothing for time being
}
BMTAction_t  action[END_STATE][END_EVENT]={
   [BATTERY_POW][NO_EVENT]    = {BMTTest,BATTERY_POW}
   [BATTERY_POW][BOOT_EVENT]    = {BMTTest,BATTERY_POW},
   [BATTERY_POW][POW_GOOD_LOW]  = {BMTTest,USB_POW},
   [BATTERY_POW][POW_GOOD_HIGH] = …
Run Code Online (Sandbox Code Playgroud)

c greenhills microc

2
推荐指数
1
解决办法
3068
查看次数

保持最后期限的系统测试是什么?

阅读关于RTOS,"硬"RTOS的特点是它可以确定性地保持最后期限,但我们如何测试或证明系统实际满足要求?

MicroC/OS II RTOS的特点是硬RTOS,但我如何验证该声明?如果我的FPGA有一些C代码和ISR可以运行C程序并在具有类似于RTOS的信号量的线程之间进行上下文切换,那么我怎么知道OS/RTOS是"硬"还是"软"RTOS?

它可以依赖于应用程序,并且必须有一个定时器,因此使用内置硬件定时器(例如Altera DE2具有50 Mhz振荡器),首选硬件中断,然后我们只测试线程和进程是否可以根据截止日期,然后我们检查是否符合截止日期?

或者,为了区分操作系统,实时操作系统以及硬件和软件RTOS,必须包含哪些内容?

是否有一些"典型测试",对"硬RTOS"标签有典型要求?

c rtos deadlines microc nios

1
推荐指数
1
解决办法
136
查看次数

标签 统计

microc ×3

c ×2

deadlines ×1

embedded ×1

greenhills ×1

nios ×1

rtos ×1

stack ×1

ucos ×1