UCOS-II中数据类型移植

在OS_CPU.H文件中,定义了UCOS系统使用的数据类型,在ARM中移植时

typedef unsigned char BOOLEAN;

typedef unsigned char INT8U;

typedef signed char INT8S;

typedef unsigned short INT16U;

typedef signed short INT16S;

typedef unsigned int INT32U;

typedef signed int INT32S;

typedef float FP32;

typedef double FP64;

在ARM中unsigned int 是32位,而在51中,unsigned int 是16位。在51中移植如下:

typedef unsigned char BOOLEAN;

typedef unsigned char INT8U;

typedef signed char INT8S;

typedef unsigned int INT16U;

typedef signed int INT16S;

typedef unsigned long INT32U;

typedef signed long INT32S;

typedef float FP32;

typedef double FP64;

其中BOOLEAN、INT8U、INT8S、INT16U、INT16S、INT32U、INT32S、FP32、FP64是UCOS源文件使用的数据类型。unsigned int等是ADS编译器或51编译器使用的数据类型。

UCOS-II书中说,UCOS-II不使用C语言中的short,int,long等数据类型,因为它们与处理器类型有关,隐含不可移植性,代之以移植性强的整型数据。既直观又可移植。意思就是UCOS-II中使用BOOLEAN、INT8U、INT8S、INT16U、INT16S、INT32U、INT32S、FP32、FP64数据类型。移植到不同的处理器时,这些数据类型要根据使用的C编译器重新定义。

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发