嵌入式系统之ucLinux与uc/os-II的比较

ucLinux VS uc/os

ucLinux

编译后的可执行文件可以控制在几百K量级

uClinux的内核可以在Flash上直接运行:就是把uClinux的内核的可执行映象烧写到flash上,系统启动时从 Flash的某个地址开始逐句执行;也可以加载到内存中运行:把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行。

 

采用了romfs文件系统作为root文件系统:这种文件系统相对于一般的ext2文件系统要求更少的空间,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,建立文件系统superblock需要更少的存储空间。Romfs文件系统不支持动态擦写,对于系统需要动态保存的数据采用RAM盘的方法处理,RAM盘采用ext2文件系统。

 

对硬件要求如下:

1.SDRAM 8M及以上

2.一个简易的串口

3.Flash 2M及以上

4.一个以太网接口(可选)

SRAM 2M以上。

还需要有片外FLASH或者SDRAM

 

创建进程其使用vfork()函数,使用其创建的进程相当于线程,所以其任务基本以线程进行

 

芯片要求:stm32f429及以上

 

uClinux可以使用Rt-linux的patch,从而增强uClinux的实时性,使得uClinux可以应用于工业控制、进程控制等一些实时要求较高的应用

 

uClinux重写了应用程序库,相对于越来越大且越来越全的glibc库,uClibc对libc做了精简

 

可以外扩SDRAM

能支持Compact Flash、SRAM、PSRAM、NOR、 NAND以及现在的SDRAM存储器。

 

MCU可提供从512MB的双块Flash到2MB的双块Flash

 

uClinux:开发者可以使用几乎所有的Linux API函数

它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持

 

进程调度沿用Linux的时间片轮转方式

 

uclinux没有mmu管理存储器,所以对内存的访问是直接的,对于任务数量没有限制

 

uclinux继承了linux网络操作系统的优势,可以很方便的支持网络文件系统且内嵌tcp/ip协议。

 

关于移植

 

uClinux是Linux针对嵌入式系统的一种改良,其结构比较复杂;相对uC/OS,uClinux的移植也复杂得多。

uClinux的移植大致可以分为3个层次。

结构层次的移植:如果待移植处理器的结构不同于任何已经支持的处理器结构,则需要修改linux/arch目录下相关处理器结构的文件。虽然uClinux内核代码的大部分是独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系统的。这主要表现在它们的中断处理上下文、内核映射的维护、任务上下文和初始化过程都是独特的。这些例行程序位于lunux/arch/目录下。由于Linux所支持体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写。

 

平台层次的移植:如果待移植处理器是某种uClinux已支持体系的处理器,则需要在相关体系结构目录下建立相应目录并编写相应代码。

板级移植:如果所用处理器已被uClinux支持,就只需要板级移植了。板级移植包括驱动程序的编写和环境变量设置等内容

大部分开发处于板级移植

 

Uc/os

编译后仅有几十K量级

对于芯片要求低,51也能跑。

实时性操作系统

任务调度方式:剥夺型

最多支持64个任务

uc/os内核是针对实时系统的要求设计实现的,

相对简单,可以满足较高的实时性要求.

没有网络协议,需要自行添加轻量级TCP/IP协议

没有MMU,所以对内存的访问也是直接访问。

Uc/os主要实现了任务管理机制。

系统本身并没有对文件系统的支持,但是具有良好的扩展性能,如果需要的话也可自行加入文件系统的容。

 

关于移植

要移植uC/OS,目标处理器必须满足以下要求:

处理器的C编译器能产生可重入代码,且用C语言就可以打开和关闭中断;

处理器支持中断,并能产生定时中断;

处理器支持足够的RAM(几KB),作为多任务环境下的任务堆栈;

处理器有将堆栈指针和其它CPU寄存器读出和存储到堆栈或内存中的指令。

 

总结

通过对uC/OS和uClinux的比较可以看出,这两种操作系统在应用方面各有优劣。uC/OS占用空间少、执行效率高、实时性能优良,且针对新处理器的移植相对简单。UClinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,uClinux具有对多种文件系统的支持能力、内嵌了TCP/IP协议,可以借鉴Linux丰富的开源资源,对一些复杂的应用,uClinux具有相当优势。操作系统的选择是由嵌入式系统的需求决定的。简单地说就是,小型控制系统可充分利用uC/OS小巧且实时性强的优势;如果开发PDA和互联网连接终端等较和为复杂的系统,则uClinux是不错的选择。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值