打印
[麦麦茶水间]

uCLinux和Linux

[复制链接]
1232|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
uCLinux和Linux虽然在名字上有一些类似,但实际上,区别是很大的。
硬件层
linux在嵌入式中的使用,几乎都是运行在arm的MPU上,需要有MPU+DDR+Flash(TF,eMMC,NAND...),而大部分的MPU都是BGA封装的,在硬件上的设计、生产成本相对于MCU那种LQFP或是QFN封装的芯片就要高不少,而且DDR与Flash都是必不可少的,总体成本也就更高了。



uCLinux是micro-Control linux的缩写,是针对单片机(MCU)的“linux”系统。最小情况下,只用一片MCU就可以了。成本要低很多。
而为什么是这样的硬件架构,是由于Linux的运行需要有内存管理单元(MMU )而决定的。MMU用于虚拟内存管理,来提高内存的使用效率,在一定程度上也会增强系统的稳定性。
MMU是这两个系统最基本的不同点,uclinux在单片机上运行时,直接访问物理内存地址,所有的进程都是使用的这一块物理地址,这样,如果程序中调用了一个无效的指针,将导致整个系统的崩溃。

软件层
一、功能
uCLinux相对于完整的Linux系统,也会少很多函数,比如brk()函数,所以,只能mmap()来进行内存分配。
但相对于RTOS来说,其开发复杂度也比较高,uCLinux的开发流程是与Linux类似的,需要有bootloader,比如常使用的u-boot,而且uclinux的编译配置也要比RTOS要复杂,不如RTOS的工程简洁方便。
uCLinux的调度与Linux是一样的,是非抢占的,这就决定的其实时性的不足。
二、资源
uCLinux占用的资源是比较大的,相对于裸机或是RTOS,都占用更多的RAM与ROM,这就导致项目使用的MCU的性能不能太低,资源不能太少,这样硬件成本就会高。
系统本身占用更多的资源,那应用程序就占用比较少,而且实时性也不够了。
三、移植
移植的难易程序上,uclinux目前也没有优势,比如FreeRTOS的移植,可以直接使用ST的CubeMX生成可用的工程,直接编译运行,而uclinux则不行,需要u-boot来引导内核启动,而且要分析RAM的使用情况,大多数还要外扩一片SRAM才能运行起来。这还只是移植了个内核,再写应用程序时,还可能有各种问题。

综上,uCLinux目前的处境是很尴尬的,尤其是目前国产的RTOS系统的崛起,如RT-Thread ,djyos,Huawei LiteOS ,Alios Things等等,在功能上,特性上都要比uCLinux更适合MCU上的应用。

使用特权

评论回复
沙发
田舍郎| | 2023-9-16 23:37 | 只看该作者
最近几年ucl不算火了

使用特权

评论回复
板凳
幸福小强| | 2023-9-17 14:40 | 只看该作者
感觉好多都没落了,以前Linux品种 特别多。

使用特权

评论回复
地板
tpgf| | 2023-10-13 08:34 | 只看该作者
在uClinux这个英文单词中u表示Micro,小的意思,C表示Control,控制的意思, 所以uClinux就是Micro-Control-Linux,字面上的理解就是"针对微控制领域而设计的Linux系统"。

使用特权

评论回复
5
木木guainv| | 2023-10-13 09:23 | 只看该作者
uClinux是针对控制领域的嵌入式linux操作系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存管理单元(MMU)的微处理器/微控制器。没有MMU支持是 uClinux与主流Linux的基本差异。

使用特权

评论回复
6
晓伍| | 2023-10-13 09:41 | 只看该作者
uCLinux系统对于内存的访问是直接的,所 有程序中访问的地址都是实际的物理地址

使用特权

评论回复
7
观海| | 2023-10-13 22:40 | 只看该作者
uClinux 既没有自动生长的堆栈,也没有brk()函数,这样,用户空间的程序必须使用mmap() 命令来分配内存

使用特权

评论回复
8
八层楼| | 2023-10-13 23:13 | 只看该作者
对于普通的Linux来说,需要运行不同的用户程序,如果没有内存保护将大大降低系统的安全性和可*性;然而对于嵌入式uClinux系统而言,由 于所运行的程序往往是在出厂前已经固化的,不存在危害系统安全的程序侵入的隐患,因此只要应用程序经过较完整的测试,出现问题的概率就可以控制在有限的范 围内

使用特权

评论回复
9
磨砂| | 2023-10-13 23:45 | 只看该作者
对uCLinux 来说,其设计针对没有MMU的处理器,不能使用处理器的虚拟内存管理技术

使用特权

评论回复
10
forgot| | 2023-10-16 13:44 | 只看该作者
uCLinux目前的处境是很尴尬的,尤其是目前国产的RTOS系统的崛起,如RT-Thread ,djyos,Huawei LiteOS ,Alios Things等等,在功能上,特性上都要比uCLinux更适合MCU上的应用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

131

主题

1336

帖子

12

粉丝