说明

Linux IVI软件由个人开发,拥有自主知识产权。即可作为量产IVI产品用也可用于linux嵌入式开发项目学习用。

后续会对各个模块进行技术说明,开放部分资料和代码下载,寻求合作、培训和转让,欢迎私信,微信号:tang_yingcai沟通。


简介

  • 软件基于Linux系统实现车载中控娱乐系统IVI的基本功能,包括Home、Radio、Media、Bt、Setting、Wifi、Camera和Upgrade等功能。
  • 软件应用于车载娱乐系统IVI,软件已经实现IVI基本功能,后续添加手机互联模块后能满足量产IVI大部分功能。
  • 软件已经既能在X86 Linux下模拟运行调试,也能在基于Linux的Arm车机中运行全部功能。
  • 以此软件为基础可以衍生出QNX IVI或Android IVI等产品。

软件架构

Linux IVI软件层

分层软件架构。四层紧密联系在一起,但又互相独立,每一层内部的变化不影响其他层。每一层都对外提供接口供上面一层调用。软件实现层次化模块化,方便维护和升级,耦合性低重用性高。

  • HMI层:用户操作界面
  • Control层:负责管理HMI和Service的交互控制
  • Service层:实现数据和业务处理,提供Control接口
  • HAL层:提供给Service通用的硬件接口

Linux IVI软件层 - HAL

  • HAL实现对硬件抽象化。硬件抽象化可以隐藏特定平台的硬件接口细节,为上面一层提供固定统一的接口,使其具有硬件无关性。
  • HAL层模块以库的形式提供,对Service提供通用固定接口。使其硬件变更只需改写相应HAL模块,不影响其他代码变更。

    Linux IVI软件层 - Service

  • Service层实现具体的业务功能,每个业务模块都作为一个进程运行,进程间通过GDBus通信
  • Service每个模块的通信接口以库形式提供,便于其他程序使用
  • 只依赖少量必要的开源库,便于在Linux、QNX和Android平台移植
  • 模块内部结构和对外接口清晰简洁,运行资源占用少

Linux IVI软件层 - Control

  • Control层模块以库的形式提供,对上给HMI提供接口,对下调用service接口
  • Conrol层只需修改HMI接口部分代码即可适用不同HMI,便于切换不同HMI

Linux IVI软件层 - HMI

  • HMI使用Qt(qml)显示和逻辑处理
  • 使用最基本的Qt组件(QtCore、Qt5Qml、Qt5Widgets和Qt5Quick),不使用多余的Qt插件和控件
  • 使用自定义基本控件库(Button、Label、ListView等),方便和简化HMI开发
  • 所有HMI页面管理通过windowsManager来管理

软件特点

  • 跨平台性

使用CMake构建软件,使用开源软件具有平台无关性,无需修改代码可编译出Linux X86、Linux ARM、Android和QNX平台软件。

  • 可复用性

系统架构采用分层架构设计,每个业务模块都在service中实现,每个service都可以复用。HMI层只负责显示,因此工作量只是在根据客户需求修改HMI。

  • 可扩展性

如果需要扩展模块功能只需在原有接口中添加扩展即可,不修改其他模块。如果需要添加模块,只需增加对应的service和HMI即可,对其他模块无任何影响系统支持其他工具进行HMI开发,只需修改相应的HMI层代码,其他代码不变。

Linux IVI软件简介相关推荐

  1. 资料收集新一代 Linux 文件系统 btrfs 简介

    来自: http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext ...

  2. 面向dba的linux shell 脚本简介,面向 DBA 的 Linux Shell 脚本简介

    DBA:Linux 面向 DBA 的 Linux Shell 脚本简介 作者:CasimirSaternos 学习一些在 Linux 上安装.运行和维护 Oracle 数据库所需的基本 bash sh ...

  3. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  4. Debussy软件简介及仿真教程

    ** Debussy软件简介及仿真教程 ** 一.Debussy 软件简介 Debussy 是 NOVAS Software, Inc(思源科技)开发的 HDL Debug & Analysi ...

  5. Linux安全原理简介

    Linux安全原理简介 介绍 在设置Linux计算机的所有阶段,安全性应是首要考虑之一.要在计算机上实施良好的安全策略,需要对Linux的基础知识以及所使用的某些应用程序和协议有充分的了解. Linu ...

  6. Linux查看软件安装和系统信息操作

    Linux中查看程序安装位置 如果是rpm的安装,用rpm -ql 如果是一般安装 用 whereis 或者 find find /usr -name catalina.out ======== 如何 ...

  7. Linux防火墙入门:简介(转)

    Linux防火墙入门:简介(转) 前言 一旦连上网络,就充满各种危机. 许多人基于各式各样的理由,想侵入你的系统,这种人俗称为 cracker.尤有甚者,近年来,cracker 圈里流行一种结合病毒行 ...

  8. Linux常用命令简介

    su  su命令是最基本的命令之一,常用于不同用户间切换.例如,如果登录为 user1,要切换为user2,只要用如下命令:  $su user2  然后系统提示输入user2口令,输入正确的口令之后 ...

  9. Linux下软件逆向工程的介绍(一)

    2019独角兽企业重金招聘Python工程师标准>>> 这篇文章在网上无意中发现的,翻译一下,留作纪念. 文章原网址为:http://www.ouah.org/RevEng/t1.h ...

最新文章

  1. 【树莓派】更新系统镜像下载地址,可能是最简单粗暴的树莓派搭建个人网站教程...
  2. Ello讲述Haar人脸检测:易懂、很详细、值得 ...
  3. 分布式系统以及CAP原理
  4. React 第十章 状态提升
  5. LINUX 循环fork()
  6. Spring MVC学习笔记——SiteMesh的使用(转)
  7. python go rpc_Python RPC 之 gRPC
  8. 教你以一秒钟10万+个密码的速度破解WiFi
  9. java中国象棋棋子走法,《中国象棋对弈》象棋规则 棋子的走法
  10. 计算机科技兴趣小组活动总结,科技兴趣小组的活动总结
  11. Python多进程读图提取特征存npy
  12. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取
  13. python模拟股票查询
  14. 未接响铃1秒是什么意思_90后秒选族是什么意思?90后秒选青年正追求梦想,并立即行动【图】...
  15. 春节程序员六大伤不起
  16. 华为OD机试Golang解题 - 机器人走迷宫
  17. Win10 为共享文件夹设置单独的用户访问权限(简单的局域网网盘)
  18. SpringColud Eureka的服务注册与发现
  19. 拥抱 Java 8 并行流:执行速度飞起 !
  20. 2022四川最新水利水电安全员模拟考试试题及答案

热门文章

  1. 成为一名合格的软件测试工程师,需要具备哪些技能(内附统计表)?
  2. PLSQL使用instantclient64位(无安装ORACLE!亲测)
  3. 连锁不平衡及基因组关联分析(植物相关)
  4. MonkeyRunner之手机屏幕截图的比对
  5. 投资理财-老钟的妹妹
  6. 前世档案 (20 分)
  7. LATEX教程第一讲—— LATEX入门
  8. 解决Bootstrap网页在360安全浏览器兼容模式下无法正常显示问题
  9. 虚拟同步发电机转动惯量和阻尼系数协同自适应控制策略
  10. 微软基于云计算免费杀毒软件Morro曝光