当前位置:
文档之家› 开源硬件平台(1)——概述.演示稿
开源硬件平台(1)——概述.演示稿
•••Fra bibliotek谢!开源软件和开源硬件都在于共享,分 享。不管是开源软件也好,开源硬件 也好,都有四个维度: 第一:人人可用(任何人可以任何目 的自由的使用); 第二:人人可探(任何人可以探知其 原理); 第三:人人可改(任何人可以按照自 己的方式自由修改); 第四:人人可再分发(任何人可以把 自己修改过成果自由地再次发布)。
嵌入式系统概述
随着电子及半导体技术的迅猛发展,嵌入式系统的功能性能日趋强大, 并广泛扩展渗透到各个领域的应用中,并不断引导着各领域的发展潮流 和变革。
嵌入式系统开发难点
但是,嵌入式技术的迅猛发展,也导致其应用的设计开发难度不断增加,学习曲线变得越 来越陡峭。当前仅一片嵌入式处理器芯片就已具备了以往一台PC整机的功能性能,软硬件 复杂程度更是有过之而无不及,现在的嵌入式设计早已不是当年简洁的单片机设计那样一 目了然,甚至就连8位的MCU都已广泛具备了USB、以太网等复杂的功能。
•
• •
• • •
由此可见,当前的嵌入式系统开发设计,已经不是以往凭个人钻研实践和经验就能实现的。 目前的嵌入式系统设计开发,主要依靠专业分工和团队合作的模式才能开展进行。
嵌入式系统开发难点
开源硬件在嵌入式系统开发应用中的作用
• 既然现在的嵌入式设计开发的难度导致必须专业分工以及团队合作才能进行, 而只要组织管理有效,团队规模越大效率越高效果越好,那么索性组建个全 球规模的大团队来共同来开展。 开源就是公开自己的设计,目的是为了集思广益。当一个设计方案开源之后, 总有人能在这个基础上将其改造得更好,如果大家都乐意共享改进成果,这 对于一些技术上的突破以及产业上的突变肯定都是大有裨益的。 开源硬件中,比较成功的要数Arduino系列,这个产品原本是意大利人做的, 产品本身是开放的,而且编程非常简单,谁都可以使用,对于缺乏编程经验 的嵌入式设计新手而言优势非常突出。 为什么能实现这样的效果呢?这是因为有全球许多人作为这一开源项目的维 护者,在利用自身特长改进这一平台的软硬件设计开发模式(如各种对底层 操作的封装等),并将其成果公开,使其他人能在此基础上不断地进一步完 善,将复杂专业的底层技术细节和难点屏蔽,创造出便于没有技术基础的人 使用的简单明了的操作方式,就想傻瓜式相机一样。这样就可以使更多不了 解嵌入式技术的人,能够充分利用这一平台来实现自己的创意,做出自己的 产品,这些则是这一开源项目的使用者。使用者们把自己利用这一平台实现 的创意公开,使其他人受到启发,并能共享借鉴他们的成果,又使得更多人 乐意参与进来,使团队不断扩大,形成良性循环。这就是开源硬件的有效组 织管理模式。
嵌入式系统开发难点
• • • • 功能复杂的指令集和寄存器难以掌握; 音视频编解码、2D/3D图像处理、GPU/DSP加速等,需要掌握相关专业知识; 复杂的存储器、cache以及流水线管理控制,需要对计算机组成原理有足够的认识; 高集成度的丰富接口功能,如A/D、PWM、eMMC/SD、LCD、SATA、PCIe等外设接口, I2C、CAN、USB、以太网等通信接口,需要掌握各种接口的功能和相关的控制操作,以 及相关的协议和标准规范; 由于各种接口都已高度集成,不像以前的嵌入式系统设计只包含所需的部件,因此对于 各种接口资源都不可避免需要进行复杂的上电初始化等设置工作,需要对各种相关知识 都全面掌握; 复杂的中断功能和丰富的中断源,需要对软件流程的控制调度进行精心的安排协调; 为了充分发挥处理器功能性能,支持复杂的应用,嵌入式系统中普遍引入了嵌入式操作 系统(Linux、WinCE等),以及嵌入式实时操作系统(EOS/RTOS,如VxWorks、μC/OS-II 等),甚至引入了嵌入式数据库(如SQLite、Berkeley DB等),需要了解操作系统、编 译原理、数据库等知识,并需要掌握驱动程序的开发和使用; 强大的功能性能产生了复杂的应用,使软件规模和开发难度迅速上升,需要采用软件工 程化方式来组织管理相关的软件开发; 强大的功能性能和高主频的运行速度,带来了热控制、电源、EMC、信号完整性设计等 各方面的问题,硬件设计的复杂程度呈指数上升; FPGA、机电一体化、网络组建等方面设计带来的复杂性。
开源硬件平台
——概述
随着嵌入式软硬件的发展,各项技术 的集成度越来越高。软硬件结合开发 的门槛越来越高,工程师学习的周期 也越来越长。 这两年,以Arduino为代表的开源硬 件运动在世界范围内越来越普及,用 户群体开始从工程师扩散到大学生, 然后到中学生,甚至小学生。各种开 源硬件平台的出现,通过全球网络社 区的驱动共享资源,极大的降低了学 习门槛,刺激了创新,加速了各种创 意从构思到实现的落地。