玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统-Linux

简介: 玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统


1)概述

玄铁Linux操作系统旨在为玄铁RISC-V处理器生态芯片提供丰富的Linux软件组件。平台提供图形、多媒体、网络等常用1000+基础组件的同时,重点打造了与玄铁处理器紧密结合的核心组件,以及Yocto系统配置、构建和发布体系。

 

一个嵌入式Linux系统一般由4个部分组成:

 

● bootloader:常使用u-boot。芯片首先加载u-boot,然后由u-boot加载并启动Linux kernel。

● kernel:Linux操作系统的核心,它负责硬件的驱动,以及提供系统所需的核心功能,如进程调度、内存管理、文件管理等。

● rootfs:根文件系统包含系统启动时所必须的目录和关键性的文件,以及使其他文件系统得以挂载所必要的文件,如init进程、shell、基础配置文件等。

● Application:Linux有着极其强大的开源生态环境,其应用程序小到一个实用的用具,大到像音频系统、图形系统、web浏览器、数据库编程语言等都能找到对应的开源软件,用好这软件可以极大地加快产品化进程,同时开发者也应积极回馈开源社区,以期建立良性生态的回环。

 

T-Head支持以下两种形式来快速构建Linux发行版:

 

● Buildroot

● Yocto

 

这两种构建方式各有特点,前者比较轻量化,后者可以构建更复杂的系统,并支持安装包管理。

2)特色核心服务

T-Head Linux发行版着重打造有特色的多个核心服务,加快应用开发与产品落地。

 

image.png 

 

特色核心服务1:JS GUI

● 与阿里云IoT共建,JS GUI平台在RISC-V上优化

● 提供丰富的应用生态,包括WiFi服务、音频服务、语音AI服务等

● 基于Yocto的精简的BSP开发包,操作系统镜像以及轻量级系统资源占用,启动加速,硬件加速

● JS GUI,阿里定义的IoT小程序规范,同时支持阿里生态应用框架;支持自动部署和快速简洁的开发应用;基于vue.js,拥有简单的开发调试环境,以及丰富的UI组件

 

image.png 

 

特色核心服务2:图形系统

● 成熟完整,生态丰富,兼容性强  

◦ 追踪Wayland-Linux的最新标准

◦ 实现GTK-Linux生态中完整且成熟方案(+QT)

◦ 运行于支持Display&GPU最新标准和传统图形硬件架构的RISC-V SoC Linux图形栈

◦ 性能强大的3D GPU,支持OpenGLES3.x、Vulkan、OpenCL等主流规范

 

● 扩展性强,易定制化  

◦ 采用Weston,即Wayland的官方参考实现,模块化软件架构,易于二次开发和定制化

◦ 社区对Weston已有的重量级应用生态有良好支持,上层UI框架可以透过Wayland/Weston作为显示窗口平台,而不用框架本身考虑硬件平台移植性和适用性

 

image.png 

 

特色核心服务3:视频视觉

采用业界流行的开源GStreamer方案,将SoC中的硬件加速模块做成gst插件,可以快速完成应用pipeline搭建。

 

● 自研插件包括:thead_camera(视频输入)、thead_infer(AI推理)、thead_fce(特征值搜索引擎)

● 对接标准插件:gst-omx(视频编解码)、kmssink/waylandsink(视频图像输出)

● 海量官方插件:gst base/good/bad/ugly共计1600+个插件 gstreamer插件串接示意图:

 

 

image.png 

 

特色核心服务4:安全子系统

image.png

image.png 

 

特色核心服务5:异构虚拟化(HKV)

KVM受制于Linux内核的复杂性,以及安全认证的难度和成本;因此,在嵌入式高可靠场景中并未普及。KHV-based Heterogeneous Virtualization(基于KVM的异构虚拟化),独立于硬件虚拟化特性(KVM依赖CPU硬件虚拟化),并遵循原则静态分区,本地化hypervisor。

 

此外,KHV继承KVM软件生态,同时满足高可靠嵌入式系统对静态分区和灵活共享的要求。

 

image.png 

 

KHV相比KVM和Type-1 hypervisors(e.g. XEN)更适合要求静态分区的高可靠嵌入式场景。与KVM不同,即使CPU没有硬件虚拟化特性,KHV也能运行,并复用KVM软件生态。


image.png

相关文章
|
运维 Linux 虚拟化
Linux 查看 CPU 使用情况
在 Linux 系统中,查看 CPU 使用情况是性能分析和故障排查的重要环节。查看 CPU 使用情况,使用 top 命令或者 htop 命令来查看。
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
7266 77
|
监控 并行计算 数据处理
构建高效Python应用:并发与异步编程的实战秘籍,IO与CPU密集型任务一网打尽!
在Python编程的征途中,面对日益增长的性能需求,如何构建高效的应用成为了每位开发者必须面对的课题。并发与异步编程作为提升程序性能的两大法宝,在处理IO密集型与CPU密集型任务时展现出了巨大的潜力。今天,我们将深入探讨这些技术的最佳实践,助你打造高效Python应用。
443 0
|
缓存 监控 Linux
在Linux中,如何看当前系统有几颗物理CPU和每颗CPU的核数?
在Linux中,如何看当前系统有几颗物理CPU和每颗CPU的核数?
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
1232 23
|
Ubuntu Linux 应用服务中间件
Linux使用cpulimit对CPU使用率进行限制
cpulimit是一款简单易用的CPU使用率限制工具,支持对特定程序或整个CPU使用率进行限制。可通过源安装(如`yum`或`apt-get`)或编译安装获取。使用时,可针对程序名、进程号或绝对路径设置CPU占用上限(如`cpulimit -e xmrig -l 60 -b`)。ROOT用户可限制所有进程,普通用户仅限于权限范围内进程。注意,CPU百分比基于实际核心数(单核100%,双核200%,依此类推)。
2160 7
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
2108 8
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
4183 23
|
缓存 监控 Linux