原创 UCOS-II中数据类型移植

2010-8-19 14:45 2527 4 4 分类: MCU/ 嵌入式
在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 in等是ADS编译器或51编译器使用的数据类型。

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

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /6 下一条