当前位置:首页 > 嵌入式开发
  • 移动机器人选配功能有何应用价值?

    移动机器人选配功能有何应用价值?

    智能制造,源于人工智能的研究。一般认为智能是知识和智力的总和,前者是智能的基础,后者是指获取和运用知识求解的能力。智能制造的发展及智能物流的兴起,极大地带动了移动机器人产业的蓬勃发展。但是由于不同的使用场景对移动机器人的需求都不一样,导致80%以上的项目都是个性化、定制化需求,存在研发难度大、周期长、成本高的问题。 针对这样的情况,仙知机器人推出了移动机器人最强大脑SRC系列核心控制器,以超强适配性和强大的功能来满足用户定制化、个性化需求。一方面,标准版的SRC核心控制器可适配双轮差动基础运动车型,客户还可根据需要选择单舵轮、双舵轮、四驱麦克纳姆轮等多种高级运动车型,满足工业移动机器人、商用移动机器人、自动叉车的不同应用需求;另一方面,SRC核心控制器拥有全面且出色的基础功能与丰富实用的选配功能供用户自主选择搭配,助力客户一站式解决各类移动机器人应用难题。 那究竟有哪些选配功能?这些选配功能有何应用价值? 3D避障功     应对场景 当使用2D激光传感器进行定位导航时,由于2D激光雷达只能检测到激光水平面的障碍物,对地面上的坑洞、减速带、高于或低于激光水平面的立体障碍物或其它影响移动机器人安全运行的障碍等无法识别检测,存在一定的安全隐患,这时便需要选配3D避障功能。 使用价值 选配3D避障功能,通过加入3D视觉传感器能对机器人运行通道上的立体的障碍物进行识别检测,并根据配置让机器人选择停障或绕行,能够提升运输安全性,减少地面因素对移动机器人运行的制约。 激光反光板导航     应对场景 用户现场车间、仓库某些区域经常会有高动态的情况,车间变化大,导致采用激光自然轮廓进行定位导航时会失去参照物,需要增加固定的辅助定位标识。 使用价值 选配激光反光板导航功能,在激光自然轮廓导航的基础上融合激光反光板导航,通过在划定的高动态区域内进行激光反光板导航,其余区域恢复激光导航,两种导航方式自由切换保证机器人的定位和运行。 二维码导航功能     应对场景 在长廊或高动态的环境中,由于无线通信信号强度影响及环境变化的因素,会导致移动机器人出现定位丢失的情况。 使用价值 选配二维码导航功能,在激光导航的基础上融合二维码导航,在划定区域内进行二维码导航,其余区域恢复激光导航,实现导航方式自由切换的同时减少信号强度及环境变化对移动机器人运行的影响。 自动充电功能     应对场景 当移动机器人电量较低需要进行充电时,如果采用手动充电则需要人工的介入,而人工介入的时间具有不确定性。 使用价值 选配自动充电功能,由仙知提供自动充电的机器人端与充电桩设计方案,能够实现移动机器人自主充电,并且不需要人工参与。 栈板识别、料笼识别功能         应对场景 通常情况下栈板及料笼里的货物需要人工存放,导致栈板或料笼总会存在不同程度的偏移指定的具体位置,使得移动机器人难以完成在指定位置的料笼、栈板搬运。 使用价值 选配栈板功能或料笼识别功能,通过加入视觉识别传感器来识别栈板(料笼)的精确位置,能够使自动叉车始终准确叉取栈板及料笼。 货架识别及顶升随动功能     应对场景 当使用潜入顶升或潜伏牵引机器人进行货架搬运时,由于人工摆放货架总会与指定的位置有所偏差,导致移动机器人无法安全、顺利搬运货架。 使用价值 选配货架识别及顶升随动功能,可使移动机器人自主识别货架的精确位置,从而保证移动机器人钻入货架后处于货架的正下方;如果是潜入顶升机器人,顶升随动功能使得机器人搬运货架时无论直行还是转弯过程中,托盘上的货架不随底盘转动,有利于安全顺利的完成作业任务。 Wi-Fi漫游功能     应对场景 在面积较大的工厂车间,通常会有多个AP来保证设备之间的通信,但是移动机器人在多个AP间运行,由于网络延迟可能会导致数据丢失或导致调度系统不稳定的情况发生。 使用价值 选配Wi-Fi漫游功能,通过增加车载无线客户端,能够保证移动机器人在多个AP之间稳定运行。 功能模块化的设计,能让用户根据实际需求进行选择搭配,有利于用户个性化需求的实现,并减少不必要的开发成本与时间成本,同时也有利于仙知为更多的用户服务,创造更大的价值。 有关仙知 上海仙知机器人科技有限公司,是一家以移动机器人控制与调度为核心的高新技术企业。作为一站式移动机器人方案专家,仙知机器人掌握了具有自主知识产权的移动机器人核心技术,并在工业自动化领域内拥有丰富的项目经验。仙知机器人致力于服务各行业集成商,并为其提供包括移动机器人控制、调度与信息管理在内的一站式移动机器人解决方案。 目前,仙知机器人的产品、技术及解决方案已在汽车制造、家电制造、3C电子制造、半导体制造、食品烟草、电商仓储、安防巡检、商用服务、医疗教育等领域广泛应用。 仙知机器人积极践行企业使命—“让智能创造价值”,不断坚持技术创新,并以开放包容、合作共赢的姿态携手合作伙伴,最大程度地满足客户对产品、技术与解决方案的高品质追求,力争“成为机器人产业的创新者与引领者!”

    时间:2019-12-15 关键词: 嵌入式开发 移动机器人 wi-fi漫游

  • 一文读懂,基于 STM32 和 CAN 总线的温度监控系统的设计方法

    一文读懂,基于 STM32 和 CAN 总线的温度监控系统的设计方法

    小编为大家总结了一篇基于 STM32 和 CAN 总线的温度监控系统的设计,通过上位机与下位机的通信,实现对温度数据的监控,并经初步实验达到了设计的要求。 1 系统总体方案概述 系统总体框图如图 1 所示,本系统采用主站+从站的结构,CAN 主站主要实现温度数据的存储以及 CAN 总线协议和串口协议之间的桥接,CAN 从站主要实现温度的采集。CAN 从站采集的温度,经过 CAN 总线传送到 CAN 主站,主站将各从站的温度值传送到系统上位机中。上位机对各点的数据进行实时曲线显示并进行存储,上位机可以设定报警值,当节点温度超过设定值的时候,上位机发出报警声。在没有上位机的场合,主站将数据以文本文档的形式存储在主站的 SD 卡中。     图 1 系统总体框图 2 系统硬件设计 2.1 CAN 主站硬件设计 主站电路如图 2 所示,主要有电源模块、STM32 模块、CAN 收发器模块、RS232 串口模块和 SD 卡模块。 其中 STM32 模块由 STM32F103RBT6 和周边时钟、复位、调试等组成。电源模块由外部输入+5V 电压,经线性压降 AMS1117-3.3V 后供 STM32 使用。CAN 收发器模块采甩 NXP 的高速收发器 TJA1040,TJA1040 是 PCA82C250 的替代品,它完全符合 ISO 11898 标准,具有高速、低功耗、低电磁辐射的优点。RS232 电平转换芯片采用 MAX3232,它具有低功耗、高数据速率以及增强型 ESD 保护等特性。采用专有的低压差发送输出级,+3.0 V 至+5.5V 供电时利用内部双电荷泵保证 RS-232 性能。工作时,电荷泵仅需要四个 100 nF 的小电容。SD 卡模块采用四线制 SPI 总线与 SD 卡相连接。 2.2 CAN 从站硬件设计 从站电路如图 3 所示,主要有电源模块、STM32 模块,CAN 收发器模块,PT100 模块和从站地址选择模块。     图 2 CAN 主站电路框图                图 3 CAN 从站电路框图 其中电源模块、STM32 模块和 CAN 收发器模块与 CAN 主站相同。PT100 模块,采用传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过 TL431 稳至 2.5V。从电桥获取的差分信号通过两级运放放大后输入 STM32 的 AD 输入口。从站地址选择模块由 8 位拨码开关组成,连接到 STM32 I/O 的 PC6-PC13。 3 系统软件设计 本系统软件由 CAN 主站软件、从站软件以及 Delphi 上位机软件构成。其中 CAN 主站和从站程序用 C 语言编写,上位机程序用 Obieet Pascal 编写。 3.1 CAN 主站软件设计 CAN 主站的功能是发送远程帧向从站查询数据、通过 AD 的转换结果计算芯片内部温度传感器的温度值、接收从站发送的数据帧、发送温度数据到上位机或存储数据到 SD 卡。CAN 主站程序如图 4 所示。     图 3 CAN 主站程序流程图 图 5 写 SD 卡程序流程图 写 SD 卡部分程序流程图如图 5 所示,SD 卡部分主要用到了移植的 FATFS 文件系统提供的访问 FAT 卷的应用接口(Application Interface)。主要用到了以下函数: ·f_mount- 注册/注销一个工作区域 ·f_open- 打开/创建一个文件 ·f_close- 关闭一个文件 ·f_lseek- 移动/写指针,扩展文件大小 ·f_puts- 写字符串 ·f_printf- 写一个格式化字符串 3.2 CAN 从站软件设计 CAN 从站的主要功能是通过 AD 转换器检测 PT100 电桥的差分输出电压,然后计算得出此节点的温度值,最后通过 CAN 总线传送给 CAN 主站。其中只有在 CAN 从站收到与自己节点号相同的主站发送的远程帧的时候,从站 CAN 控制器才发出一个数据帧。CAN 从站程序流程图如图 6 所示。     图 6 CAN 从站程序流程图 图 7 Delphi 实时曲线部分流程图 3.3 Delphi 上位机软件设计 本上位机软件主要实现了五个功能:实时曲线显示当前各从节点的温度;打印实时曲线;将实时曲线保存为图片;将实时曲线的数据保存为 TXT 文档以及实时温度超过报警值时报警。 本系统上位机串口通讯控件采用 SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持多线程;提供了对串口的各种操作。图形控件采用 TChart,TCharc 是 Delphi 里面一个标准的图形显示控件。它可以静态设计(At Design TIme)也可以动态生成。该系统设计采用的版本为 TeeChart 7;实时曲线部分流程图如图 7 所示。上位机程序完成后界面如图 8 所示。     图 7上位机界面 4 结束语 本文介绍了基于 STM32 和 CAN 总线的温度监控系统的设计,初步实验证明,上述的硬件及软件设计基本达到了设计要求。本系统适用于多节点、远距离的场合,并具有实时性好、可靠性高的特点,具有一定的应用价值。

    时间:2019-12-24 关键词: can 嵌入式开发 电源模块 can总线 sd卡

  • 在不就的未来,嵌入式 FPGA 编程只需简单一步即可完成

    在不就的未来,嵌入式 FPGA 编程只需简单一步即可完成

    我们都知道,FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。嵌入式 FPGA 将不再是梦想。根据 Achronix,未来,芯片设计者只要简单地将线对线互连加进其 SoC 设计即可。 Achronix Semiconductor 营销副总裁 Steve Mensor 表示,这款被称为 Speedcore 的嵌入式 FPGA (eFPGA) IP 产品目前已经就绪且正出货中。尽管并未透露出货数字以及客户名称,该公司表示这款产品现在已经提供给客户使用了。 Speedcore 象征着该公司首次进军 IP 业务。Achronix 自 2013 年以来一直在生产其旗舰级 FPGA 产品——Speedster 22i。因此,对于 Achronix 来说,这是一条漫长的道路,因为该公司在 4 年以前才首次宣布开发 eFPGA IP 的计划。 尽管如此,Achronix 在此看到了一线曙光,预计今年可望首次盈利,营收上看 1,200 万美元。根据 Mensor 表示,该公司预计其销售额将在 2017 年成长超过 4,000 万美元,进一步使 eFPGA IP 业务成为带动 Achronix 成长的“重要驱动力”。 设计工具 Speedcore 采用与 Achronix Speedster 22i FPGA 相同的高性能架构。专为运算和网络加速应用而设计的 Speedcore eFPGA IP 将整合至其他公司的 ASIC,应用于数据中心、无线基础设施和网络设备。 Mensor 认为,eFPGA 的最大优势在于其设计工具。多年来,Achronix 了解到客户需要更好的设计工具,为其带来优质的结果、简单易用性以及第三方整合,而这些特点都是“Achronix CAD 环境”(ACE)所能提供的一部份。 为了成为系统的一部份,eFPGA IP 必须具备易于整合于 SoC 的功能设计。Achronix 提供了可让客户直接整合于其 SoC 的 GDS II 版 Speedcore IP,以及可让客户用于设计、验证与编程 Speedcore eFPGA 功能的 ACE 工具客制版。 CPU 投片? 整个电子产业都知道 FPGA 极其热门。只要看看微软(Microsoft)的 Project Catapult 就知道了。 微软解释,这项计划是专为“加速微软在网络、安全、云端服务和人工智能(AI)等方面的超级运算基础”而打造的,并作为其于“后 CPU”(post-CPU)的各种技术——包括 GPU、FPGA 与 ASIC 的最大睹注。 微软这项 Project Catapult 的关键就在于 Altera Stratix V D5 FPGA。Mensor 强调,整个电子产业普遍存在的看法是,微软的计划促成了英特尔(Intel)决定收购 Altera。 藉由 AlphaGo,Googler 的客制 Tensor 处理器单元也激励了许多工程师,促使他们开始考虑从 ASIC 到 GPU 和 DSP 的一切。Mensor 解释说,他们正在寻找能够更有效率处理“加速非结构性搜寻、机器学习与人工智能”的技术。 Achronix 在其中看到了机会。     FPGA 应用领域以及成长阶段 FPGA 从 1990 年代中期作为“胶合芯片”(glue chip)开始流行于市场上,如今正重新定义其价值,成为 CPU 的协同处理器。在这个角色上,FPGA 可加速加密 / 解密、压缩 / 解压缩,或甚至是预处理资料封包,以便只让有关的共享资料可被传送与进行处理。 当进行非结构化搜寻时,FPGA 的平行环境经证实是十分有效的。例如,相较于专为划分功能成为较小部份以及依顺序作业而设计的 CPU 而言,FPGA 能以平行方式,在单一频率周期完成整个任务。 当无线基础设施必须涵盖多个地理区时,FPGA 是可编程数位前端和地理区客制化的一张备用王牌。 在芯片之间布线 尽管在 SoC 中嵌入 FPGA 总能为设计者带来不错的设计想法,但对于 FPGA 供应商而言,要实现这个愿望并不容易。 “在不同芯片之间布线是非常困难的,”Mensor 说。成功整合 eFPGA IP 的关键在于尽可能降低延迟并提高吞吐量。该公司强调,Achronix 最先提供了具有嵌入式系统级 IP 的高密度 FPGA。 对于“希望将 ASIC 设计的所有效率以及 eFPGA 可编程硬件加速器的灵活性结合于同一芯片”的公司,Achronix 为其提供相同的 eFPGA 技术。 而对于 IP 供货商而言,整合极具挑战之处在于客户对于特定应用所要求的优化芯片尺寸、功耗与资源分配总有不同的想法与方法。他们还自行定义了查找表数目、嵌入式内存模块女以及 DSP 模块的数量。 但问题并不一定是客户的不同建置方式,而是他们经常使用不同的方法进行芯片测试与验证。Mensor 解释,客户并不知道 IP 供货商的工具如何与其搭配作业。例如,“我们经常听到客户问:‘如何才能用你们的 IP 关闭计时功能?’” 虽然 Achronix 并未为客户整合其 IP,其业务取决于所提供的工具是否足以让客户快速完成设计     Achronix NT31P1 Achronix 也向外收购了一些第三方 IP,包括接口协议、可编程 IO、SerDes 和 PLL 等。那么在开发 FPGA 和满足客户需求时,Achronix 是否遇到困难?Mensor 说:“我们总会试着把遇到的每个问题都转化为一次机会。” 对于 Achronix 来说,其关键在于整合该公司的 FPGA 架构。最终的结果是一款更精简的 Speedster 22i,其可编程 IO、SerDes 和接口控制器占用的空间更少,相形之下,竞争对手的高阶 FPGA 通常使用了大约 50%的芯片面积。     Achronix NT31P2 FPGA 芯片尺寸比较 提高延迟和传输速率 Achronix 认为,能够与 SoC 实现线对线连接的 Speedcore eFPGA,有助于消除大量的可编程 IO 缓冲器,从而使功耗降低一半。此外,Speedcore 的芯片尺寸也比标准 FPGA 更小,使得 eFPGA 的成本可降低 90%以上。 然而,Mensor 强调,“对于大多数客户而言,最大的决定因素在于延迟和吞吐量方面的问题。”根据 Achronix,相较于独立的 FPGA,eFPGA 具有更高的接口性能,可望提高 10 倍的吞吐量和延迟性能。

    时间:2020-01-12 关键词: FPGA 嵌入式 SoC 嵌入式开发 achronix

  • 关于WinCE开发中最常用的概念和知识

    这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的一些小问题,让大家了解嵌入式开发与应用程序开发,到底有哪些不同。 Windows CE概述 从6.0版本开始,Windows CE的名字改为Windows Embedded CE,当然这也是为了结合Windows Embedded品牌作出的改变。CE经过了十年的风风雨雨之后,终于在CE 6.0这个版本上再次浴火重生了。CE 6.0经历了CE历史上第二次内核重写,使CE操作系统更加符合当今嵌入式开发的方向。 CE 6.0在内核方面的改变主要是为了适应嵌入式设备硬件发展的要求,在进程数量方面,从过去最多运行32个进程,改变为最多运行3万2千个进程,内存方面从每个进程最多拥有32M虚拟内存空间改为最多拥有2G虚拟内存空间。在OS布局方面,将关键的驱动程序、文件系统和图形界面管理器(GWES)移到了内核中,这样可以更好解决因为CPU在内核态和用户态间切换而造成的性能损失。 当然,从以上的改变,我们可以看到CE 6.0较之前版本更加“重量级”了。操作系统领域关于“微内核”的争论已经持续了很多年,CE的改变也许会为某个学派的观点提供支持。但我们必须指出的是,正因为目前的嵌入式设备硬件已经可以支持比较“重量级”的操作系统了,所以CE 6.0才会做出如此改变。 CE针对开发者的另一个转变开始自CE 5.0,将开发环境Platform Builder整合到Visual Studio中,这种做法无疑减轻了微软维护两套IDE的负担,从另外一个方面来看,CE的开发者也可以享受到更好的开发体验了。 嵌入式开发流程 也许很多初涉嵌入式开发领域的程序员会被一系列的新名词搞得头昏脑胀,在这里,我希望能够将嵌入式开发的流程展现给大家。 嵌入式开发主要分为三个比较大的部分: 1 驱动程序开发 这部分开发是从硬件设计开始的,硬件工程师会设计PCB板,为我们提供标准开发板(SDB,standard development board)。当我们拿到开发板之后的第一件事情就是编写boot-loader,让开发板启动起来,一般是通过JTGA将boot-loader烧录到开发板中的。我们可以将boot-loader看作PC中的BIOS,负责硬件设备的初始化工作,并且将操作系统运行起来。在此之后,我们需要根据开发板上的硬件开发各种驱动程序,比如串口、USB、鼠标、视频输入等。最后将这些驱动程序和boot-loader打包,称为一个板级支持包(BSP)。 BSP是和开发板的具体硬件紧密相关的。 所以从事这方面开发的工程师往往具有比较强的硬件知识水平。 2 平台定制 我们可以将Windows CE想象为一盒积木,根据不同的应用场景和设备要求,我们要对这盒积木进行定制,堆积出不同形状的城堡、动物和生活用品。这个过程称为“平台定制”,定制产生的平台往往和具体的硬件设备相关,直接将平台下载到硬件设备上就可以运行了。整个开发过程,需要选择不同的组件来搭配出最适合当前硬件的软件平台。所以要对Windows CE的组件,也就是Catalog Item,有相当程度的了解。 3 应用程序开发 嵌入式设备上的应用程序开发与传统应用程序开发类似,只是要借助于硬件模拟器或者实际设备对程序进行调试。最常见的嵌入式设备应用程序开发,就是Windows Mobile的移动应用开发。平台定制工程师会在硬件出厂之前先提供平台相关的SDK,SDK中会包括模拟器。应用开发者可以首先使用模拟器对程序进行开发和调试。等实际硬件出来之后,再将程序转移到实际硬件中。因为Windows CE采用了很多措施,这种“转移”几乎是无缝的,所以我们并没有使用“移植”这个词。 嵌入式领域的应用开发其实是普通软件工程师就可以进行的。

    时间:2014-10-23 关键词: WinCE 嵌入式开发 rtos 驱动开发

  • 谈谈怎样看电路原理图

    电器修理、电路设计都是要通过分析电路原理图,了解电器的功能和工作原理,才能得心应手开展工作的。作为从事此项工作的同志,首先要有过硬的基本功,要能对有技术参数的电路原理图进行总体了解,能进行划分功能模块,找出信号流向,确定元件作用。若不知电路的作用,可先分析电路的输入和输出信号之间的关系。如信号变化规律及它们之间的关系、相位问题是同相位,或反相位。电路和组成形式,是放大电路,振荡电路,脉冲电路,还是解调电路。 要学会维修电器设备和设计电路,就必须熟练掌握各单元电路的原理。会划分功能块,能按照不同的功能把整机电路的元件进行分组,让每个功能块形成一个具体功能的元件组合,如基本放大电路,开关电路,波形变换电路等。 要掌握分析常用电路的几种方法,熟悉每种方法适合的电路类型和分析步骤。 1、交流等效电路分析法 首先画出交流等效电路,再分析电路的交流状态,即:电路有信号输入时,电路中各环节的电压和电流是否按输入信号的规律变化、是放大、振荡,还是限幅削波、整形、鉴相等。 2、直流等效电路分析法 画出直流等效电路图,分析电路的直流系统参数,搞清晶体管静态工作点和偏置性质,级间耦合方式等。分析有关元器件在电路中所处状态及起的作用。例如:三极管的工作状态,如饱和、放大、截止区,二极管处于导通或截止等。 3、频率特性分析法 主要看电路本身所具有的频率是否与它所处理信号的频谱相适应。粗略估算一下它的中心频率,上、下限频率和频带宽度等,例如:各种滤波、陷波、谐振、选频等电路。 4、时间常数分析法 主要分析由R、L、C及二极管组成的电路、性质。时间常数是反映储能元件上能量积累和消耗快慢的一个参数。若时间常数不同,尽管它的形式和接法相似,但所起的作用还是不同,常见的有耦合电路、微分电路、积分电路、退耦电路、峰值检波电路等。 最后,将实际电路与基本原理对照,根据元件在电路中的作用,按以上的方法一步步分析,就不难看懂。当然要真正融会贯通还需要坚持不懈地学习。

    时间:2014-04-05 关键词: 电路设计 电路 嵌入式开发 原理图

  • 嵌入式开发技术PCB设计基本概念

    1、“层(Layer) ”的概念 与字处理或其它许多软件中为实现图、文、色彩等的嵌套与合成而引入的“层”的概念有所同,Protel的“层”不是虚拟的,而是印刷板材料本身实实在在的各铜箔层。现今,由于电子线路的元件密集安装。防干扰和布线等特殊要求,一些较新的电子产品中所用的印刷板不仅有上下两面供走线,在板的中间还设有能被特殊加工的夹层铜箔,例如,现在的计算机主板所用的印板材料多在4层以上。这些层因加工相对较难而大多用于设置走线较为简单的电源布线层(如软件中的Ground Dever和Power Dever),并常用大面积填充的办法来布线(如软件中的ExternaI P1a11e和Fill)。上下位置的表面层与中间各层需要连通的地方用软件中提到的所谓“过孔(Via)”来沟通。有了以上解释,就不难理解“多层焊盘”和“布线层设置”的有关概念了。举个简单的例子,不少人布线完成,到打印出来时方才发现很多连线的终端都没有焊盘,其实这是自己添加器件库 时忽略了“层”的概念,没把自己绘制封装的焊盘特性定义为”多层(Mulii一Layer)的缘故。要提醒的是,一旦选定了所用印板的层数,务必关闭那些未被使用的层,免得惹事生非走弯路。 2、过孔(Via) 为连通各层之间的线路,在各层需要连通的导线的文汇处钻上一个公共孔,这就是过孔。工艺上在过孔的孔壁圆柱面上用化学沉积的方法镀上一层金属,用以连通中间各层需要连通的铜箔,而过孔的上下两面做成普通的焊盘形状,可直接与上下两面的线路相通,也可不连。一般而言,设计线路时对过孔的处理有以下原则:(1)尽量少用过 孔,一旦选用了过孔,务必处理好它与周边各实体的间隙,特别是容易被忽视的中间各层与过孔不相连的线与过孔的间隙,如果是自动布线,可在“过孔数量最小化” ( Via Minimiz8tion)子菜单里选择“on”项来自动解决。(2)需要的载流量越大,所需的过孔尺寸越大,如电源层和地层与其它层联接所用的过孔就要大一些。 3、丝印层(Overlay) 为方便电路的安装和维修等,在印刷板的上下两表面印刷上所需要的标志图案和文字代号等,例如元件标号和标称值、元件外廓形状和厂家标志、生产日期等等。不少初学者设计丝印层的有关内容时,只注意文字符号放置得整齐美观,忽略了实际制出的PCB效果。他们设计的印板上,字符不是被元件挡住就是侵入了助焊区域被抹赊,还有的把元件标号打在相邻元件上,如此种种的设计都将会给装配和维修带来很大不便。正确的丝印层字符布置原则是:”不出歧义,见缝插针,美观大方”。 4、SMD的特殊性 Protel封装库内有大量SMD封装,即表面焊装器件。这类器件除体积小巧之外的最大特点是单面分布元引脚孔。因此,选用这类器件要定义好器件所在面,以免“丢失引脚(Missing Plns)”。另外,这类元件的有关文字标注只能随元件所在面放置。 5、网格状填充区(External Plane )和填充区(Fill) 正如两者的名字那样,网络状填充区是把大面积的铜箔处理成网状的,填充区仅是完整保留铜箔。初学者设计过程中在计算机上往往看不到二者的区别,实质上,只要你把图面放大后就一目了然了。正是由于平常不容易看出二者的区别,所以使用时更不注意对二者的区分,要强调的是,前者在电路特性上有较强的抑制高频干扰的作用,适用于需做大面积填充的地方,特别是把某些区域当做屏蔽区、分割区或大电流的电源线时尤为合适。后者多用于一般的线端部或转折区等需要小面积填充的地方。 6、焊盘( Pad) 焊盘是PCB设计中最常接触也是最重要的概念,但初学者却容易忽视它的选择和修正,在设计中千篇一律地使用圆形焊盘。选择元件的焊盘类型要综合考虑该元件的形状、大小、布置形式、振动和受热情况、受力方向等因素。 Protel在封装库中给出了一系列不同大小和形状的焊盘,如圆、方、八角、圆方和定位用焊盘等,但有时这还不够用,需要自己编辑。例如,对发热且受力较大、电流较大的焊盘,可自行设计成“泪滴状”,在大家熟悉的彩电PCB的行输出变压器引脚焊盘的设计中,不少厂家正是采用的这种形式。一般而言,自行编辑焊盘时除了以上所讲的以外,还要考虑以下原则: (1)形状上长短不一致时要考虑连线宽度与焊盘特定边长的大小差异不能过大; (2)需要在元件引角之间走线时选用长短不对称的焊盘往往事半功倍; (3)各元件焊盘孔的大小要按元件引脚粗细分别编辑确定,原则是孔的尺寸比引脚直径大0.2- 0.4毫米。 7、各类膜(Mask) 这些膜不仅是PcB制作工艺过程中必不可少的,而且更是元件焊装的必要条件。按“膜”所处的位置及其作用,“膜”可分为元件面(或焊接面)助焊膜(TOp or Bottom 和元件面(或焊接面)阻焊膜(TOp or BottomPaste Mask)两类。 顾名思义,助焊膜是涂于焊盘上,提高可焊性能的一层膜,也就是在绿色板子上比焊盘略大的各浅色圆斑。阻焊膜的情况正好相反,为了使制成的板子适应波峰焊等焊接形式,要求板子上非焊盘处的铜箔不能粘锡,因此在焊盘以外的各部位都要涂覆一层涂料,用于阻止这些部位上锡。可见,这两种膜是一种互补关系。由此讨论,就不难确定菜单中 类似“solder Mask En1argement”等项目的设置了。 8、飞线,飞线有两重含义: (1)自动布线时供观察用的类似橡皮筋的网络连线,在通过网络表调入元件并做了初步布局后,用“Show 命令就可以看到该布局下的网络连线的交叉状况,不断调整元件的位置使这种交叉最少,以获得最大的自动布线的布通率。这一步很重要,可以说是磨刀不误砍柴功,多花些时间,值!另外,自动布线结束,还有哪些网络尚未布通,也可通过该功能来查找。找出未布通网络之后,可用手工补偿,实在补偿不了就要用到“飞线”的第二层含义,就是在将来的印板上用导线连通这些网络。要交待的是,如果该电路板是大批量自动线生产,可将这种飞线视为0欧阻值、具有统一焊盘间距的电阻元件来进行设计.

    时间:2014-05-22 关键词: PCB 电路设计 嵌入式开发 基本概念

  • 嵌入式开发设计中的赫兹与微波的理解

    在微波通信中,电磁波的单位是赫兹(Hz)。德国物理学家赫兹关于电磁波的实验,为微波技术的发展开拓了新的道路,构成了现代文明的骨架,后人为了纪念他,把频率的单位定为赫兹。 赫兹是一个短命的物理学家。他于1894年逝世时,年仅37岁,这无疑是物理学界的巨大损失。他从21岁考人柏林大学直到不幸去世,进行科学研究不足15年,然而却建立了永垂青史的功绩。 赫兹以前,由法拉第发现、麦克斯韦完成的电磁理论,因为未经一系列的科学实验证明,始终处于“预想”阶段。把天才的预想变成世人公认的真理,是赫兹的功劳。赫兹在人类历史上首先捕捉到电磁波,使假说变成了现实。

    时间:2014-06-04 关键词: 电路设计 嵌入式开发 微波 赫兹

  • 嵌入式开发正确使用磁珠

    磁珠专用于抑制信号线、电源线上的高频噪声和尖峰干扰,还具有吸收静电脉冲的能力。 磁珠是用来吸收超高频信号,象一些RF电路,PLL,振荡电路,含超高频存储器电路(DDR SDRAM,RAMBUS等)都需要在电源输入部分加磁珠,而电感是一种蓄能元件,用在LC振荡电路,中低频的滤波电路等,其应用频率范围很少超过错 50MHZ.磁珠的功能主要是消除存在于传输线结构(PCB电路)中的RF噪声,RF能量是叠加在直流传输电平上的交流正弦波成分,直流成分是需要的有用信号,而射频 RF能量却是无用的电磁干扰沿着线路传输和辐射(EMI)。要消除这些不需要的信号能量,使用片式磁珠扮演高频电阻的角色(衰减器),该器件允许直流信号通过,而滤除交流信号。通常高频信号为30MHz以上,然而,低频信号也会受到片式磁珠的影响。 片式磁珠由软磁铁氧体材料组成,构成高体积电阻率的独石结构。涡流损耗同铁氧体材料的电阻率成反比。涡流损耗随信号频率的平方成正比。使用片式磁珠的好处: 小型化和轻量化 在射频噪声频率范围内具有高阻抗,消除传输线中的电磁干扰。 闭合磁路结构,更好地消除信号的串绕。极好的磁屏蔽结构。 降低直流电阻,以免对有用信号产生过大的衰减。 显著的高频特性和阻抗特性(更好的消除RF能量)。在高频放大电路中消除寄生振荡。 有效的工作在几个MHz到几百MHz的频率范围内。 要正确的选择磁珠,必须注意以下几点:1、不需要的信号的频率范围为多少;2、噪声源是谁;3、需要多大的噪声衰减;4、环境条件是什么(温度,直流电压,结构强度);5、电路和负载阻抗是多少;6、是否有空间在PCB板上放置磁珠;前三条通过观察厂家提供的阻抗频率曲线就可以判断。在阻抗曲线中三条曲线都非常重要,即电阻,感抗和总阻抗。总阻抗通过 ZR22πfL()2+:=fL来描述。通过这一曲线,选择在希望衰减噪声的频率范围内具有最大阻抗而在低频和直流下信号衰减尽量小的磁珠型号。片式磁珠在过大的直流电压下,阻抗特性会受到影响,另外,如果工作温升过高,或者外部磁场过大,磁珠的阻抗都会受到不利的影响。使用片式磁珠和片式电感的原因:是使用片式磁珠还是片式电感主要还在于应用。在谐振电路中需要使用片式电感。而需要消除不需要的EMI噪声时,使用片式磁珠是最佳的选择。片式磁珠和片式电感的应用场合:片式电感: 射频(RF)和无线通讯,信息技术设备,雷达检波器,汽车电子,蜂窝电话,寻呼机,音频设备,PDAs(个人数字助理),无线遥控系统以及低压供电模块等。 片式磁珠:时钟发生电路,模拟电路和数字电路之间的滤波,I/O输入/输出内部连接器(比如串口,并口,键盘,鼠标,长途电信,本地局域网),射频(RF)电路和易受干扰的逻辑设备之间,供电电路中滤除高频传导干扰,计算机,打印机,录像机(VCRS),电视系统和手提电话中的EMI噪声抑止。

    时间:2014-06-08 关键词: 电路设计 嵌入式开发 正确 磁珠

  • 让下一代智能互联嵌入式应用开发更简化

    让下一代智能互联嵌入式应用开发更简化

    Cortex-M处理器家族是一系列具有扩展性,兼容性,节能和易于使用的处理器,旨在帮助开发人员满足未来智能互联嵌入式应用的需要。2010年推出的Cortex-M4是建立在Cortex-M3的基础上并加入了一系列专门为数字信号处理定制的指令集扩展,并搭配可选的性能可达1.25 DMIPS/ MHz的单精度浮点单元。自推出以来,有10家以上的半导体厂商推出了基于Cortex-M4的通用MCU产品,以及非常广泛的基于Cortex-M4的sensor hub产品。 在过去的几年里,对支持互联的嵌入式系统的功能特性和处理能力的需求变得更加苛刻。即使是最简单的系统,也预期支持多种连接方式,图形用户界面,人机界面,语音识别或其他自然的交互方式。处理器需要变得更加强大,并能提供更多的本地处理能力。在汽车行业和工业自动化中应用的微控制器需要支持更高的处理能力和CPU性能提升,对计算精度和短时间内处理大量数据的要求在迅速提高。这些未来系统的要求包括:以较低的成本提供更多的功能,增加连接性,更好的代码重复利用,以及提高能效。正是着眼于这样的未来需求,ARM和合作伙伴一起设计了当前Cortex-M家族中性能最强的ARM Cortex-M7处理器。 近观Cortex-M7 Cortex-M7能够应对最严格的应用环境,并克服了以前基于Cortex-M处理器的解决方案所面临的问题,性能达到了上一代Cortex-M4的两倍,大约为5 CoreMark/ MHz。Cortex-M7是专为各种嵌入式应用,包括微控制器,汽车控制器,工业控制系统和无线通信控制器(例如无线网络)设计的。对于那些熟悉Cortex-M系列CPU的嵌入式应用开发者来说,Cortex-M7基于Cortex-M架构,从架构上兼容从Cortex-M0以来的所有产品(图1)。     图1 ARM Cortex-M7处理器特性 Cortex-M7包含六阶段的超标量流水线,并和紧耦合内存、高速缓存和大内存支持选项集成在一起以提供整数、浮点和DSP处理能力并保证确定性的行为。Cortex-M7先进的流水线能提供相对于Cortex-M4更高的性能,允许在每个时钟周期执行两条指令。 Cortex-M7开发的一大重点是相对于之前的Cortex-M系列处理器提高IPC(instructions-per-clock)效率。Cortex -M7是Cortex-M家族中第一个提高最高64KB指令和数据缓存选项的处理器,高速缓存能提供对更大的存储器系统的有效操作(外存通常比处理器慢很多)。此外还添加了紧耦合内存接口,集成ECC支持。对内存的快速访问使得高速中断处理和实时应用处理成为可能。这样的集成使得工程师们可以在内部缓存中执行大部分代码,以减少对外部存储器读写访问,从而降低功耗。 Cortex-M7也提供了对每个内部缓存单元增加ECC支持的选项,以提高系统的可靠性。对于给定解决方案,如果某个内存位置的单个比特值被破坏,该数据可被校正和恢复。除了ECC,存储器系统也可以通过可选的存储器保护单元(MPU)设定8或16个区域为受保护区域以增强系统可靠性。 为了支持提高了的CPU处理能力,内存系统也从32位AXI总线改进为64位AXI总线,64位AXI比32位AXI提供了更大的带宽,并支持多个outstanding transfer以最大化系统性能。为了易于集成在先前的Cortex-M设计中使用的传统外围设备,还有一个可选的低延迟AHB外设总线接口。为了允许灵活的中断管理和低中断延迟,集成嵌套矢量中断控制器(NVIC)用1到240个中断,以及3至8位可编程优先级寄存器实现与处理器的紧密集成。此外,还有ETM支持,专为CoreSight(ARM支持全系统调试和跟踪的架构)设计。 Cortex-M7包含的双精度支持可选项,进一步扩大了Cortex-M家族的浮点能力。如果FPU存在时,还支持整数和浮点指令的并发。鉴于存在大量基于Cortex-M7的MCU应用,它还具有完全的强大的调试功能,以及可选的全指令和数据跟踪支持。对已经使用了Cortex-M4处理器的设备,在应用对性能的要求提高时,前述特性使得Cortex-M7成为一种极具吸引力的解决方案。 迁移设计到Cortex-M7 鉴于大多数嵌入式工程师和开发人员都熟悉Cortex-M4,让我们来看看Cortex-M7带来的一些软件开发的优点。从开发者的角度来看,在Cortex-M7支持所有的Cortex-M4处理器指令,并使用相同的中断模型来处理异常。在大多数情况下,针对Cortex-M4处理器编写的程序代码应该可以在Cortex-M7处理器上没有任何问题地运行。但是,在有些情况下可能需要做一些改动,软件开发人员必须了解这些改动以减少把应用程序从Cortex-M4迁移到Cortex-M7所需的时间。 为了获得Cortex-M7处理器的最佳性能,一些C编译器和运行时库已经进行了优化和更新(图2)。此外,由于相当多的Cortex-M7相对于Cortex-M4在调试系统上的变化,软件开发者必须更新他们的工具链,以在基于Cortex-M7的微控制器产品上调试应用程序。在某些情况下,调试适配器上的固件可能还需要更新。因此,强烈建议更新到最新的开发工具链。     图2 相对于Cortex-M4的2倍性能改进 通常情况下,把软件从Cortex-M4迁移到Cortex-M7处理器时,需要完成以下改动: l 更新CMSIS- CORE头文件为Cortex-M7对应的头文件。对应Cortex-M7处理器的CMSIS-CORE头文件包含在CMSIS 4.2之后的版本中。最新的CMSIS可以从www.arm.com/cmsis获得。 l 更新CMSIS-DSP库为Cortex-M7定制版本。Cortex-M7定制版本为Cortex-M7处理器的流水线行为进行了优化,因此可以提供更高的性能。 l 进行缓存配置的新API包含在CMSIS-CORE头文件中。如果正在使用的Cortex-M7装置经由AXI接口从慢速存储器(例如Flash)执行程序,应该启用高速缓存以获得更好的性能。 此外,所有的代码应该被重编译以允许编译器针对Cortex-M7处理器流水线更好地优化指令序列。在某些情况下,可能在运行时需要额外的缓存维护操作。例如,在处理器和外设DMA控制器共享一块带缓存的内存时,必须进行适当的缓存维护操作以保证内存一致性。 a) 如果被Cortex-M7处理器更新过的内存需要被另一个外设通过总线访问,需要先清缓存(clean cache)以保证外设看到最新的数据。 b) 如果内存被外设通过总线更新,在Cortex-M7处理器访问该内存前,需要先做一个缓存无效(cache invalidate),这样在读取该位置的内容时,处理器将直接从主存储器中获取最新的数据。 Cortex-M7处理器支持多种浮点支持选项,允许没有FPU,只包含单精度FPU或者同时包含单精度和双精度FPU。如果应用程序可以从双精度浮点单元支持中获益,该应用程序应该重新编译以利用双精度FPU。即使应用程序只使用单精度浮点运算,重新编译为Cortex-M7处理器的代码也是有益的,因为在Cortex-M7的FPU基于FPv5,而Cortex-M4处理器的FPU的是FPv4。FPv5增加了额外的浮点处理指令,有助于目标应用程序加速浮点数据处理。 程序代码更改 有许多可能需要更改程序代码的潜在领域。由于处理器具有更高的性能,一些程序代码可能需要由于执行速度变快进行适当的调节。最常见的例子是使用硬编码(hard code)的循环来实现延迟的应用程序,必须调整原本的循环次数以确保延时。 从一个微控制器设备迁移到另一个时,系统内存映射经常发生变化。另外,Cortex-M7处理器初始矢量表并不是必须从地址0x00000000开始。如果应用程序代码假设初始向量表地址为0,用户可能需要更新代码,以便能够通过读取Vector Table Offset寄存器来确定初始矢量表的位置。 由于在Cortex-M7处理器的多总线接口和更强大的写缓存,用户可能会发现有必要在程序代码中插入额外的内存barrier指令。内存barrier的使用指南请参阅“ARM application note AN321 – ARM Cortex-M Programming Guide to Memory Barrier Instructions”。在Cortex-M4处理器上,由于处理器流水线本身的特性,忽略内存barrier指令并不会造成任何问题。但在Cortex-M7处理器上,对内存barrier的需求是很严格的。 行动起来 Cortex-M7不仅继承了Cortex-M系列处理器的特性,如能源效率、高性能、易用性和更小的代码,它专门设计的灵活出色的内存和连接选项使得它特别适合于汽车、物联网和工业连接市场。在Cortex-M7处理器发布之后,基于它的MCU已经相继推出: l 意法半导体于2014年10月在ARM TechCon上发布的STM32 F7系列。 l Atmel公司在2015 CES上发布的针对连接性和通用工业应用AM E70和SAM S70系列 l Atmel公司在2015 CES上发布的SAM V70和V71系列已取得汽车工业合格证,其采用Cortex-M7 DSP扩展,针对信息娱乐连接和音频应用。 l NXP也公开宣布了采用Cortex-M7的Kinetis KV5x,针对高性能电源转换、马达控制和工业自动化。 由于ARM Cortex-M4和Cortex-M7处理器在架构上有很多相似之处,确保了大部分应用程序代码可以直接迁移。软件开发人员可以开始动手,以确保他们的应用程序都适合于下一代智能连接嵌入式设备。迁移需要用户进行一些适应性修改。开发者可以根据从ARM Cortex-M4处理器到Cortex-M7处理器的应用程序迁移 - 软件开发人员指南( “Migrating Applications from an ARM Cortex-M4 Processor to a Cortex-M7 Processor - A Software Developer’s Guide”)”白皮书进一步了解迁移过程的细节。该白皮书可以在ARM Connected Community中找到,并提供了深入的技术讨论。

    时间:2016-06-29 关键词: 嵌入式开发 cortex-m7 新品发布 智能互联

  • Linux vs. Unix:有什么不同? vs. Unix:有什么不同?

    深入了解这两个有许多共同的传统和相同的目标的操作系统之间的不同。 如果你是位二、三十岁的软件开发人员,那么你已经成长在一个由 Linux 主导的世界。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额报告,但 Linux 的数据中心操作系统份额可能高达 70%,而 Windows 及其变体几乎涵盖了所有剩余的百分比。使用任何主流公共云服务的开发人员都可以预期目标系统会运行 Linux。近些年来,随着 Android 和基于 Linux 的嵌入式系统在智能手机、电视、汽车和其他设备中的应用,Linux 已经随处可见。 即便如此,大多数软件开发人员,甚至是那些在这场历史悠久的 “Linux 革命”中长大的软件开发人员,也都听过说 Unix。它听起来与 Linux 相似,你可能已经听到人们互换使用这些术语。或者你也许听说过 Linux 被称为“类 Unix ”操作系统。 那么,Unix 是什么?漫画中提到了像巫师一样留着“灰胡子”,坐在发光的绿色屏幕后面,写着 C 代码和 shell 脚本,由老式的、滴灌的咖啡提供动力。但是,Unix 的历史比上世纪 70 年代那些留着胡子的 C 程序员要丰富得多。虽然详细介绍 Unix 历史和 “Unix 与 Linux” 比较的文章比比皆是,但本文将提供高级背景和列出这些互补世界之间的主要区别。 Unix 的起源 Unix 的历史始于 20 世纪 60 年代后期的 AT&T 贝尔实验室,有一小组程序员希望为 PDP-7 编写一个多任务、多用户操作系统。这个贝尔实验室研究机构的团队中最著名的两名成员是 Ken Thompson 和 Dennis Ritchie。尽管 Unix 的许多概念都是其前身(Multics)的衍生物,但 Unix 团队早在 70 年代就决定用 C 语言重写这个小型操作系统,这是将 Unix 与其他操作系统区分开来的原因。当时,操作系统很少,更不要说可移植的操作系统。相反,由于它们的设计和底层语言的本质,操作系统与他们所编写的硬件平台紧密相关。而通过 C 语言重构 Unix、Unix 现在可以移植到许多硬件体系结构中。 除了这种新的可移植性,之所以使得 Unix 迅速扩展到贝尔实验室以外的其他研究和学术机构甚至商业用途,是因为操作系统设计原则的几个关键点吸引了用户和程序员们。首先是 Ken Thompson 的 Unix 哲学成为模块化软件设计和计算的强大模型。Unix 哲学推荐使用小型的、专用的程序组合起来完成复杂的整体任务。由于 Unix 是围绕文件和管道设计的,因此这种“管道”模式的输入和输出程序的组合成一组线性的输入操作,现在仍然流行。事实上,目前的云功能即服务(FaaS)或无服务器计算模型要归功于 Unix 哲学的许多传统。 快速增长和竞争 到 70 年代末和 80 年代,Unix 成为了一个操作系统家族的起源,它遍及了研究和学术机构以及日益增长的商业 Unix 操作系统业务领域。Unix 不是开源软件,Unix 源代码可以通过与它的所有者 AT&T 达成协议来获得许可。第一个已知的软件许可证于 1975 年出售给伊利诺伊大学University of Illinois。 Unix 在学术界迅速发展,在 Ken Thompson 在上世纪 70 年代的学术假期间,伯克利成为一个重要的活动中心。通过在伯克利的各种有关 Unix 的活动,Unix 软件的一种新的交付方式诞生了:伯克利软件发行版Berkeley Software Distribution(BSD)。最初,BSD 不是 AT&T Unix 的替代品,而是一种添加类似于附加软件和功能。在 1979 年, 2BSD(第二版伯克利软件发行版)出现时,伯克利研究生 Bill Joy 已经添加了现在非常有名的程序,例如 vi 和 C shell(/bin/csh)。 除了成为 Unix 家族中最受欢迎的分支之一的 BSD 之外,Unix 的商业产品的爆发贯穿了二十世纪八、九十年代,其中包括 HP-UX、IBM 的 AIX、 Sun 的 Solaris、 Sequent 和 Xenix 等。随着分支从根源头发展壮大,“Unix 战争”开始了,标准化成为社区的新焦点。POSIX 标准诞生于 1988 年,其他标准化后续工作也开始通过 The Open Group 在 90 年代到来。 在此期间,AT&T 和 Sun 发布了 System V Release 4(SVR4),许多商业供应商都采用了这一版本。另外,BSD 系列操作系统多年来一直在增长,最终一些开源的变体在现在熟悉的 BSD许可证下发布。这包括 FreeBSD、 OpenBSD 和 NetBSD,每个在 Unix 服务器行业的目标市场略有不同。这些 Unix 变体今天仍然有一些在使用,尽管人们已经看到它们的服务器市场份额缩小到个位数字(或更低)。在当今的所有 Unix 系统中,BSD 可能拥有最大的安装基数。另外,每台 Apple Mac 硬件设备从历史的角度看都可以算做是 BSD ,这是因为 OS X(现在是 macOS)操作系统是 BSD 衍生产品。 虽然 Unix 的全部历史及其学术和商业变体可能需要更多的篇幅,但为了我们文章的重点,让我们来讨论 Linux 的兴起。 进入 Linux 今天我们所说的 Linux 操作系统实际上是 90 年代初期的两个努力的结合。Richard Stallman 希望创建一个真正的自由而开放源代码的专有 Unix 系统的替代品。他正在以 GNU 的名义开发实用程序和程序,这是一种递归的说法,意思是“GNU‘s not Unix!”。虽然当时有一个内核项目正在进行,但事实证明这是一件很困难的事情,而且没有内核,自由和开源操作系统的梦想无法实现。而这是 Linus Torvald 的工作 —— 生产出一种可工作和可行的内核,他称之为 Linux -- 它将整个操作系统带入了生活。鉴于 Linus 使用了几个 GNU 工具(例如 GNU 编译器集合,即 GCC),GNU 工具和 Linux 内核的结合是完美的搭配。 Linux 发行版采用了 GNU 的组件、Linux 内核、MIT 的 X-Windows GUI 以及可以在开源 BSD 许可下使用的其它 BSD 组件。像 Slackware 和 Red Hat 这样的发行版早期的流行给了 20 世纪 90 年代的“普通 PC 用户”一个进入 Linux 操作系统的机会,并且让他们在工作和学术生活中可以使用许多 Unix 系统特有的功能和实用程序。 由于所有 Linux 组件都是自由和开放的源代码,任何人都可以通过一些努力来创建一个 Linux 发行版,所以不久后发行版的总数达到了数百个。今天,distrowatch.com 列出了 312 种各种形式的独特的 Linux 发行版。当然,许多开发人员通过云提供商或使用流行的免费发行版来使用 Linux,如 Fedora、 Canonical 的 Ubuntu、 Debian、 Arch Linux、 Gentoo 和许多其它变体。随着包括 IBM 在内的许多企业从专有 Unix 迁移到 Linux 上并提供了中间件和软件解决方案,商用 Linux 产品在自由和开源组件之上提供支持变得可行。红帽公司围绕 Red Hat Enterprise Linux(红帽企业版 Linux) 建立了商业支持模式,德国供应商 SUSE 使用 SUSE Linux Enterprise Server(SLES)也提供了这种模式。 比较 Unix 和 Linux 到目前为止,我们已经了解了 Unix 的历史以及 Linux 的兴起,以及 GNU/自由软件基金会对 Unix 的自由和开源替代品的支持。让我们来看看这两个操作系统之间的差异,它们有许多共同的传统和许多相同的目标。 从用户体验角度来看,两者差不多!Linux 的很大吸引力在于操作系统在许多硬件体系结构(包括现代 PC)上的可用性以及类似使用 Unix 系统管理员和用户熟悉的工具的能力。 由于 POSIX 的标准和合规性,在 Unix 上编写的软件可以针对 Linux 操作系统进行编译,通常只有少量的移植工作量。在很多情况下,Shell 脚本可以在 Linux 上直接使用。虽然一些工具在 Unix 和 Linux 之间有着略微不同的标志或命令行选项,但许多工具在两者上都是相同的。 一方面要注意的是,macOS 硬件和操作系统作为主要针对 Linux 的开发平台的流行可能归因于类 BSD 的 macOS 操作系统。许多用于 Linux 系统的工具和脚本可以在 macOS 终端内轻松工作。Linux 上的许多开源软件组件都可以通过 Homebrew 等工具轻松获得。 Linux 和 Unix 之间的其他差异主要与许可模式有关:开源与专有许可软件。另外,在 Unix 发行版中缺少一个影响软件和硬件供应商的通用内核。对于 Linux,供应商可以为特定的硬件设备创建设备驱动程序,并期望在合理的范围内它可以在大多数发行版上运行。由于 Unix 家族的商业和学术分支,供应商可能必须为 Unix 的变体编写不同的驱动程序,并且需要许可和其他相关的权限才能访问 SDK 或软件的分发模型,以跨越多个二进制设备驱动程序的 Unix 变体。 随着这两个社区在过去十年中的成熟,Linux 的许多优点已经在 Unix 世界中被采用。当开发人员需要来自不属于 Unix 的 GNU 程序的功能时,许多 GNU 实用程序可作为 Unix 系统的附件提供。例如,IBM 的 AIX 为 Linux 应用程序提供了一个 AIX Toolbox,其中包含数百个 GNU 软件包(如 Bash、 GCC、 OpenLDAP 和许多其他软件包),这些软件包可添加到 AIX 安装包中以简化 Linux 和基于 Unix 的 AIX 系统之间的过渡。 专有的 Unix 仍然活着而且还不错,许多主要供应商承诺支持其当前版本,直到 2020 年。不言而喻,Unix 还会在可预见的将来一直出现。此外,Unix 的 BSD 分支是开源的,而 NetBSD、 OpenBSD 和 FreeBSD 都有强大的用户基础和开源社区,它们可能不像 Linux 那样显眼或活跃,但在最近的服务器报告中,在 Web 服务等领域它们远高于专有 Unix 的数量。 Linux 已经显示出其超越 Unix 的显著优势在于其在大量硬件平台和设备上的可用性。树莓派Raspberry Pi受到业余爱好者的欢迎,它是由 Linux 驱动的,为运行 Linux 的各种物联网设备打开了大门。我们已经提到了 Android 设备,汽车(包括 Automotive Grade Linux)和智能电视,其中 Linux 占有巨大的市场份额。这个星球上的每个云提供商都提供运行 Linux 的虚拟服务器,而且当今许多最受欢迎的原生云架构都是基于 Linux 的,无论你是在谈论容器运行时还是 Kubernetes,或者是许多正在流行的无服务器平台。 其中一个最显著的代表 Linux 的优势是近年来微软的转变。如果你十年前告诉软件开发人员,Windows 操作系统将在 2016 年“运行 Linux”,他们中的大多数人会歇斯底里地大笑。 但是 Windows Linux 子系统(WSL)的存在和普及,以及最近宣布的诸如 Docker 的 Windows 移植版,包括 LCOW(Windows 上的 Linux 容器)支持等功能都证明了 Linux 在整个软件世界中所产生的影响 —— 而且显然还会继续存在。

    时间:2018-06-13 关键词: Linux 嵌入式开发 unix

  • 建立针对arm-linux的交叉编译环境

    交叉编译环境介绍交叉编译是嵌入式开发过程中的一项重要技术,它的主要特征是某机器中执行的程序代码不是在本机编译生成,而是由另一台机器编译生成,一般把前者称为目标机,后者称为主机。采用交叉编译的主要原因在于,多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的主机中进行。linux下的交叉编译环境重要包括以下几个部分:针对目标系统的编译器gcc针对目标系统的二进制工具binutils目标系统的标准c库glibc目标系统的linux内核头文件交叉编译环境的建立步骤下载源代码下载包括binutils、gcc、glibc及linux内核的源代码(需要注意的是,glibc和内核源代码的版本必须与目标机上实际使用的版本保持一致),并设定shell变量PREFIX指定可执行程序的安装路径。编译binutils首先运行configure文件,并使用--prefix=$PREFIX参数指定安装路径,使用--target=arm-linux参数指定目标机类型,然后执行make install。配置linux内核头文件首先执行make mrproper进行清理工作,然后执行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)进行配置(注意,一定要在命令行中使用ARCH=arm指定cpu架构,因为缺省架构为主机的cpu架构),这一步需要根据目标机的实际情况进行详细的配置,笔者进行的实验中目标机为HP的ipaq-hp3630 PDA,因而设置system type为SA11X0,SA11X0 Implementations中选择Compaq iPAQ H3600/H3700。配置完成之后,需要将内核头文件拷贝到安装目录: cp -dR include/asm-arm $PREFIX/arm-linux/include/asm cp -dR include/linux $PREFIX/arm-linux/include/linux第一次编译gcc首先运行configure文件,使用--prefix=$PREFIX参数指定安装路径,使用--target=arm-linux参数指定目标机类型,并使用--disable-threads、--disable-shared、--enable-languages=c参数,然后执行make install。这一步将生成一个最简的gcc。由于编译整个gcc是需要目标机的glibc库的,它现在还不存在,因此需要首先生成一个最简的gcc,它只需要具备编译目标机glibc库的能力即可。交叉编译glibc这一步骤生成的代码是针对目标机cpu的,因此它属于一个交叉编译过程。该过程要用到linux内核头文件,默认路径为$PREFIX/arm-linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一个名为sys-linux的软连接,使其内核头文件所在的include目录;或者,也可以在接下来要执行的configure命令中使用--with-headers参数指定linux内核头文件的实际路径。configure的运行参数设置如下(因为是交叉编译,所以要将编译器变量CC设为arm-linux-gcc):CC=arm-linux-gcc ./configure --prefix=$PREFIX/arm-linux --host=arm-linux --enable-add-ons最后,按以上配置执行configure和make install,glibc的交叉编译过程就算完成了,这里需要指出的是,glibc的安装路径设置为$PREFIXARCH=arm/arm-linux,如果此处设置不当,第二次编译gcc时可能找不到glibc的头文件和库。第二次编译gcc运行configure,参数设置为--prefix=$PREFIX --target=arm-linux --enable-languages=c,c++。运行make install。到此为止整个交叉编译环境就完全生成了。几点注意事项第一点、在第一次编译gcc的时候可能会出现找不到stdio.h的错误,解决办法是修改gcc/config/arm/t-linux文件,在TARGET_LIBGCC2_CFLAGS变量的设定中增加-Dinhibit_libc和-D__gthr_posix_h。第二点、对与2.3.2版本的glibc库,编译linuxthread/sysdeps/pthread/sigaction.c时可能出错,需要通过补丁glibc-2.3.2-arm.patch解决:执行patch -p1 < glibc-2.3.2-arm.patch第三点、第二次编译gcc时可能会出现libc.so的错误,这是需要利用文本编辑器手动修改libc.so。

    时间:2018-06-26 关键词: Linux 嵌入式开发 arm-linux 交叉编译

  • DSP与FPGA在嵌入式开发中的关系

    DSP与FPGA在嵌入式开发中的关系

    单片机是个系统(比如:51、AVR、PLC...),其中包含了去除了输入输出之外的运算器、控制器、存储器,我们用程序可以非常直观的控制引脚电平的高低。 嵌入式广义上来说包含一切和电子有关系的device,目前来看像DSP、FPGA、ARM都是嵌入式的范畴,但是通常我们提到嵌入式,很多和微处理器操作系统打交道! 常所说的单片机侧重于控制,不支持信号处理,属于低端嵌入式处理器,arm可以看做是低端单片机升级版,支持操作系统管理,更多接口如网卡,处理能力更强;fpga是可编程逻辑器件,侧重时序,可构建从小型到大型的几乎所有数字电路系统,dsp主要完成复杂的数字信号处理,如fft,通常一个复杂系统可以由单片机、arm、fpga、dsp中的一种或几种构成,各有优势和不足。 dsp通常用于运算密集型,fpga用于控制密集型,许多人都用dsp高算法,用fpga 作外围控制电路。 去年xilinx在北京介绍FPGA和DSP融合的时候,大有席卷DSP和FPGA市场之势。但后来在实际中发现其阻力也是不小的,关键是很难搭配FPGA和DSP的比重。我们知道FPGA擅长各种控制(也包括适时性非常高的信号处理如移动通信中基带滤波,该滤波用C5000,C6000很难胜任,除非多芯片并行),DSP擅长各种信号处理运算,但在一个系统中究竟有多大的控制电路,有多少密集运算?变数是很大的,我们不可能用一个芯片解决这个问题。对于运算密集性系统,我们如果使用这种芯片的话很有可能还要其他DSP,那么我们需要了解多种DSP编程和接口设计,这是否与我们的初衷背道而驰呢? 上面都是一些基本概念的介绍,下面我就来通俗介绍一下,在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现其功能的最优化,一般TI的DSP涉及最多的是一些基本的BIOS操作系统之间的任务调度,以及算法改进与优化等待, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间,以及能够运行多种算法的灵活性。 而对于FPGA来说,你是一个硬件设计者,FPGA就是一张白纸,上面写什么,画什么都取决于你。同样一片FPGA,菜鸟和高手实现的功能会是天壤之别,FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益。使用FPGA,您大多的时间并非进行算法设计与优化,而是逻辑设计与时序约束等等。 FPGA与DSP关系: 1、 DSP侧重于核心算法处理,FPGA侧重于外围控制处理。 2、 DSP内是用C语言编写,语言执行是串行处理,效率比较低。 FPGA侧重于并行处理,效率较高;还有交合逻辑(外围接口、通讯等); FPGA发展领域: 使用领域:电子设计、通讯、汽车、军工 不适合:消费类产品(手机)—FPGA功耗高; FPGA技术难点: 1、 需要专门的硬件语言来开发 2、 FPGA灵活性比较高,设计是由工程师来决定,需要测试验证 主图:  

    时间:2017-02-17 关键词: DSP FPGA 嵌入式开发 dsp电路

  • 嵌入式开发人才的未来发展方向

    随着无人机、无人驾驶、可穿戴设备、智能家居、智能城市等相关产业技术产品的创新应用及需求不断涌现,嵌入式系统、基础芯片、各类传感器及软件的应用越来越加深入和广泛。嵌入式系统因其体积小、可靠性高、功能强、灵活方便等许多优点,对各行各业的技术改造、产品更新换代、加速自动化进程、提高生产效率等方面起到了极其重要的推动作用。尤其是近年来,智能硬件铺天盖地的出现,一时间让人们彻底改变了过去对嵌入式系统应用的认识! 除了当下火热的智能硬件之外,一起来看看其他的嵌入式应用领域和所需要的技术!看完之后相信你对嵌入式的发展方向会有一个全面的认识。 物联网 物联网在国际上又称为传感网,这是继计算机、互联网与移动通信网之后的又一次信息产业浪潮。世界上的万事万物,小到手表、钥匙,大到汽车、楼房,只要嵌入一个微型感应芯片,把它变得智能化。有人预测,如果物联网全部构成,其产业要比互联网大30倍!物联网将会成为下一个万亿元级的通信业务。 技术需要:Linux操作体系、ARM、C/C++、Linux体系移植、Linux体系定制、驱动程序、网络、传感器、数据中心、通讯。 智能家居 随着家里的智能设备的增加,大家迫切需要一种可以便携、远距离、智能化地操控家居设备的方法。智能家居经过计算机技术、网络技术、通讯技术,将家里的智能设备经过有线或许无线网络,或许其他的无线通讯方法连接在一起,造就一个愈加智能的家居设备的操控中心,然后达到智能、便捷的意图。 技术需要:操作体系、网络、通讯、ARM、C/C++、体系移植、体系裁剪、驱动程序、传感器、操控中心、服务器、数据采集、数据库。 云计算 关于云计算目前有很多种定义方式,云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切。 云计算已经应用到越来越多的领域中,且将发挥越来越重要的作用。 技术需要:虚拟化技术、分布式数据存储技术、大规模数据管理、信息安全、云计算平台管理等。 车联网 车联网(Internet of Vehicles)是由车辆位置、速度和路线等信息构成的巨大交互网络。通过GPS、RFID、传感器、摄像头图像处理等装置,车辆可以完成自身环境和状态信息的采集;通过互联网技术,所有的车辆可以将自身的各种信息传输汇聚到中央处理器;通过计算机技术,这些大量车辆的信息可以被分析和处理,从而计算出不同车辆的最佳路线、及时汇报路况和安排信号灯周期。 技术需要:操作体系、C/C++、ARM、体系移植、体系定制、网络、通讯、传感器、数据中心、驱动程序。 智能物流 随着电商爆发式的发展,物流行业也突发崛起。智能物流就是利用条形码、射频识别技术、传感器、全球定位系统等先进的物联网技术通过信息处理和网络通信技术平台广泛应用于物流业运输、仓储、配送、包装、装卸等基本活动环节,实现货物运输过程的自动化运作和高效率优化管理,提高物流行业的服务水平,降低成本,减少自然资源和社会资源消耗。 技术需要:操作体系、通讯、传感器、网络、ARM、C/C++、体系移植、体系裁剪、数据库。 智慧城市 当前,全球信息技术呈加速发展趋势,信息技术在国民经济中的地位日益突出,信息资源也日益成为重要的生产要素。智慧城市正是在充分整合、挖掘、利用信息技术与信息资源的基础上,汇聚人类的智慧,赋予物以智能,从而实现对城市各领域的精确化管理,实现对城市资源的集约化利用。 技术需要:操作体系、传感器、ARM、网络、通讯、数据采集、数据库、C/C++、驱动程序。 智能医疗 智能医疗是通过打造健康档案区域医疗信息平台,利用最先进的物联网技术,实现患者与医务人员、医疗机构、医疗设备之间的互动,逐步达到信息化。在不久的将来医疗行业将融入更多人工智慧、传感技术等高科技,使医疗服务走向真正意义的智能化,推动医疗事业的繁荣发展。在中国新医改的大背景下,智能医疗正在走进寻常百姓的生活。 技术需要:无线网技术、条码RFID、物联网技术、移动计算技术、数据融合技术等 嵌入式市场究竟有多大?一系列数字或许可以给大家一些参考:每年全球PC的出货量大约是几亿台;手机大约十几亿台;而所有的嵌入式系统设备每年的出货量大约为一百多亿台。如此大的一个舞台,对于嵌入式从业者或即将进入这个行业的人来说绝对是一个不可错过的好机会。时下,基于市场的需求,越来越多的企业投入到智能硬件的研发工作中来。相对于市场来说从高校刚毕业的计算机专业的学生,不论从经验还是能力上与企业需求还有很大的距离。企业需要动手能力强,真正了解产品开发过程的人才。所以越来越多的人开始选择培训机构作为能力提升的一个手段。 华清远见教育集团(行业内最早、最大的嵌入式职业教育机构,www.hqyj.com)总裁季久峰表示,在嵌入式人才培养上,应始终坚持“兴趣学习”的课程设计原则。嵌入式教学依靠单一的、过时的开发板的时代已经过去了,把当下新潮的硬件产品拿到课堂上来,才能够真正的激发学员的学习热情。华清远见集团拥有几十人的专业研发团队,目前已成功研发诸如开源平板电脑、智能手表、智能机顶盒、智能小车、智能手环等时下最流行的产品,并快速应用到课程内容和项目实训中,这样才能真正的帮助学员成长,提高实战能力。 雷军说,站在台风口,猪也能飞起来。但台风并不是经常刮,猪也不是随便就能飞起来。而如今嵌入式行业的确非常有前景和钱景。当年下海经商的人富了,搞房地产的富了,开淘宝店的富了,炒股的富了。而在现在这样一个高度发达的社会想要寻找到一个好的发展机会就需要靠眼光和实力。如今,机会就在你眼前,你缺的就是行动。不拼爹,靠技术打天下,赢未来。在嵌入式行业寻找多种可能,走起!

    时间:2017-12-13 关键词: 嵌入式开发 智能硬件 基础教程

  • 嵌入式工程师经验分享:如何学习嵌入式开发

    一、嵌入式系统的概念 着重理解“嵌入”的概念 主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址, 可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到 1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由 intel进行整合后成Xscale内核的最高的处理器了。 2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组 件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择 了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。 3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科 二、嵌入式系统的分层与专业的分类。 嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。 1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。 2、 驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导 至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的 驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不 就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可 是最高的。 驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。 3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作 统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。 4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环 境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌 入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂, 并且有难度了。 三、目标与定位。 先有目标,再去定位。 学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面 的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接 口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。 因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。 于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应 的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人 干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。[!--empirenews.page--] 四、开发系统选择。 很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好, 我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计 与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年 或是一年二年能搞定的事。 在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。 ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他 搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作 系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。 而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时 所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小 公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经 验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后 直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。 我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。 五、如何看待培训。 首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。因 一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高 校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外 企年薪20多万的职位,做嵌入式系统方面的培训了。 对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有 可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年 后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一 年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年 时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,还会失业吗? 或者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样 两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏 感,当然也对人才成本敏感了,PXA255是intel的东西,一个255CPU能买三个2410,一直被业界定义为贵产品,用的公司都是大公司或为 军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。对于说为自已找了个好师傅, 我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师 傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西 我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。

    时间:2017-10-24 关键词: 嵌入式开发 嵌入式工程师 技术教程

  • 资深工程师谈:嵌入式开发的那些年

    江工告诉小编,信心、毅力、勇气三者具备,则天下没有做不成的事。从江工总结的这三点可以看的出来,成功是需要付出的。任何人任何事都离不开你内心最原本的那份自信。坚持做下去就会离成功越来越近。 1、笔者:谈一谈你学习嵌入式的那些年吧! aiku:那些年,我们一起来学嵌入式。有人用鲁迅的名篇形容大学四年:大一《彷徨》,大二《呐喊》,大三《伤逝》,大四《朝花夕拾》。想想,还真是这样! 2005年刚上大一,我开始接触51单片机,自己画板自己做板,接着又嵌入式arm。但是那时候很彷徨、迷茫,都是书本大理论,学得一头雾水。还是硬着头皮啃下去。 幸好,大二跟随电子设计室的师兄学习嵌入式实际操作,刚好学院火热开展电子设计大赛,这是一个很好的学习契机。于是,我和几个哥们组队,每天披星戴月泡在实验室,从构思、设计、编程到展演,步步摸索,从院、校、市,过五关斩六将,最后获得省一等奖。小小的成功,这也是梦想最初的呐喊吧。伙伴们共同探讨,志同道合还是挺振奋人心! 大三,学院考研风气还是挺浓厚。可惜是我英语不太好,连四级都没过,某次还被英语老师说:英语四级都没过,就先别考虑考研。她的话给我当头一棒,更是暗下决心,令其刮目相看!复习近一年多,过着“起的比鸡早,睡得比够晚”的苦逼考研生活。那段时间,每次疲惫不堪时,总以恩格斯的“没有哪一次的痛苦,不是以人类的进步为补偿”激励自己。苦尽甘来,考上啦!离毕业还有一定空挡时间。我就想做过那么多项目,为何不将经验总结?“朝花夕拾,雁过留声”嘛,我就重点将比赛的各个项目归纳整理,这也是我在论坛里共享研究生三年项目资料的一部分。 2009年,攻读研究生,加入导师的“创新嵌入式实验室”,和师兄几个参与导师的嵌入式项目。我主要负责虚拟平台总线设备驱动开发、音频驱动开发以及bootloarder模块开发。 工作内容涉及到Linux应用程序开发、LinuxTCP/IP协议栈的改动、Linux内核驱动模块的开发等等。现正编写【嵌入式项目实战经典视频教程】,利用周末,在YY课堂上,讲解《嵌入式入门开发及实战项目开发》。嵌入式开发的学习路上,我始终坚信天道酬勤,一个人的成功与否,取决于业余时间的开发利用。 2、笔者:能否分享一下学习linux或者是ARM时你有哪些收获呢? aiku:非常高兴能有这个机会与大家一起交流一些经验,谈一些我在电子设计以及做嵌入式项目开发方面的感受,希望我们能够共同进步。首先,我感谢我们的队友! 我认为,积极地参与嵌入式项目实战,不仅可以充分的体会到自己动手实践的乐趣,获得哪怕是前进一小步时候的那种成功的喜悦,还有以下的几点收获: (1)有利于我们学习能力的提高。这里所说的学习能力包括获取资料的能力、理解前人思路的能力、系统设计能力、动手能力、分析排除故障能力、表达能力等很多方面。 (2)有利于我们团队精神的培养。不管在学校还是社会实际的工作中,我们一般都要与人合作共同完成某一项目,这就非常需要团队精神,而这一点在课堂常规教学中得到的锻炼是很有限的。嵌入式项目开发要求人必须互相信任、互相配合、分工合作。在顺境时小组成员要相互提醒保持冷静,逆境时要相互鼓励共度难关,出现问题时不能相互埋怨。这些与学校里面的课堂教学强调独立性是有明显区别的。 (3)有利于我们应变能力的提高以及思维能力的提高。在做项目的过程中要求我们在规定时间内完成规定的项目,时间急迫会说出现各种意想不到的结果,所以我们必须在尽可能短的时间内解决问题,这就需要在平时的训练中提高应变能力。 那么,如何来准备成为嵌入式实战项目高手呢?我认为,最好有一个前辈领着你一起学习,一起搞项目。这样你遇到问题你就可以有人教你,进步飞快!其次,你可以使用一套有价值的教程领你进入linux世界! 3、笔者:能否给大家简单介绍一下学习linux的侧重点有哪些呢? aiku:很多朋友在学习arm+linux都很迷茫,他们都在问,作为一个新人,怎样学习嵌入式Linux或者如何学习嵌入式等问题这些问题被问过太多次,很多都可在这里找到答案,自学嵌入式最大的障碍是什么?就是有问题没有地方提问,从而打击了学习的积极性。 作为一名嵌入式【创科之龙】团队的aiku来说,我想我可以做一些唠叨甚至可以说一下一些建议和意见,希望我的分享能给他们以启发。嵌入式的入门门槛稍微高一点,但是再高的城墙也是小砖头筑起来的,所以没有必要因为门槛高就觉得很困难,一步一个脚印,贵在坚持就可以了,当然,嵌入式学习是一个漫长的过程,如果你的兴趣不在于嵌入式,而只是为了某些目的而学习,那学习对你来说就是一件枯燥的事情。 搞过ARM,其实有C语言基础,学起来就轻松很多,驱动,其实也不难,因为对于电子的学生来说。对硬件有一些了解,写驱动是不难的。驱动,有一个固定的模型,都差不多的。其实我们常见的驱动,LINUX内核里面都有的了。这些暂时从简单开始,没有必要研究太深入。 4、笔者:大家都知道学习讲究方法,那么学习嵌入式系统可以分为哪几个阶段呢? aiku:我个人认为可以分为4层,硬件层、驱动层、操作系统层和应用层。 1)硬件层,是整个嵌入式系统的根本,如果你们现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成简单的硬件逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,它的增值还需要要靠软件。 我个人觉得硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识大概有单片机原理及接口技术、微机原理及接口技术、C语言。 2)驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。[!--empirenews.page--] 我个人觉得驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要了解。驱动开发方面,建议先从简单的入手,比如串口/并口/LED/矩阵键盘/IIC等,难一点再做PCI/USB等其他的。 3)操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,因此这部分工作相对来讲没有太大意义。 4)应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。 目前为止,我了解驱动开发的待遇都是非常高的,本科出来工作5-6年,一般待遇都10k左右!如果我们初学者想从事android手机驱动开发,本科出来5-6年一般都会有15k月薪,研究生2-3经验那么也有20k。 所以我建议大家先把字符设备驱动学好,后面把平台总线驱动学好,接下来就可以接手android的手机驱动开发或者android驱动开发。 5、笔者:您做这么多项目,什么让你感觉最有成就?感觉最艰难的项目是什么?您又是如何克服这些问题的呢? aiku:我们【创科之龙】几个队友,做大大小小的项目应该不下100个嵌入式的项目,在开发嵌入式的项目的过程中让我们最有成就感的就是:积累丰富的项目经验。 在做嵌入式项目中,最大的艰难就是眼看要交货了,现在项目遇到技术瓶颈,解决好多天甚至一个月了,都没有进展。遇到这样后,我一般都先网上查查,是不是有前辈有遇到跟我一样的问题,如果有,那当然好解决,如果没有,那么我接下来要冷静分析整个项目过程的思路,到底哪里出问题?为什么会出现这个问题?为什么会导致这样问题?是什么原因导致这样的问题~?然后和队友的一起谈论一下项目整个状况。因为每个人的思维都不一样,也许别人的思维就是可以解决我们现在遇到的问题,因此我还是要强调个人的力量是有限的,团队的力量是无穷的! 6、笔者:从事LINUX驱动或者是安卓驱动工作的话,初学者应具备哪些专业技能呢? aiku:1)学会写简单的makefile 2)编一应用程序,可以用makefile跑起来 3)学会写驱动的makefile 4)写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动的init函数里打印helloworld,insmod后应该能够通过dmesg看到输出。 5)写一完整驱动,加上read,write,ioctl,polling等各种函数的驱动实现。在ioctl里完成从用户空间向内核空间传递结构体的实现。 6)写一block驱动,加上read,write,ioctl,poll等各种函数实现。 7)简单学习下内存管理,这个是最难的,明白各种memory、alloc的函数实现细节。这是Linux开发的基本功。 8)学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。 9)看内核中实际应用的驱动代码。你会发现最基本的你已经知道了, 大的框架都是一样的,无非是read,write,ioctl等函数的实现,但里面包含了很多很多细小的实现细节是之前不知道的。这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。推荐您看2.6.20中integrated的一个驱动kvm,记得是在driver/lguest下,很好玩的,就是Linux下的虚拟机驱动,代码不长,但功能强大。 7、笔者:安卓驱动开发需要学习安卓的framwork框架吗?如果学习有什么好的建议。 aiku:Android的驱动开发不需要学习framwork框架;而framwork框架只是正对一些系统架构人员开发的。 不管学习linux驱动还是学习android驱动开发,它们的门槛都是比较高的,所以为什么说工作几年的android驱动工程师动不动就年薪10w以上的原因。 因此,学习android的驱动最好的学习方法要找对人学,要找对资料学,最重要要找到目标来学。 后记:很多人总说时间不够,没有时间去做想做的事情,这种时候你有没有静下心来思考过你是否真的有用心去做呢?时间就是海绵,挤一挤就有了。为了我们的青春无悔,珍惜时间,你会享受更好的生活。

    时间:2017-10-24 关键词: 嵌入式开发 资深工程师 技术教程

  • 嵌入式开发学习:ARM硬件仿真软件SkyEye使用简介

    SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统(目前支持基于arm7tdmi的AT91开发板);可在SkyEye上运行uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试。SkyEye的推出具有下面两方面的意义: 首先,通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段。因此,如果您想学习Liunx操作系统或者进行嵌入式系统开发,但苦于没有硬件支持的话,欢迎使用SkyEye仿真环境软件! 1 在linux 下安装skyeye 1.1 从源代码进行安装skyeye 下载最新的skyeye-v0.x.x.tar.bz2源码包,目前最新的为skyeye-v0.4.7.tar.bz2 解开skyeye-v0.x.x.tar.bz2 : tar jxf skyeye-v0.x.x.tar.bz2 进入解压后的skyeye目录,按照SkyEye.README介绍的步骤做configure,make,make install cd skyeye ./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest make make install 如果一切正常,则在/usr/local/bin目录下,有一个执行文件skyeye 注意: 需要指出的是,在mandrake8.2环境中,make 时会有error,不过不是什么大问题, error:display.c->tcap.h->termcap.h:no such file or directory 在本机/usr/include下find一下,termcap.h头文件在/usr/include/ncurses目录下, 将termcap.h中的改成 重新执行make就ok了。 执行make install命令后,skyeye默认安装在/usr/local/bin/目录下,你可以通过改configure命令参数prefix来改变安装路径。 1.2 直接安装编译好的skyeye 下载最新的skyeye执行代码skyeye-0.x.x-redhat9.0.bin (目前只提供了在redhat9下编译好的代码),目前最新的版本为 skyeye-0.4.7-redhat9.0.bin 把下载的skyeye-0.4.7-redhat9.0.bin 移动到/usr/local/bin下,并改名为skyeye,改变skyeye的属性: mv skyeye-0.4.7-redhat9.0.bin /usr/local/bin/skyeye chmod 755 /usr/local/bin/skyeye 2 安装arm-elf交叉编译器 (用于编译ucosii4skyeye 和 uclinux4skyeye) 下载arm-elf-tools-20030314.sh 位于 ftp://166.111.68.183/pub/embed/uclinux/soft/tools/arm目录下,或到www.uclinux.org处下载 改变文件属性,并执行: chmod 755 arm-elf-tools-20030314.sh ./arm-elf-tools-20030314.sh 结束后,arm-elf-gcc/gdb....工具会安装到/usr/local/bin下 3 安装 ucosii for skyeye 3.1 从源码安装 下载ucosii for skyeye源代码,目前的最新版本源代码为ucosii4skyeye-v1.8.2.tgz 解压文件: tar zxf ucosii4skyeye-vx.x.x.tgz 进入解压生成的目录下,编译ucosii for skyeye: cd ucosii4skyeye make config make dep make 结束后,则生成五个sample的执行文件,分别位于ucosii4skyeye/samples/对应的应用名目录下。 3.2 直接下载编译好的cuosii for skyeye 目前最新的版本为ucosii4skyeye-binary-v1.8.tgz 解压文件: tar zxf ucosii4skyeye-binary-v1.8.2.tgz 4 调试 ucosii for skyeye 在一个存在 skyeye.conf和*.elf文件(设为simple_test.elf)的目录下,执行: skyeye simple_test.elf (skyeye) target sim (skyeye) load (skyeye) run 就可以看到程序运行的情况 5 编译并运行uClinux-dist-20020927.tar.gz 运行环境:redhat9 前提:安装了 arm-elf-tools工具 以uClinux-dist-20020927.tar.gz为例。位于 ftp://166.111.68.183/pub/embed/uclinux/soft/目录下,或到www.uclinux.org处下载 将uClinux-dist-20020927.tar.gz下载并解开,比如解开在/usr/src/uclinux-dist/下,然后在/usr/src/uclinux-dist/目录下执行如下命令: tar zxf uClinux-dist-20020927.tar.gz cd uClinux-dist 在图形方式下可用命令 make xconfig 或 在命令行方式下可用命令 make menuconfig 在vendor/product中选择GDB/armulator,kernel版本选择2.4,save and exit. 这时在/usr/src/uclinux-dist/linux-2.4.x目录下生成linux文件 如果想一步生成带调试信息的linux kernel执行文件和linux kenel 执行文件映像和磁盘映像文件romfs.img 可简单是运行命令 make dep make 就行了。可查看/usr/src/uclinux-dist/images/下是否有文件 romfs.img等 在/usr/src/uclinux-dist/linux-2.4.x目录下生成linux的elf格式的内核执行文件 ------------------------------------------------------------------------------------------------------------------------------------------------- 在 uclinux-dist 目录下建立仿真AT91的skyeye配置文件 skyeye.conf,内容如下: cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000 mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000 mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000 mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000[!--empirenews.page--] 这个时候就可以用skyeye来调试运行kernel了,在/usr/src/uclinux-dist执行如下命令: skyeye linux-2.4.x/linux (skyeye)target sim (skyeye)load (skyeye)run kernel start..... 注意: 要在 skyeye.conf 所在目录下执行skyeye。 6 下载测试软件集合 目前最新版本的测试软件集合为: skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2 到 ftp:/166.111.68.183/pub/embed/skyeye/binary/下载 解压并测试: tar jxf skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2 cd test

    时间:2017-10-24 关键词: ARM 嵌入式开发 硬件仿真 设计教程

  • 2009-2010年中国嵌入式开发从业人员调查报告

    调查背景嵌入式软件是嵌入式系统的核心技术之一。在2008年中国软件业收入的7570亿元中,嵌入式软件就占了14.8%,在软件出口中占了2/3左右;目前中国前10家最大的软件企业中,5家是嵌入式软件企业。可以说,嵌入式软件对于中国的重要性,相当于离岸外包对于印度的重要性。而随着城市信息化和行业信息化的持续深入,嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。每年全球嵌入式系统相关工业产值已超过1万亿美元,全球嵌入式系统硬件和软件开发工具市场约值2千亿美元,而中国嵌入式软件的产业规模也已经超过千亿元人民币。赛迪顾问提供的数据表明,由于市场空间巨大,中国嵌入式软件产业将继续保持高速增长,2009年中国嵌入式软件市场规模已达到2496.2亿元人民币。而到2011年,其规模有望达到4650亿元人民币。随着智能化电子行业的迅猛发展,嵌入式行业凭借其“应用领域广、人才需求大、就业薪资高、行业前景好”等众多优势无疑已成为当前最热门、最有发展前途的行业之一,与此同时,嵌入式研发工程师更是日益成为IT职场的紧缺人才。为了让更多想从事和即将从事嵌入式研发工作的朋友们能够更好地、更充分地了解嵌入式行业领域,华清远见嵌入式培训中心联合多家业内专业媒体在2008年底到2009年初共同开展了“2008-2009年中国嵌入式开发从业人员大调查”。并隆重推出了中国嵌入式领域第一份最具广泛性、权威性和实用性的产业调查。该报告一经推出即引起了强烈的反响,获得了业内同行的高度关注。2009年底应众多业内同行和广大嵌入式从业人员的需求,华清远见再次联合行业主管协会、业内知名企业、专业媒体共同推出“2009-2010年中国嵌入式开发从业人员大调查”,以期待帮助大家更多地了解嵌入式开发从业人员现状,更好的认识和定位自我,规划嵌入式行业内的职业发展。   同时,本次调查特别成立的更加庞大、专业的专家顾问团队,也有效确保了调查数据和统计结果的专业性和权威性。  本次调查活动继续秉承专业、严谨、客观、实用的原则,延续2008-2009年调查问卷的涉及内容,共有7000多名嵌入式工程师参与了调查,最终有效问卷为6734份,其中包括3000名抽样于华清远见2004至2009年已结束培训的学员,在此我们向所有参与本次调查的工程师表示衷心的感谢。下面我们和大家分享一下此次调查的统计信息,同时通过与2008-2009年度调查报告的对比,我们将可以看到更多数据背后所呈现的嵌入式企业与人才的变化趋势及实际意义。 总结报告一、嵌入式工程师个人基本情况此次2009-2010年度调查问卷继续秉承2008-2009年调查问卷的设计内容,对于嵌入式工程师个人基本情况的调查,重点仍然是放在对工作经验、学历、薪资等关键信息的调查上,同时我们也通过与2008-2009年调查结果的对比,得出一个直观的在时间跨度上的变化趋势。1、工作经验 来自华清远见2009-2010年度的调查数据显示,目前从事嵌入式开发“不到1年”和“1-2年”的工程师所占的比例依然是最大的,分别是39%和21%,占总参与调研人数的绝大部分(60%),而具备多年开发经验的嵌入式工程师相对来说还是比较少。这与2008-2009年度的调查结果几乎相同,嵌入式产业作为软件产业的一个热门领域,正吸引着越来越多的工程师的关注。08年度的嵌入式初学者,如今已具备1-2年的工作经验,而09年新加入到嵌入式行业的人群以略高于去年的比例位居第一,由此可见,嵌入式开发在2009年度取得了比2008年度更高的关注度,从嵌入式行业09年的整体发展趋势来看,这个结果并不难想象。通过业内的新闻报道,我们可以了解到,2009年度嵌入式产业以其广阔的市场前景得到了更多国际名企的关注以及政府政策的扶持,各大名企动作频频,同时3G互联网领域的突起,也带动了3G嵌入式人才的需求,嵌入式行业目前供不应求的现状仍然亟待解决。2、学历要求 调查数据显示,嵌入式开发从业人员学历以本科(58%)和硕士(24%)居多,占所有参与调查人员的82%,与去年调查报告结果基本持平,其中本科学历的比例比去去年高了5个百分点。大专学历占13%,比2008-2009年度上升了一个百分点,而大专学历以下、博士和博士以上学历则占非常小的比例。从这个调查数据可以看出:嵌入式开发目前依然属于高端研发领域,对学历要求相对较高,嵌入式从业人员至少应具备大专学历基础(理工科相关专业),本科以及硕士则是这一领域从业人员的主体。与去年调查结果对比一下,我们可以看到本科人群有了较为明显的增长,由此可见,随着嵌入式技术的普及与推进,以及就业前景好薪资待遇高的优势吸引,越来越多的学生从本科在读阶段开始就了解并关注到了嵌入式行业,而本科作为学历教育中最庞大的基数群体,也势必将以不断增长的比例稳居此项调查的第一位。3、薪资分布  调查数据显示,月薪在“3000-5000元”和“5000-8000元”的工程师所占的比例最大,分别是45%和29%,占总参与调研人数的绝大部分(74%),月薪“8000-12000元”的占12%,其它高薪以及低薪所占比例均较小,基本与去年的调查结果持平。可以看出,嵌入式从业人员薪资待遇并没有受到2009年金融危机的影响,依然相比其他行业要高,一般从刚入行到工作一两年左右,薪资就可以达到3000-8000元/月之间,而具备多年工作经验的嵌入式开发工程师月薪则可达到8000-20000元/月,嵌入式从业人员薪资增长空间较大,职业发展非常有潜力。二、嵌入式行业公司的基本状况为了帮助大家清楚地了解嵌入式企业的规模和人才需求,本部分调查内容主要从“公司产品所属领域、人员规模、软件开发平台、软硬件人员安排、软件开发语言、人才需求”等方面展开,调查统计数据的结果如下。1、所属行业分布情况 嵌入式应用领域极为广泛,调查数据显示,嵌入式产品应用最多的三大领域是“消费电子、通信设备、工业控制”,所占比例分别是26%、18%和12%,三大领域所占比例之和接近60%,特别是消费电子领域,随着3G网络的大规模建设与智能化手机的迅速普及,移动娱乐与移动商务的价值及商业机会已经无处不在,特别是智能手机的日益升温,基于移动平台的研发需求大量增加。同时,安防监控、信息家电、汽车电子、医疗设备依然是嵌入式产品的重要应用领域。2、公司规模 调查数据显示, 100人以下的企业(包含“50人以下”和“50-100人”)所占比例超过一半,与去年的调查结果基本一致。总体来讲,国内嵌入式企业规模还是相对较小,资金有限,但数量庞大,总体技术水平与国际技术水平有一定差距,但是随着行业整体的发展,国内企业有很大的成长空间和发展潜力。目前,嵌入式软件已成为推动“中国制造”向中国“智”造转型升级的关键之一。目前嵌入式软件作为未来发展前途广阔的IT应用领域之一,得到了国家政策的很好扶持,把发展嵌入式系统和嵌入式软件作为IT制造业产业结构转型的抓手,是切实可行的、符合中国国情的,“十一五”期间,嵌入式软件与系统的科技创新已被列入国家重大专项“核高基”的内容之一,将进一步推进嵌入式基础软件在智能手机、数字电视、汽车电子领域实现重大产业化应用。同时我们也必须了解:为了更好地推动企业的规模化,除国家政策的支持外,普及嵌入式技术,建立多渠道的嵌入式人才培养体系也是推动企业发展的重中之重,否则嵌入式专业人才的巨大缺口将成为束缚嵌入式企业快速发展的瓶颈。3、软件开发平台的选择 调查数据显示,在软件开发平台的选择上,嵌入式linux占据了明显的优势(53%),比去年的数据略有上升,Linux以其开源成本低的优势依然受到众多嵌入式企业的欢迎,排名二三的Windows CE/Mobile和UC/OS-II,所占比例分别是16%和9%。和2008-2009年度调查数据相比,最明显的差别就是基于手机平台的操作系统使用比例上升幅度较大,作为智能手机的主流嵌入式操作系统Symbian、Android和iphoneOS则分别占了4%、3%、1%的比例,这个数据也显示之前symbian一家独大的局面也慢慢呈现百花齐放的竞争格局,Android和iPhone做为手机操作系统领域的后来者,以其独特的商业模式,渐渐成为各大手机厂商新的选择。3G移动互联网开发,在全球云计算和物联网大的产业带动下,在未来的几年内,将会得到高速发展。4、软件开发语言的使用 调查数据显示,在软件开发语言的使用上,C语言作为嵌入式开发最经常使用的语言的地位也是无容置疑的,所占比例高达71%,C++所占比例为15%,位居第二,其他开发语言均占据了较少的比例。从这组数据也可以看出,传统的嵌入式开发主要基于是C语言,不管是工业控制领域、通信领域,还是消费电子,C语言均是首选;不过,2009年随着3G技术的推动,移动互联网发展迅速,C++、Java等高级语言也得到广泛应用,未来几年基于移动开发的语言将会呈现多样性的局面。5、软硬件人员的安排 调查数据显示,在大部分从事嵌入式产品研发的企业中,基本都是采用软硬件人员分工合作完成产品的开发(接近60%),由此我们可以看到企业最需要的还是擅长某一方向的专才,这一点与2008-2009年度的调查数据相比基本没有什么变化。而从整体统计数据上看,排名前三位的企业人才需求上,软件开发技能的需求高于硬件开发人才的需求,这一点从各大招聘网站的搜索数据中也能够充分体现出来,目前嵌入式软件开发人才的需求量远远大于硬件开发人才,嵌入式系统项目研发差不多80%以上的工作量在软件部分,软件是嵌入式系统最核心的部分,也是体现嵌入式系统优势最关键的部分。当然从求职的角度来讲,同时具备软硬件开发能力的工程师,在求职过程中拥有更多的选择机会。6、企业人才需求现状 调查数据显示,嵌入式人才需求目前仍然是供不应求,这个调查结果在去年的基础上有所上升, 80%以上参与调查的工程师都表示,自己公司目前都急缺嵌入式开发方面的人才,如此巨大的人才缺口,表明了在嵌入式技术高速发展的今天,专业的嵌入式开发人才已成为整个行业发展的一个瓶颈,如何培养适合企业需求的嵌入式开发人才也成为整个行业面临的严峻问题。另外,随着云计算和物联网产业的启动和发展,嵌入式做为基础技术平台,势必会出现井喷发展时期,进而对人才需求出现更加旺盛的局面,相信2011年和2012年这个数据会发生较大的变化。三、嵌入式工程师对职业生涯的看法作为一个正在迅猛发展的行业,许多工程师和准备进入行业的人都非常关注未来的职业规划和职业发展。本部分调查依然是主要从“对行业前景的看法、对工作薪资的满意度、对公司所给予你的成长空间、是否经常加班、公司人才需求、工作成就感以及对未来职业人生的规划”等方面展开,希望能从整体上展现嵌入式工程师对目前工作状态的的满意度状况。1、对行业前景的认可度 调查数据显示,绝大部分嵌入式工程师都认为嵌入式是非常有发展前途的行业(96%),而在这96%参与调查的工程师当中,53%的工程师充满信心,准备施展才华,另有43%的工程师虽然对嵌入式行业前景表示认可,但有时也会觉得迷茫。随着嵌入式行业的快速发展和更加规模化,有越来越多的工程师更希望能够投入到这一富有发展前景的专业领域中,但在这一过程中,嵌入式企业以及从业人员依然需要保持良好的心态,精耕细作,只有脚踏实地才能真正在这一专业领域有所作为。 2、对工作薪资的满意度 薪资满意度调查结果显示, 49%的嵌入式工程师对目前的薪资待遇基本满意,40%的嵌入式工程师表示不满意,而非常满意和非常不满意均占较小比例,分别为5%和6%左右。嵌入式工程师对薪水满意度超过一半,相比其他IT行业这个比例算比较高的,这可能与嵌入式行业薪水普遍较高有关系。3、未来一年薪资涨幅 2009-2010年度的对未来一年薪资涨幅的调查中,51%参与调查的工程师表示涨幅在0-20%之间,认为薪资涨幅在21%-40%之间的为29%,而选择“有可能不涨反降”的为6%,其他涨幅较高的选项仅有很少一部分工程师选择。2009年经济危机开始慢慢恢复,对比2008年经济危机期间此选项的调查结果,我们可以看出,新增涨幅处于上升趋势,具备多年嵌入式开发经验的工程师将会在职业发展上获得更多的涨薪机会。4、对公司所给予的发展空间的满意度 2009-2010年度的对公司所给予的成长空间的调查中,60%的工程师表示基本满意,27%的工程师表示不满意,非常满意和非常不满意则均占9%和4%左右。从这组数据可以看到,在嵌入式行业内,公司对嵌入式工程师给予了比较多的关注,关心他们的成长,尽量降低他们的流动率,这可能也与目前行业内嵌入式工程师相对更加紧缺有直接关系。5、是否经常加班 在问到是否需要经常加班时,58%的工程师选择“是”,而回答“否”的则占42%左右。对于整个IT行业从业者来说,加班文化已被无数媒体多次提及,而作为正蓬勃发展的嵌入式行业,相对传统IT企业的几乎超过80%以上的加班文化,其实还是相对人性化。事实上,从企业长远发展来看,人性化的管理制度其实更有利于帮助企业留住人才,而对于个人来说,提高个人生活质量与提高工作质量同样重要。6、工作带来的成就感 此次调查显示,97%以上的调查人员表示生活中的快乐和成就感主要来源于工作,并且热爱自己目前从事的工作,而仅有3%参与调查的工程师表示自己生活中的成就感较少取决于工作。由此可见,工作依然在每个人的自我价值实现中扮演着非常重要的角色,更多的在职工程师希望能从工作中获得更多的成就感。而相信整个嵌入式行业欣欣向荣的局面,也为业内的工程师们带来了更多的信心和成就感。7、未来职业人生的规划 在对未来职业人生的规划调查中,接近70%的工程师给予了肯定的评价,其中45%的工程师表示想提升自己的层次,希望目前所在公司能给自己更大的成长空间,23%的工程师表示喜欢自己现在的公司以及工作职位,短时间内应该不会有较大的改变。考虑跳槽的工程师所占比例为19%,打算自己创业的为9%,其他选项均占较小比例。通过以上7个选项的调查,我们大致可以了解到嵌入式工程师对目前工作状态的满意度状况:虽然存在着加班以及部分工程师对薪资/成长空间存在这一些不满,但整个行业的从业者体现的仍然是一种蓬勃向上,积极进取的工作状态,他们对行业前景充满信心,希望能从工作中获得更多的成就感,也希望自己能在目前的公司获得更多的成长空间而不是通过跳槽来实现更好的职业发展。在嵌入式这样一个人才紧缺的领域,企业求才若渴,人才竞争压力并没有传统IT行业那么大,因此工作满意度更大部分取决于个人的能力,相信只要不断提升自己的能力,就可以随着行业的迅猛发展获得更高、更快的职业提升。四、嵌入式工程师对参加培训的看法随着互联网时代向物联网时代的过渡,对着PC时代向嵌入式时代的发展,随着3G移动产品需求的爆炸式增长,在相关专业领域内专业技术人才的匮乏必将更加突出和明显,日益增长的企业招聘需求已引起了多方关注,而面对企业的人才需求,由于IT行业的高价技术版权以及高校严格的学术管理体制等原因,高校教材及课程体系的更新难问题却使得从高校毕业的学生无法立刻满足用人企业的需求。在政府和企业大力呼吁人才培养的紧迫性时,职业教育慢慢的被认可并成为解决这一人才难题的首选。本次问卷特意设置了针对职业培训方面的几个调查选项,希望能为更多想迈入嵌入式行业的朋友提供有意义的参考。1、如何看待培训 在谈到如何看待培训这一话题时, 71%参与调查的嵌入式从业人员,对参加培训都表示了较大程度的认可,20%的工程师表示在需要的时候可能会考虑,仅有9%的工程师表示希望通过自学来实现职业上的提升。2、公司内部是否组织过培训 调查数据显示,接近60%的公司从未组织过嵌入式相关方面的培训,33%的公司组织过由公司资深老员工负责讲授的培训,而9%的公司邀请过外部专业培训机构来进行系统的培训。通过调研华清远见04-10年的企业内训客户数据信息,我们看到,绝大部分企业内训客户均为大型外企(包括三星、摩托罗拉、阿尔卡特、西门子等),这反应了外企在员工个人技能提升方面比较重视,每年在员工培训方面均有固定的资金投入,而国内企业在这方面相对预算较小,对员工技能提升方面重视不够。希望国内的嵌入式企业在得到发展壮大的同时可以去关注一下员工个人职业生涯的发展,将公司业务与员工个人成长结合起来,只有这样企业才能更长久的留住人才。3、公司是否支持员工参加培训 在问到公司是否支持员工参加外部培训时,绝大部分公司(接近80%)表示支持员工参加外部培训来提高个人技能。通过以上三个选项的调查,我们可以看到,绝大部分工程师都对培训的价值表示认可,虽然大部分公司从未组织过嵌入式相关方面的培训,但绝大部分公司都对员工参加外部培训表示支持。嵌入式属于高端研发领域,入行门槛相对较高,专业的培训机构拥有强大的师资团队以及完善的课程体系,可以提供较为系统的学习方案,帮助初学者在短期内掌握迈入该行业所需的基本技能,这也是职业技能培训的优势。在自学与培训的选择中,个人可以综合时间、金钱以及自学能力等多方面因素考虑,选择最适合自己的学习方法。五、嵌入式工程师获取信息的途径嵌入式行业,技术的更新是非常快的,每一位工程师都需要在工作中不断的更新自己的知识,掌握技术动态或者解决自己工作中遇到的问题,而网络则成为必不可少的工具之一。第五部分主要是调查工程师在使用网络方面的一些偏好,比如“经常光顾的网站、获取专业知识的途径、首选的搜索引擎”等,希望通过此部分的调查让更多的人了解绝大多数嵌入式工程师如何利用网络来学习。1、经常光顾的网站 调查数据显示,在嵌入式工程师经常关顾的网站中,CSDN和21IC所占的比例最大,分别为23%和18%,而这两个网站也分别代表了编程开发人员以及电子工程师两类人群,而嵌入式在线、电子工程专辑、电子产品世界、EDN、IT实验室所占比例均为10%-15%左右。2、获取专业知识的途径 调查数据显示,“技术图书、专业论坛、业内门户网站、搜索引擎”是嵌入式工程师获取知识的主要途径(接近70%),其中各项所占比例分别为20%、16%、16%、14%,网络已经成为工程师获取专业知识的主要途径。除了以上4大途径外,部分工程师也会通过培训、厂商网站、博客/群组、杂志/期刊/报纸、行业展会/技术研讨会以及电子邮件订阅等途径获取信息。华清远见提供的免费电子图书、视频教程等资料每年下载次数已达到十多万。3、首选搜索引擎 对搜索引擎的使用调查中,百度虽然占据国内搜索引擎市场绝大部分的市场份额,但超过60%以上的嵌入式工程师们却明显偏爱于使用google,造成这一结果的原因是,工程师们可以从国外的网站获取更多技术资料以及学习资料。同时我们也可以得出这样一个结论:在嵌入式这一高端领域的学习中,因为很多技术资料都是英文的,所以要及时了解技术发展、学习相关的技术,开发者具备一定的英文阅读能力是非常有必要的。调查报告PDF电子版下载地址:http://download.farsight.com.cn/download/pdf/Embedded-Report2.pdf六、特别声明“2009-2010年中国嵌入式开发从业人员大调查”问卷的所有内容、版权均属北京华清远见科技信息有限公司(以下简称华清远见)所有,任何媒体、网站或个人未经华清远见协议授权不得转载、链接、转贴或以其他方式复制发表。已经华清远见协议授权的媒体、网站,在下载使用时必须注明“内容/调查报告来源:华清远见/2009-2010年中国嵌入式开发从业人员大调查”,违者华清远见将依法追究责任。

    时间:2010-07-14 关键词: 2009 2010 报告 嵌入式开发

  • 软件行业新高度――嵌入式开发出奇制胜

    作为目前拥有最大产业规模和最具广阔前景的新兴行业之一,软件产业的发展始终关系着一个国家的发展前途和未来。而作为产业发展的根本,专业人才更是成为软件产业发展的核心要素。随着软件需求的不断进步和发展,专业化软件人才培养早已成为中国教育培训界的热点。然而,摆在中国软件界和教育界面前的重要问题是:大量高等院校毕业生事实上都面临着择业困境。这主要是由于近几年公办高校扩招,加之民办高校急增,招生规模不断扩大,招生分数不断降低,而不少大学生大学学习不认真,动手能力差,缺乏实践经验,从而导致大学生整体素质下降,无法满足企业的实际需求。。究其原因,经验不足是大学毕业生面临招聘需求的最大劣势,大多数企业都希望能够直接招聘到具有项目实战经验的人,希望能够帮助企业解决实际问题,直接给企业创造价值,因此大学生素质和企业招聘需求之间的差距直接导致了大批软件企业难以招收到适用的人才。 同时,传统软件开发的企业,往往是这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。不同的客户所要求的软件开发平台可能完全不同,因此传统软件开发行业的工程师往往会感觉非常辛苦。而嵌入式开发作为软件开发行业内的新领域,随着物联网、3G等产业的迅猛发展,已俨然成为软件行业的新高度。作为目前移动互联网的核心组成,嵌入式系统无疑是当前最热门、最有发展前途的IT应用领域之一。特别是随着消费家电、医疗电子、工业控制等领域的智能化,嵌入式产品的应用更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。嵌入式软件是嵌入式系统的核心技术之一。在2008年中国软件业收入的7570亿元中,嵌入式软件就占了14.8%,在软件出口中占了2/3左右;中国前10家最大的软件企业中,5家是嵌入式软件企业。每年全球嵌入式系统相关工业产值已超过1万亿美元,全球嵌入式系统硬件和软件开发工具市场约值2千亿美元。赛迪顾问提供的数据表明,由于市场空间巨大,中国嵌入式软件产业将继续保持高速增长,2009年中国嵌入式软件市场规模已达到2496.2亿元人民币。而到2011年,其规模有望达到4650亿元人民币。而从事嵌入式软件开发的好处是:1. 目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件,对软件专业水平要求较高,而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,这一领域较新,很多软硬件技术出现时间不长或正在出现(如ARM处理器),掌握这些新技术的人少。嵌入式人才稀缺,身价自然就高,经验与薪水也成正比。其实嵌入式人才稀少,主要是嵌入式开发的门槛较高所致,大多数人在校内没有条件接触,身边也缺少有经验的人进行指导。2. 与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间,有时间进行充电和休整。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些,时间长了这些东西会越搞越有经验。而华清远见作为专注于嵌入式培训的专业机构,其强大的技术背景和优秀的师资团队,将为希望进入嵌入式行业、从事专业嵌入式开发的朋友提供专业、可靠的嵌入式就业培训服务。截止到2009年底,从华清远见成功走入嵌入式行业的工程师已经突破一万两千名,已经成为嵌入式领域的生力军。

    时间:2010-07-09 关键词: 软件 嵌入式开发

  • 2010-2011年中国嵌入式开发从业人员调查报告隆重推出

    调查背景     当整个IT行业的发展已经进入第三个十年的时候,物联网、云计算俨然已成为信息产业的主旋律,不管从政府大力扶持的力度来看,还是从产业变革的主流方向来说,这股潮流早已势不可挡,而嵌入式系统正是这些产业应用技术中最核心、最关键的部分,正因为如此,随着嵌入式技术在整个信息产业的广泛应用和高速发展,IT行业的发展也势不可挡地进入了嵌入式时代。潜移默化中,嵌入式技术正在迅速改变着我们的生活方式和工作方式,嵌入式产品也以非常迅猛的速度不断渗透到我们周围的各个行业、各个领域,小到手机、iPad、机顶盒、智能家居,大到通讯基站、航天卫星、现代化工业控制等,智能化嵌入式产品的广泛应用已经在其中扮演着不可替代的角色。据行业调研数据的不完全估计,2011年中国嵌入式软件市场规模将达到4650亿左右,而这一增长趋势将在未来几年继续以成倍地速度发展,毋庸置疑,嵌入式行业已成为当前信息产业中最热门、最有发展前途的行业之一,而与此同时,掌握核心软件研发技术的嵌入式研发工程师更是日益成为IT职场的紧缺人才,那些掌握软硬件开发技能的嵌入式研发工程师早已成为众多企业招聘岗位中的热点和焦点,而且专业性岗位的含金量也使得其成为企业招聘的难点。     为了让更多想从事和即将从事嵌入式研发工作的朋友们能够更好地、更充分地了解嵌入式专业领域,特别是近两年行业的发展状况和发展趋势,素有国内嵌入式及移动开发培训风向标之称的华清远见教育集团先后在2008年底至2009年初,及2009年底至2010年初联合多家业内专业媒体共同开展了“2008-2009年中国嵌入式开发从业人员大调查”及“2009-2010年中国嵌入式开发从业人员大调查”。并在广泛采集数据、深入调研的基础上,先后在2009年和2010年隆重推出了中国嵌入式领域最具广泛性、权威性和实用性的产业调查报告《中国嵌入式开发从业人员调查报告》。该报告一经推出即获得业内的高度关注,也得到了广大嵌入式从业人员的认可和共鸣,起到了很好的行业指导和从业规划建议的作用,特别是报告中汇总呈现的、描述中国嵌入式行业的发展趋势和实际现状的专业数据,更是成为整个行业状况的真实体现和实时反映。     2010年12月至2011年5月,应众多业内同行和广大嵌入式从业人员的需求,在IT产业发展又一个十年变革的开始,华清远见再次联合行业主管协会、国际国内知名嵌入式企业、数十家业内专业媒体共同推出“2010-2011年中国嵌入式开发从业人员大调查”,在上万名嵌入式从业人员的积极参与和支持下,通过调研结果数据的横向时间对比,结合业内上百家企业的深入调研情况,并参考数十位知名专家学者的分析和判断,正式推出了《2010-2011年中国嵌入式开发从业人员调查报告》,期待帮助正在关注或从事嵌入式领域专业工作的各位技术爱好者,更多地了解中国嵌入式行业的整体状况、发展趋势及嵌入式开发从业人员的现状,希望能够帮助大家更好的认识和定位自我,更有效地规划职业发展,适应整个IT产业的成长需求。     需要说明的是,做为国内最早的嵌入式培训机构,华清远见经过8年的专注和努力,从华清远见培训课堂中走出的专业嵌入式研发工程师的总人数也已经突破了25000名,他们分布在各个领域嵌入式产品研发的企业中,从而为本次行业调查提供了最基础和最直接的数据与此同时,作为嵌入式技术推广、普及和教育的倡导者和实施者,自2004年成立以来,华清远见已成功举办近千场线上及线下的“技术讲座”活动,每场讲座注册人数都在500人以上;而华清远见公开出版的专业图书的发行量每年超过15万册,读者注册数非常庞大;这些都有效确保了华清远见举办这样一份调查的针对性,能在很大程度上真实地反映中国嵌入式开发人群的整体情况。     而针对本次调查特别成立的更加庞大、专业的专家顾问团队,也共同见证了本次调查的公正性和公开性。作为目前中国嵌入式行业的知名专家和资深学者,顾问团队的专家们对国内嵌入式行业发展现状有着充分的认识和深刻的理解,他们共同参与了调查问卷的问题设计,并承担了最终报告的撰写和修订,这些都进一步确保了报告的有效性和权威性。     本次调查活动继续秉承专业、严谨、客观、实用的原则,问卷部分的问题都是经过了非常严格的设计和筛选,分别从嵌入式工程师个人基本情况、嵌入式行业公司的基本情况、嵌入式工程师职业生涯发展及获得技术提升、培训的方式等五个不同的角度进行问题设置,特别是考虑到近一年来嵌入式技术在3G、物联网等领域的广泛应用和发展,在本次调查问卷中也专门设置了相关的题目和选项,并在此基础上进行数据的汇总、统计和分析,以呈现出行业发展的专业性趋势和普遍的关注点,力争再次打造出2010-2011年度中国嵌入式专业领域最具广泛性、权威性和实用性的产业调查报告。欢迎广大嵌入式开发从业人员更多的关注和支持,并提出更多更好的建议和想法,与华清远见及众多业内知名企业携手,共同为提升嵌入式开发从业人员整体价值,推动中国嵌入式行业发展贡献一份力量!       行业调查总结报告     一、嵌入式工程师个人基本情况     延续了前两届调查问卷的角度和关注点,在本届“2010-2011年度嵌入式开发从业人员调查”活动中,对于嵌入式工程师个人基本情况的调查,我们仍然从工作经验、学历、薪资等关键项着手进行数据的汇总和分析,同时也结合前两次调查的结果数据,通过纵向的对比和分析,呈现出一个直观的、在时间跨度上的变化趋势。     1、工作经验 来自华清远见2010-2011年度的行业调查数据显示,目前从事嵌入式开发“不到1年”和“1-2年”的工程师所占的比例依然是最大的,分别是35%和20%,占总参与调研人数的一半以上(55%),相对上届调查报告的数据60%来说,低了5个百分点,而具备相对丰富开发经验的嵌入式工程师(2年以上工作经验)所占比例已开始直追50%。从这样的一个发展趋势中,我们不难看出,伴随着整个嵌入式行业的快速稳步发展,越来越多经验丰富的嵌入式工程师已经开始成为推动嵌入式技术及企业高速成长的中坚力量。而结合本报告后面关于“企业人才需求现状”的调查结果,我们也不难看到,嵌入式行业在经过近两三年的快速发展,已经进入一个稳定而成熟的高速发展和成长期,企业人才需求现状依然保持供不应求的整体状态,虽然已经有越来越多的核心技术人员加入到嵌入式专业领域,但依然无法满足企业高速发展对人才的旺盛需求。预计在这样一个人才市场活跃却不失稳定需求根基的情况下,嵌入式企业将呼唤更多嵌入式人才的加盟,以求更有效地支撑并带动企业、乃至整个嵌入式行业的再一次提升,迎来嵌入式行业的新一轮发展与竞争的高潮。     2、学历要求 来自2010-2011年度的调查统计数据显示,嵌入式开发从业人员学历以本科(54%)和硕士(22%)居多,占所有参与调查人员的76%,相对去年调查报告结果的82%,低了6个百分点,而大专学历占18%,比去年的13%高了5个百分点。从此项调查数据可以看出:整个嵌入式行业,虽然对学历的要求仍然是相对较高,本科生和研究生仍然是主要群体且在未来一段时间内依然稳居此项调查的前两位,但仍然有越来越多大专学历、掌握实用研发技能学生开始有更多的机会加入并跻身于嵌入式开发的行业。从这个调查结果中我们也可以进一步得出结论:在嵌入式技术日益普及发展的今天,更多专科院校的实用性学科建设及计算机、电子、自动化等相关专业的学生都开始越来越多的将视线投入到高薪诱人且发展前景极为广阔的嵌入式开发领域,这样的一个专业领域,也必将为更多专业院校的学生提供更多更好的高质量就业机会,从而有效推动专业院校计算机、电子等相关专业与企业人才真是需求的更好对接。 3、薪资分布 来自华清远见2010-2011年度的调查数据显示,月薪在“3000-5000元”和“5000-8000元”的工程师所占的比例最大,分别是39%和33%,占总参与调研人数的绝大部分(72%),相对去年调查数据74%低了2个百分点。月薪8000元以下上的占24%,相对去年调查数据的21%高了3个百分点。通过对此项调查数据与“工作经验”项调查数据结合在一起,进行深入分析,我们几乎可以得到这样一个非常有价值的工作经验与薪资的对应关系:工作经验不满一年(占35%)的嵌入式工程师月薪完全可以达到3000-5000元甚至5000元以上(占39%),而工作经验一年左右(占20%),月薪则可以上涨到5000-8000元甚至8000元以上(占33%,),三年以上工作经验(占29%)的嵌入式工程师绝大部分可以拿到月薪8000元以上(占24%)。该项调查通过客观的数据分析结果,全面反映了嵌入式开发从业人员的一个整体薪资待遇情况,显然由于整个嵌入式行业正处于高速发展期,这就必然使得专业人才的薪资发展空间与其个人专业技术经验的积累直接相关。人才永远是企业发展的核心动力,而嵌入式工程师作为一个高薪诱人、极具成长空间及发展潜力的专业技术岗位,也必将成为推动整个嵌入式行业更加快速的向前迈进的中坚力量。     二、嵌入式行业公司的基本状况     在充分了解了目前嵌入式工程师的个人生存现状之后,我们再进一步了解一下与技术工程师息息相关的嵌入式行业企业的发展现状,从而帮助大家从另外一个角度,借助更广阔的视野来了解嵌入式行业的整个现状。本部分调查内容主要从“所属行业分布情况、公司规模、硬件开发平台、软件开发平台、软件开发语言、软硬件人员安排、企业人才需求现状”等方面展开,以帮助大家更加全面而充分地了解嵌入式行业公司的整体状况。2010-2011年度调查统计数据的结果如下。     1、所属行业分布情况 众所周知,近几年嵌入式技术的应用领域已经极为广泛,来自2010-2011年度的行业调查数据显示,目前嵌入式产品应用最多的三大领域是“消费电子、通信设备、工业控制”,所占比例分别是26%、17%和13%,三大领域所占比例之和接近60%,与去年调查数据持平。而伴随着3G元年的到来,,智能手机作为嵌入式技术应用中最大的消费电子领域的典型产品,更是得到了快速普及和大面积应用,势必在未来几年取得突飞猛进的发展,基于3G移动平台的研发(特别是Android平台的开发)需求将快步增长。与此同时,随着物联网成为国家发展战略,其受重视的程度不言而喻,相信随着对物联网发展的大力扶植和产业推动,其必将会更快速地推动智能化电子应用领域的扩张,传感网络、RFID、短程无线网络将会更多依赖嵌入式技术,微控制器将会再次成为非常热的领域,嵌入式技术将会呈现低端和高端两头同时热的发展现状,让我们拭目以待!     2、公司规模 调查数据显示, 100人以下的企业(包含“50人以下”和“50-100人”)所占比例为46%,相对去年调查数据的56%低了整整10个百分点,换言之,100人以上规模的企业比去年要高了整整10个百分点。该项调查数据的统计结果非常振奋,企业的规模一直以来都是与行业发展的整体水平直接相关,而作为国家重点关注的高新产业,嵌入式软件与系统的科技创新已被列入国家重大专项“核高基”的内容之一,嵌入式行业得到了政府与市场越来越多的的关注和重视,众多嵌入式企业也在国家政策扶植、市场需求推动及多渠道的嵌入式人才培养体系下取得了长远而快速的进步和发展,作为未来十年IT行业发展的主流方向,相信中国的嵌入式行业必将不辱使命,成为整个信息产业发展的核心力量,带动整个信息产业乃至整个中国经济快速向前发展。     3、硬件开发平台的选择 该项问卷调查,为2010-2011年度新增的调查项目,从专业角度反映了嵌入式开发硬件平台的发展趋势。在嵌入式开发领域,ARM处理器毫无疑问的占据了嵌入式处理器90%以上的市场份额,作为手机、平板电脑等移动设备处于垄断地位的ARM架构和ARM架构处理器的权威地位已毋庸置疑。而随着ARM平台的不断升级,不同系列的ARM处理器所占据的市场份额也在持续变化中。该项调查数据显示了不同系列处理器的市场占有率情况(截止到2011年5月底),ARM9系列仍然是ARM市场占有率最高的ARM处理器(45%),而Cortex系列处理器作为未来ARM公司主打产品线,其市场份额目前已占15%,超过了ARM11系列,几乎与嵌入式行业发展初期曾经最主流的ARM7系列处理器市场份额不相上下,特别是Cortex-A8系列,基本上是目前流行消费电子产品硬件平台的代名词,包括苹果最新的iphone和ipad,均采用Cortex-A8处理器,是目前主流ARM处理器中性能最高的处理器。作为ARM公司未来的主打产品线,相信在ARM的全力推荐下,采用最新ARMv7架构的Cortex系列产品将会在未来的嵌入式处理器市场上,异军突起,大放异彩,抢占更多的市场份额。     4、软件开发平台的选择 来自2010-2011年度的调查统计数据显示,在嵌入式产品研发的软件开发平台的选择上,嵌入式linux虽然比去年低了5个百分点,但依然占据了明显的优势(48%),Linux以其开源成本低的优势仍然受到众多嵌入式企业的欢迎。微软的嵌入式平台(包括WinCE、Phone、Embedded)相比去年,整体下滑了1个百分点。而在智能手机操作系统平台上,Symbian和微软手机操作系统平台(原来Windows Mobile现在Windows Phone)则明显下滑,Android则毫无疑问的抢占了更多的市场份额,从去年的3%直接上升了6个百分点到9%,iPhone也增长了2个百分点。在全球新一代通讯网络和物联网等大的产业带动下, 3G移动开发技术在未来的几年内,将会得到高速发展。而智能手机操作系统平台竞争也将更加激烈,Symbian原来拥有的老大地位已风光不再,后来居上的Android及iPhone则大放异彩,特别是采用Linux内核的Android,仅正式上市两年就已经超越称霸十年的Symbian系统,一跃成为全球最受欢迎的智能手机平台。现在,Android不但是手机操作系统,应用于智能手机,也是一个可以广泛用于平板电脑、消费电子、智能家电领域内的综合开发平台,其应用领域和市场份额也在急速扩张。目前,随着国内3G行业的迅猛发展,各个企业对Android开发人才、特别是Android底层系统开发人才的需求量也呈现爆炸式增长态势,而兼具Android应用开发和系统底层开发的全才型Android开发工程师更是成为行业稀缺。而微软与诺基亚联手推动的Windows Phone也在竭力抢占市场份额稳住脚跟。我们将在下一年度的调查报告中继续跟踪移动开发大潮中的激烈竞争和风云变幻,再次还原呈现真实的移动互联网开发领域的潮起潮落!     5、软件开发语言的使用 来自2010-2011年度华清远见的调查统计数据显示,在嵌入式产品研发的软件开发语言的使用上,C语言作为嵌入式开发最经常使用的语言的地位依然无容置疑,所占比例高达67%,C++所占比例为15%,位居第二,Java所占比例为8%,位居第三。其他开发语言均占据了较少的比例。从这组数据也可以看出,嵌入式开发目前主要使用的还是C语言,无论是在传统的工业控制领域、通信领域,还是迅猛发展的消费电子,安防控制、信息家电等领域,C语言均是首选。而与去年的调查数据相比,我们不难发现,份额变化最大的是Java语言,取得了3个百分点的增长,究其原因则是随着3G技术的推动,移动互联网发展迅速,特别是Android平台占有率的快速增长,Java语言也在嵌入式专业开发领域内得到了更大范围的使用。     6、软硬件人员的安排 此项调查统计的数据,与去年的调查结果基本没有变化。2010-2011年度的调查数据显示,在大部分从事嵌入式产品研发的企业中,基本都是采用软硬件人员分工合作完成产品的开发方式(接近60%),由此我们可以看到企业最需要的还是擅长某一方向的专才。而从整体统计数据上看,排名前三位的企业人才需求中,软件开发技能的需求高于硬件开发人才的需求,从各大招聘网站的搜索数据中也可以看出,目前嵌入式软件开发人才的需求量远远大于硬件开发人才,嵌入式系统项目研发差不多80%以上的工作量都是在软件部分,软件是嵌入式系统最核心的部分,也是体现嵌入式系统优势最关键的部分,企业对嵌入式软件开发人才的需求必将持续上涨。当然从求职的角度来讲,同时具备软硬件开发能力的工程师,在求职过程中会拥有更多的选择机会。     7、企业人才需求现状 来自华清远见2010-2011年度的调查数据显示,在整个行业发展的过程中,嵌入式人才需求目前仍然是供不应求,78%左右参与调查的工程师都表示,自己公司目前都急缺嵌入式开发方面的专业技术人才。虽然人才缺口仍然很大,但相对比去年的83%来说已经低了5个百分点,这也表明,随着国家政策的重视、市场推动及多渠道的嵌入式人才培养体系的不断完善,嵌入式开发人才需求瓶颈的问题,在逐步得到缓解,虽然这只是一个好的开始,但整个嵌入式专业人才市场的供求关系正在向更健康的方向发展和迈进,这个趋势是毫无疑问的。     三、嵌入式工程师对职业生涯的看法     作为一个正在高速发展的行业,许多技术工程师和准备进入行业的技术爱好者都非常关注嵌入式领域未来的职业规划和行业发展。本部分调查则主要从“对工作薪资的满意度、对公司所给予你的成长空间、是否经常加班、工作带来的成就感以及对未来职业人生的规划”等方面进行问题设置,希望能从整体上展现嵌入式工程师对目前工作状态的的满意程度和真实需求。     1、对工作薪资的满意度 2010-2011年度嵌入式从业人员对薪资满意度的调查结果显示, 57%的嵌入式工程师对目前的薪资待遇基本满意,30%的嵌入式工程师表示不满意,而非常满意和非常不满意均占较小比例,分别为8%和5%左右。而整体上非常满意和基本满意的总计占65%,超过一半,相比去年的54%增长了11个百分点。从这一调查结果不难得出结论:随着工作经验的日益积累和不断增长,嵌入式工程师对薪资满意度的曲线也必将呈现一种稳定的增长趋势,这也是任何一个快速发展行业的必然特点,人才是第一生产力,人才的发展与行业的发展相辅相成,息息相关。     2、未来一年薪资涨幅 在2010-2011年度的对未来一年薪资涨幅的调查中,37%参与调查的工程师表示涨幅在0-20%之间,认为薪资涨幅在21%-40%之间的为36%,认为薪资涨幅在41%-60%之间的为15%,而选择“有可能不涨反降”的仅为3%,比去年低了3个百分点。在所有涨薪幅度中,与去年变化最大的一项就是认为薪资涨幅在41%-60%的数据,从去年调查数据的7%上升到今年的15%,增长了8个百分点。究其原因,一是随着嵌入式工程师工作经验的增长,具备多年嵌入式开发经验的工程师越来越多,在职业发展上也将获得越来越多的涨薪机会,另一方面, 对比前两届统计数据,说明嵌入式工程师的薪资涨幅较前几年有明显的放大,核心的嵌入式人才是企业发展的动力,也是企业稳定发展的前提,薪资增幅是对他们最好的肯定。     3、对公司所给予的发展空间的满意度 在2010-2011年度的对公司所给予的成长空间的调查中,65%的工程师表示基本满意,21%的工程师表示不满意,非常满意和非常不满意则均占11%和3%左右。整体上非常满意和基本满意的总计占76%,接近80%,相比去年的54%增长了22个百分点,这是一个非常大的增长。这一数据表明,随着工作经验的不断增加,嵌入式工程师对于其职业发展空间的期待基本得到满足,嵌入式工程师将以更好的心态投入到正在如火如荼发展的嵌入式领域,而行业的健康发展也必然会鼓励更多的嵌入式工程师积极、努力地从事专业技术研发和产品的研发工作。     4、是否经常加班 在问到是否需要经常加班时,60%的工程师选择“是”,而回答“否”的则占40%左右。该项调查,对比去年基本没有什么变化。应对市场永不停歇的竞争,加班可能是任何一家企业都或多或少存在的一个问题,特别是产品研发型企业。对于整个IT行业从业者来说,加班文化已被无数媒体多次提及,而作为正蓬勃发展的嵌入式行业,相对传统IT企业的几乎超过80%以上的加班文化,其实还是相对更加人性化的。事实上,从企业长远发展来看,人性化的管理制度其实更有利于帮助企业留住人才,而对于个人来说,提高个人生活质量与提高工作质量同样重要。     5、工作带来的成就感 2010-2011年度的调查结果显示,99%以上的调查人员表示生活中的快乐和成就感主要来源于工作,并且热爱自己目前从事的工作,比去年增加了2个百分点,仅有1%参与调查的工程师表示自己生活中的成就感较少取决于工作。由此可见,工作依然在每个人的自我价值实现中扮演着非常重要的角色,而且是越来越重要的角色。更多的在职嵌入式研发工程师们希望能从工作中获得更多的成就感,而且作为家庭生活的经济支柱,每位工程师也都期待工作能给自己提供一个更加美好的生活。相信整个嵌入式行业欣欣向荣的成长局面,也必然会为业内的工程师们带来了更多的信心和成就感。     6、未来职业人生的规划 在2010-2011年度的调查统计结果中,对未来职业人生的规划一项,接近70%的工程师给予了肯定的评价,其中46%的工程师表示想提升自己的层次,希望目前所在公司能给自己更大的成长空间,24%的工程师则表示喜欢自己现在的公司以及工作职位,短时间内应该不会有较大的改变。考虑跳槽的工程师所占比例为18%,打算自己创业的为9%,其他选项均占较小比例。该项调查,对比去年基本没有什么变化。 通过以上6个选项的调查分析,我们大致可以了解到嵌入式工程师对目前工作状态的满意度状况:虽然存在着加班,但大部分工程师对薪资/成长空间均表现出满意、乐观的正面心态,体现出蓬勃向上,积极进取的工作状态,他们对行业前景充满信心,希望能从工作中获得更多的成就感,也希望自己能在目前的公司获得更多的成长空间,而不是通过跳槽来实现更好的职业发展。在嵌入式这样一个高薪诱人、极具成长空间及发展潜力的行业里,企业求才若渴,人才竞争压力并没有传统IT行业那么大,因此工作满意度更大部分取决于个人的能力,相信只要不断提升自己的能力,就可以跟随着行业的迅猛发展获得更高、更快的职业提升和个人发展。     四、嵌入式工程师获取信息的途径     在嵌入式行业,技术的更新和升级是比较快的,每一位技术工程师都需要在工作中不断的更新自己的知识,掌握最新的技术动态或者解决自己工作中不断遇到的技术问题,而网络则成为必不可少的工具之一。本次调查的第四部分主要是针对嵌入式工程师在使用网络方面的一些偏好,比如“经常光顾的网站、获取专业知识的途径、首选的搜索引擎”等,希望通过此部分的调查让更多的人了解绝大多数嵌入式工程师如何利用网络来学习,来提升自己的专业技能。     1、经常光顾的网站 调查数据显示,在嵌入式工程师经常关顾的网站中,CSDN和21IC所占的比例最大,均为16%,而这两个网站也分别代表了编程开发人员以及电子工程师两类人群,而嵌入式在线、电子工程专辑、电子产品世界、EDN所占比例均为10%-14%左右。该项调查,对比去年基本没有什么变化。     2、获取专业知识的途径 来自2010-2011年度的调查数据显示,“技术图书、专业论坛、访问业内门户网站、网络搜索”是嵌入式工程师获取知识的主要途径(接近70%),其中各项所占比例分别为16%、16%、15%、13%,网络已经成为工程师获取专业知识的主要途径。除了以上4大途径外,部分工程师也会通过培训、厂商网站、行业展会/技术研讨会、博客/群组、杂志/期刊/报纸、电子邮件订阅、SNS社区等途径获取信息。华清远见提供的免费电子图书、视频教程等资料每年下载次数已达到十多万,这也可以从一个侧面反映出业内工程师的学习需求和学习方式。     3、首选搜索引擎 在对嵌入式工程师对搜索引擎使用习惯的调查中,百度和Google的使用率分别是49%和48%,几乎是平分秋色。而在去年的调查报告中,Google却是以62%的使用率在技术人员的心目中遥遥领先百度。这显然是与过去一年Google搜索退出中国市场有关。对于搜索引擎来说,百度已逐步垄断了中国的市场,新兴的搜搜及搜狗等搜索引擎,虽然也在利用自己的平台不断拓展市场份额,但目前仍然无法与百度相抗衡,从某种意义上来说,无论对于开发者来说还是对普通用户来说,都还是希望能够有更多的选择和平台。     五、嵌入式工程师对参加培训的看法     随着互联网时代向物联网时代的过渡, PC时代向嵌入式时代的发展,随着3G移动产品需求的爆炸式增长,在相关专业领域内专业技术人才的匮乏必将更加突出和明显,日益增长的企业招聘需求已引起了多方的关注,而面对众多嵌入式企业的人才需求,由于高校严格的学术管理体制等原因,高校教材及课程体系的更新难问题却使得从高校毕业的学生无法立刻满足用人企业的需求。在政府和企业大力呼吁人才培养紧迫性的情况下,职业教育慢慢的被认可并成为解决这一人才难题的首选。本次问卷特意设置了针对职业培训方面的几个调查选项,希望能为更多想迈入嵌入式行业的朋友提供有意义的参考。     1、如何看待培训 在谈到如何看待培训这一话题时, 75%参与调查的嵌入式从业人员,对参加培训都表示了较大程度的认可,比去年增长了4个百分点。20%的工程师表示在需要的时候可能会考虑,仅有6%的工程师表示希望通过自学来实现职业上的提升。该项调查数据表明,职业培训作为一种专业技能快速提升的手段,已经被越来越多的从业人员认可。     2、公司内部是否组织过培训 调查数据显示,50%的公司从未组织过嵌入式相关方面的培训,比去年的58%低了8个百分点。38%的公司组织过由公司资深老员工负责讲授的培训,.12%的公司邀请过外部专业培训机构来进行系统的培训,比去年增加了3个百分点。这一点从华清远见不断增加的企业内训客户数量和培训订单中也可以得到充分的体现,通过调研华清远见2004-2011年的企业内训客户数据信息,我们看到,绝大部分企业内训客户均为大型外企(包括三星、摩托罗拉、阿尔卡特、西门子等),国内实施企业内训的客户虽然少,但比去年也开始有所提升,关注员工技能提升、关注员工职业发展,也将会同步带动国内嵌入式企业的发展壮大,只有将公司业务与员工个人成长结合起来,企业才能更长久的留住人才。     3、公司是否支持员工参加培训 在问到公司是否支持员工参加外部培训时,84%的公司表示支持员工参加外部培训来提高个人技能,比去年增长了5个百分点。     通过以上三个选项的调查,我们可以看到,越来越多的专业嵌入式企业开始关注员工个人的成长以及技术培训的优势。越来越多的嵌入式工程师开始对培训的价值表示认可,虽然大部分公司从未组织过嵌入式相关方面的培训,但越来越多的公司开始对员工参加外部培训表示支持。嵌入式属于高新技术研发领域,入行门槛相对较高,专业的培训机构拥有强大的师资团队以及完善的课程体系,可以提供较为系统的学习方案,帮助初学者在短期内掌握迈入相关行业所需的基本专业技能和技术经验,这也是职业技能培训的优势。在自学与培训的选择中,个人可以综合时间、金钱以及自学能力等多方面因素考虑,选择最适合自己的学习方法。

    时间:2011-06-30 关键词: 2010 2011 报告 嵌入式开发

  • Google开源注册Pigweed,涉足嵌入式开发?

    Google开源注册Pigweed,涉足嵌入式开发?

    3月21日,Google 不久前在官方博客上宣布了开源 Pigweed 的消息。Pigweed 是啥?一个月前,Google 向美国专利商标局注册了 PIGWEED 商标,类别是“计算机操作软件”。 当时社区里认为这是 Google 继 Android、Chrome OS、Fuchsia 之后的第 4 个操作系统。 然而官方消息出来,它并不是操作系统,而是一组用于嵌入式开发的工具模块的集合,特别是针对如 STM32 这样的微控制器。它是为嵌入式开发工程师和创客而设计的。 嵌入式开发的挑战是需要不断的调试设备和切换环境。而 Pigweed 提供的模块正是满足在整个生命周期内加速嵌入式开发的需求,比如包含了必需的工具,简化环境设置;通过分布式测试加快了编译、开发板测试的周期;预先设置了代码格式检查,保证快速进行代码提交。 【雷锋网注:上图为 Pigweed 的设置启动环境】  所有这些开发工作都可以在代码编辑器里自动完成,还可以在多个设备上并行测试,节省了很多时间。 【雷锋网注:上图为 Pigweed 的代码编辑器界面】 虽然 Google 的说法非常低调,声明这只是帮助开发人员方便启动新项目的工具集合,但毕竟这是从 Web 开发领域涉足到嵌入式开发领域,谁知道 Google 的下一步呢? 谷歌特别注明,Pigweed 还在早期开发阶段,目前并不适合用于生产。Pigweed 含义是一种营养丰富、快速生长的杂草,团队认为这个名字有趣、好玩,反映出项目的成长。

    时间:2020-03-22 关键词: 嵌入式开发 开源

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包

更多

推荐博客