嵌入式系统开发概述

TT_123456789 2020-08-17 18:05:11 2962

1.什么是嵌入式?

在已有的硬件平台上移植操作系统。

根据英国电气工程师协会( U.K.Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。

1.1单片机开发与嵌入式开发的区别?

是否有操作系统。

1.2操作系统是什么?

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,控制程序运行,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。

1.3操作系统的作用是什么?为什么要移植操作系统?

(1)引入操作系统后,软件直接和操作系统打交道,这样提高了软件的移植性;

(2)软件开发人员不必非要懂硬件,节约其时间,使其更加专注软件的开发;

(3)操作系统提供了开源软件以及开发库,提高了开发效率;

(4)操作系统提供了丰富的网络协议栈,用于远程控制和智能化;

(5)操作系统提供了多任务机制(进程,线程)。

1.4谈谈你对嵌入式的理解/任何开发都必须移植操作系统吗?优缺点?

(1)传统开发模式在pc机上编写代码,下载到硬件上,实现软件对硬件的控制。

传统开发模式的软件可移植性差,并且软件开发人员必须要懂硬件。

(2)而嵌入式在软件和硬件之间引入操作系统,提高了软件的移植性;

软件开发人员也不必懂硬件,节约其时间,使其更加专注软件的开发;

同时操作系统提供了开源软件以及开发库,提高了开发效率;

操作系统提供了丰富的网络协议栈,用于远程控制和智能化;操作系统提供了多任务机制(进程,线程)。

2.嵌入式系统的组成

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成。

嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成;执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

2.1软件子系统与硬件子系统的组成和岗位需求

(1)软件系统(Software Systems)是指由系统软件、支撑软件和应用软件组成的计算机软件系统。如Linux C(C/C++)、android(java)、ios(oc),(java、php、.net脚本)。

应用软件的岗位需求:

  • 精通一门语言
  • 熟悉一款操作软件
  • 掌握数据结构及算法

系统软件的岗位需求:

  • 精通C语言
  • 熟悉汇编语言
  • 理解操作系统的实现
  • 熟悉硬件的工作原理

(2)硬件系统由五大部件组成:主机部分由运算器、控制器、存储器组成,外设部分由输入设备和输出设备组成,其中核心部件是运算器。这种硬件结构也可称为冯·诺依曼结构。

如BSP、驱动、内核、网络协议栈。

2.2嵌入式系统CPU的选择

【CPU主要的性能指标 】

(1) 主频:即CPU的时钟频率(CPU Clock Speed)。一般说来,主频越高,CPU的速度越快。由于内部结构不同,并非所有的时钟频率相同的CPU的性能都一样。

(2) 内存总线速度(Memory-Bus Speed):指CPU与二级(L2)高速缓存和内存之间的通信速度。

(3) 扩展总线速度(Expansion-Bus Speed):指安装在微机系统上的局部总线如VESA或PCI总线接口卡的工作速度。

(4) 地址总线宽度:决定了CPU可以访问的物理地址空间,对于486以上的微机系统,地址线的宽度为32位,最多可以直接访问4096 MB的物理空间。

(5) 数据总线宽度:决定了CPU与二级高速缓存、内存以及输入/输出设备之间一次数据传输的信息量。

(6) 超标量:是指在一个时钟周期内CPU可以执行一条以上的指令。Pentium级以上CPU均具有超标量结构;而486以下的CPU属于低标量结构,即在这类CPU内执行一条指令至少需要一个或一个以上的时钟周期。

(7) L1高速缓存:即一级高速缓存,对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。

(8) 采用回写(Write Back)结构的高速缓存它对读和写操作均有效,速度较快。而采用写通(Write-through)结构的高速缓存,仅对读操作有效。

2.3嵌入式操作系统的选择?实时性的划分?

嵌入式操作系统的划分:

1.按收费模式划分

(1) 商用型:Vxworks , Nucleux , PlamOS , Symbian , WinCE , QNX , pSOS , VRTX, LynxOS , Hopen , Delta OS

(2) 免费型:Linux, μCLinux, μC/OS-Ⅱ,eCos,uITRON

2.按实时性划分

(1) 硬实时:Vxworks

(2) 软实时:WinCE,RTLinux

(3) 无实时:Embedded Linux

嵌入式操作系统的选择:

1.能满足大多数项目需求的uC/OS-II :

uC/OS-II最大的应用价值是简洁与实用,当一个系统选用uC/OS-II时,最多只需要2M的NOR Flash,2M的SDRAM或最多8M的SDRAM,因此整个系统的成本是最低的。

uC/OS-II能满足很多项目的需求,而µC/OS-III其新的一些特性是:抢占式多任务,在同一优先级支持任务的轮询调度,没有任务数的限制,内核提供丰富的服务:信号量、互斥信号灯、完全支持优先级继承、事件标志、消息队列、定时器、固定大小的内存块管理,以及内置性能测量。

如果将它移植到ARM9,会发现它的启动速度是最快的,甚至只需要1秒的时间。当开发基于GUI的产品时,您会发现最终的效果可以与其它的操作系统媲美。很多人不知道如何将uC/OS-II移植到ARM9,其实只要支持MMU即可。

虽然它能够满足很多产品对CF卡、SD卡、TCP/IP以太网、CAN-bus/CANopen/DeviceNet/J1939现场总线、GUI图形用户界面、RS232、RS485等多方面的需求,但它还是有一定的局限性。如果需要支持Wi-Fi等更多的软件时,那就非常麻烦了。

  1. 资源丰富、继承性最好的WinCE

    如果一次购买超过3000个授权,价格还是很便宜的,这是很多用户都能够承受的。由于WinCE与Windows一脉相承的关系,且使用同样的开发工具,那么对于熟练掌握Windows编程的软件开发人员来说也就非常方便了,所以很多客户还是选择WinCE。如果项目中还需要用到GUI的话,那么WinCE可以说是最佳的选择了,这是WinCE最明显的优势之一。

    如果无论开发什么产品都选择WinCE的话,肯定是不划算的。比如选用uC/OS-II就可以实现的项目,如果因为开发人员的喜好而选用WinCE,至少需要2片32M的SDRAM,1片32M的NOR Flash或一片2M的NOR Flash+128M的NAND Flash(因为容量少的工业级NAND Flash越来越难购买),可想而知其硬件成本还是非常之高的。

  2. 高贵、实时、稳定的Vxworks

    Vxworks最大的应用价值是实时性和稳定性,其血统高贵,由于系统使用了Vxworks,用户对产品的信任度立即凸显。如果一次性购买的授权数量适当大一些,其价格是很多企业都能够接受的,最终您一定会惊讶得不可思议,在计算成本时甚至可以忽略不计。

您可以得到所有丰富的源代码,并使用于任何CPU微处理器。如果您只选用某一系列处理器或不需要升级源代码,那么以后每年的费用则是可以节省的,只要支付每个产品的授权费用即可。如果您不需要源代码,那么所要支付的年费将会更加便宜。

  1. 开源、自由的嵌入式Linux

    嵌入式Linux最大的应用价值是开源,如果需要支持Wi-Fi的话,那么嵌入式Linux是很好的选择之一,搭配QT开发GUI人机界面也是非常不错的。但很多人选择嵌入式Linux的出发点是免费,这是绝对错误的,因为很多企业长期采取放羊式的产品开发方法,即便一些企业实施了项目管理,但对于成本核算还是缺乏参照物,几乎没有购买商业化操作系统开发产品的经验,从而忽略了开发人员的高工资开支。

    嵌入式Linux的内核是比较稳定的,而相对Vxowork、WinCE来说却是最贵的。但为什么还是要推荐选用嵌入式Linux呢?首先Linux是支持新微处理器、新驱动软件和新协议软件最多、速度最快的平台。由于其最大的好处就是开源,所以我们可以根据需要而任意裁剪,即便某些驱动不稳定,但因为有源代码我们也可以任意修改,所以嵌入式Linux最大的应用价值不是免费。随着Linux技术与时俱进式的发展,Linux技术将会越来越完善,因为Linux存在的价值,将时刻提醒垄断性商业化软件回归大众化的价格,市场势必呈现按需配置的多元化用户自由选择的新时代。

  2. 开源软件

    刚起步的一些网站、企业或个人由于对价格的敏感往往选择免费的开源软件,这些软件的性能正变得越来越好。然而大公司更注重将锋线降到最低点,因而他们愿意选用收费的微软软件或者红帽子等公司Linux系统提供商的服务。公司知道,他们向软件公司开出了一张支票,就同时得到了一份合约,有了这份合约,这些公司就会得到“高水准服务的保证”。也就是说,如果软件出了故障,那么您就可以拨打某个维修电话了。

2.4嵌入式系统的应用行业

1.军事国防

2.工业控制:工控设备、智能仪表、汽车电子

3.消费电子:信息家电、智能玩具、通信设备、移动存贮

4.网络设备

5.电子商务

原文链接:点击这里

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
TT_123456789
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区