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 in等是ADS编译器或51编译器使用的数据类型。

UCOS-II书中说,UCOS-II不使用C语言中的short,int,long等数据类型,因为它们与处理器类型有关,隐含不可移植性,代之以移植性强的整型数据。既直观又可移植。意思就是UCOS-II中使用BOOLEAN、INT8U、INT8S、INT16U、INT16S、INT32U、INT32S、FP32、FP64数据类型。移植到不同的处理器时,这些数据类型要根据使用的C编译器重新定义
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PC上移植uCos-II操作系统可以使用VS201作为开发环境进行移植工作。首先,根据uCos-II操作系统的源代码进行配置,包括操作系统内核、任务堆栈、任务控制块等参数的设置。然后,在VS201创建一个新的工程,并添加uCos-II的源代码文件和相关文件。 接下来,需要根据目标平台的硬件特性进行适配。由于PC与嵌入式系统平台的硬件架构存在差异,在移植过程需要对驱动程序进行修改。例如,需要修改时钟驱动、串口驱动等,以适应PC上的硬件设备。 然后,在移植过程需要针对PC平台对任务调度进行修改。PC平台上的多任务调度可以使用线程来实现,因此需要修改任务调度代码,将其转换为多线程的方式实现。此外,可以根据PC的特点,添加一些额外的系统服务,如文件系统、网络协议栈等功能。 在移植完成后,可以通过VS201进行编译和调试。可以使用VS201提供的调试工具,如断点调试、单步执行等功能,帮助定位和解决问题。 最后,需要对移植完成的uCos-II操作系统进行测试。可以编写一些测试程序,验证uCos-II在PC上的功能和性能。通过测试可以发现和修复潜在的问题,确保移植工作的稳定性和可靠性。 总之,将uCos-II操作系统移植到PC上可以通过VS201进行,需要进行源代码配置、硬件适配、任务调度修改和系统服务添加等工作,并通过编译、调试和测试来验证移植结果的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值