UCOSIII
秋天的枫9
电子科技大学研究生一条,机器人方向。对嵌入式系统、工业控制和机电综合感兴趣
展开
-
UCOSiii难疑之——“OS_SAFETY_CRITICAL”
UCOSiii难疑之——“OS_SAFETY_CRITICAL” 在ucosiii内核对象创建时,几乎能在函数内容最前面出现如下代码: #ifdef OS_SAFETY_CRITICAL if (p_err == (OS_ERR *)0) { OS_SAFETY_CRITICAL_EXCEPTION(); return; } #endif 但是OS_SAFETY_CRITICAL和OS_SAFETY_CRITICAL_EXCEPTION()却找不到任何定义。原创 2021-04-28 15:19:23 · 521 阅读 · 1 评论 -
UCOSiii难疑之——“OS_SAFETY_CRITICAL_IEC61508”
标题UCOSiii难疑之——“OS_SAFETY_CRITICAL_IEC61508” 在ucos中多处可见该代码: #ifdef OS_SAFETY_CRITICAL_IEC61508 //program code; #endif 该代码意义为IEC61508的软件规范代码,IEC 61508是由国际电工委员会在2000年5月正式发布的电气和电子部件行业相关标准。是一种国际安全认证标准,这段代码说明ucos是通过了该安全标准的认证的,其中有safeRTOS,QNX等通过了该认证。感兴趣的可以了解下IE原创 2021-04-28 10:36:45 · 487 阅读 · 0 评论 -
UCOSiii难疑之——“p_arg = p_arg;”或“(void)p_arg;”
UCOSiii解疑之——“p_arg = p_arg;”或“(void)p_arg;” 出现原因:防止编译时出现变量定义未使用警告。 1.在ucosii和ucosiii中经常看到,有子函数定义为 void xxxxxxx(void *p_arg) { ...; p_arg=p_arg;//或者为(void)p_arg; ...; ...; } 程序中的“p_arg=p_arg;//或者为(void)p_arg;”,是为了在编译时候,程序不会产生变量定义未使用的warning,比如下面警告语句: *原创 2021-03-25 20:55:52 · 1252 阅读 · 0 评论