在实际使用uC/OS系统中,有些51单片机的内核为了减少程序空间的大小,会对内核进行裁剪。
假如系统中某个函数已被裁剪,再去调用该函数,编译时候会提示错误:“error C267: requires ANSI-style prototype”。这是由于使用该函数之前没有声明而导致的错误。
裁剪主要通过配置os_cfg.h来实现。
根据该文件的注释,把需要用到的函数在宏定义配置为1或者其他
下面的例子是配置消息邮箱的部分函数
#define OS_MBOX_EN 1 /* Enable (1) or Disable (0) code generation for MAILBOXES */
#define OS_MBOX_ACCEPT_EN 1 /* Include code for OSMboxAccept() */
#define OS_MBOX_DEL_EN 0 /* Include code for OSMboxDel() */
#define OS_MBOX_POST_EN 1 /* Include code for OSMboxPost() */
#define OS_MBOX_POST_OPT_EN 0 /* Include code for OSMboxPostOpt() */
#define OS_MBOX_QUERY_EN 0 /* Include code for OSMboxQuery()