嵌入式如何选择操作系统(以瑞芯微为例)

有同学纠结于各种嵌入式操作系统如何选择,不知道哪个操作系统合适,我们简单分析下目前主流的支持ARM的操作系统:

1. Android

优点
UI开发非常简单,API丰富,接口通用,除了RKNN、RGA特殊的加速单元以外,其他所有的加速单元均可以通过android自带的API操作。兼容性稳定性都最佳。
缺点
自身占用了较多的系统资源(例如GPU、RGA),并且编译链(android-gcc)的libc(bionic)特殊,移植一些第三方开源库难度较大。不支持python。
建议
如果产品需要UI界面,强烈推荐使用Android作为基础平台,开发周期短,可移植性高。

2. Fedora

优点
桌面操作系统,大部分人很熟悉,容易上手。源丰富,开源库可以rpm直接安装,不需要重新移植。也支持python。
缺点
官方对ARM支持并不友好,对硬件平台几乎0优化,全部跑在CPU上(PC上也如此)。不适合做产品。UI开发非常麻烦,linux并没有统一的UI框架可用。不要想指望qt,qt的代码量不亚于一整个安卓系统,并且RK对QT是没有官方支持的。
建议
如果只是科研学习,用fedora最好,但是不要指望fedora能优化到什么极限,并且python效率其实很低下,发挥不出平台优势。

3. Centos

优点
最大优点就是稳定,无UI界面,系统资源最大程度的留给了你的应用。也可以rpm直接安装第三方库,支持python开发。
缺点
因为他为了保持稳定,所以系统基础库版本是很低的,例如libc目前还停留在gcc4.8时代,所以如果需要用到c++14新特性,都必须用自己的libc库。
建议
作无UI界面的产品非常合适,稳定性高,资源占用低,APP可以利用到3399Pro的全部资源。作为Arm服务器产品也非常合适。

4. Ubuntu

优点
开发者多,官方支持丰富。优点同Fedora。
缺点
同Fedora所有缺点。并且还多一个缺点,Ubuntu并不是免费的,如果你要做产品,是需要Ubuntu官方授权的,需要注册和缴纳Ubuntu core的费用。
建议
自己科研学习玩玩可以,不建议做产品使用。

5. Debian

优点
Ubuntu的前身,社区版操作系统,无版权,操作命令以及包管理几乎和Ubuntu无异。
缺点
同Fedora所有缺点。
建议
和Feodra相同,熟悉redhat的人可以选择Fedora,熟悉Ubuntu的人可以选择Debian。

6. buildroot

优点
自己组合想要的组件,灵活,可自己组装UI平台。资源占用最少,nand空间可以最大程度交给app使用。
缺点
不适合新手,UI开发也极其复杂。
建议
如果你的产品nand空间非常有限,可以考虑使用buildroot自己建立Linux系统。否则不建议用这个。

7. 其他发行版Linux系统

其他就不介绍了,看大家自己熟悉程度选择,也要看官方是否有arm的发行版系统。如果能下到arm/aarch64版的rootfs,就可以直接烧入3399Pro运行。
当然桌面版Linux最大问题就是都CPU渲染,对ARM GPU支持都很差,所以很多人会感觉拖动卡顿、闪屏等问题,都很正常。
Linux其实都大同小异,优缺点很类似,并无太大区别。当然如果要是找到一个官方支持ARM和Mali GPU非常好的发行版Linux,记得告诉我们哦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值