嵌入式软件开发工具如何分类(嵌入式开发常用软件)

软件开发 1951
本篇文章给大家谈谈嵌入式软件开发工具如何分类,以及嵌入式开发常用软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、什么是嵌入式软件嵌入式软件的特点

本篇文章给大家谈谈嵌入式软件开发工具如何分类,以及嵌入式开发常用软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

什么是嵌入式软件嵌入式软件的特点

嵌入式软件就是嵌入在硬件中的 操作系统 和开发工具软件,那么你对嵌入式软件了解多少呢?以下是由我整理关于什么是嵌入式软件的内容,希望大家喜欢!

嵌入式软件的定义

嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。

最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。

嵌入式软件的系统分类

流行的嵌入式操作系统可以分为两类:

一类是从运行在个人电脑上的操作系统向下移植到嵌入式系统中,形成的嵌入式操作系统,如微软公司的Windows CE及其新版本,SUN公司的Java操作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。

另一类是实时操作系统,如WindRiver 公司的VxWorks,ISI 的pSOS,QNX系统软件公司的QNX,ATI 的Nucleus,中国科学院凯思集团的Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。

Linux 是90年代以来逐渐成熟的一个开放源代码的操作系统。 PC机上的Linux 版本在全球数以百万计 爱好 者的合力开发下,得到了非常迅速的发展。90 年代末uClinux,RTLinux 等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是我们研究开发工作的宝贵资源。

嵌入式软件的学习意义

从控制意义上说,嵌入式系统涉及系统最底层的,芯片级的信息处理与控制。在某种意义上,对这些“微观”世界的了解与驾驭正是控制的真正目的。嵌入式系统与通常意义上的控制系统在设计思路和总体架构方面有许多不同之处,而这些不同之处恰恰是传统控制学科教学中较少教给学生的。在当今信息化社会中,嵌入式系统在人们的日常工作和生活中所占的份额,可能已超过传统意义的控制系统,这就是为什么我们的学生感到学的没有用,而有用的又没有学的原因。在嵌入式系统及开发环境方面,仍有许多问题尚在研究发展之中,如,嵌入式系统的硬件软件协同设计 方法 ;面向多目标,多任务的微内核嵌入式操作系统;分布嵌入式系统的实时性问题,分布式计算,分布式信息交互与综合处理;以及嵌入式系统的多目标交叉编译和交叉调试工具的研究等。通过实验开发平台,学习嵌入式系统的一些基本理论和硬件软件综合设计的方法与技能,亲自动手,实现一个嵌入式系统的解决方案,为今后的深入研究打下一个初步基础。

结语:“嵌入式系统”作为自动化学科一门理论与实际密切结合的,知识与技术含量较高的综合性专业课程,必将随着信息产业的发展而逐渐趋于成熟。

嵌入式软件的特点

1、 嵌入式软件具有独特的实用性。嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,

嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业 经验 。每种嵌入式软件都有自己独特的应用环境和实用价值。

嵌入式开发分几类?

嵌入式技术已经无处不在,从随身携带的mp3、语言复读机、手机、PDA到家庭之中的智能电视、智能冰箱、机顶盒,再到工业生产、娱乐中的机器人,无不采用嵌入式技术。各大跨国公司及国内家电巨头如INTEL、TI、SONY、三星、TCL、联想和康佳等都面临着嵌入式人才严重短缺的挑战。更大的应用领域马上带来了更大的人才需求。下面就由福州卓跃教育具体介绍。\x0d\x0a \x0d\x0a 嵌入式开发从下到上分为:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发、嵌入式软件开发。\x0d\x0a \x0d\x0a 一、嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力。熟练掌握嵌入式硬件知识,熟悉硬件开发模式和设计模式,熟悉ARM32位处理器嵌入式硬件平台开发、并具备产品开发经验。精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般需要有4~8层高速PCB设计经验。\x0d\x0a \x0d\x0a 二、嵌入式驱动开发:熟练掌握Linux操作系统、系统结构、计算机组成原理、数据结构相关知识。熟悉嵌入式ARM开发,至少掌握Linux字符驱动程序开发。具有单片机、ARM嵌入式处理器的移植开发能力,理解硬件原理图,能独立完成相关硬件驱动调试,具有扎实的硬件知识,能够根据芯片手册编写软件驱动程序。\x0d\x0a \x0d\x0a 三、嵌入式系统开发:掌握Linux系统配置,精通处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容;掌握Linux文件系统制作,熟悉各种文件系统格式(YAFFS2、JAFFS2、RAMDISK等);熟悉嵌入式Linux启动流程,熟悉Linux配置文件的修改;掌握内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程;、熟悉搭建Linux软件开发环境(库文件的交叉编译及环境配置等);\x0d\x0a \x0d\x0a 四、嵌入式软件开发:精通Linux操作系统的概念和安装方法、Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识;精通C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容,包括链表、队列等;掌握面向对象编程的基本思想,以及C++语言的基础内容;精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库;熟悉常用的图形库的编程,如QT、GTK、miniGUI、fltk、nano-x等。

嵌入式软件是什么类型软件

嵌入式软件的分类与组成

嵌入式系统的发展非常快,而嵌入式软件的发展更快。嵌入式软件的发展就象生物的发展一样,由单细胞生物到多细胞,一直到智能生物人类,在这个过程中,嵌入式软件的结构越来越复杂,但是复杂系统还在不断发展的同时,简单系统仍然不可缺少。按照软件结构划分,嵌入式软件的分类如图1所示。

对单线程程序而言,没有主控程序,结构如图2所示,一种是循环轮询系统,一种是有限状态机。比如一个采用循环轮询结构的产品包装系统,系统采用光感应来判断是否有产品需要包装,一旦发现传输带上有物体,程序主体就控制执行包装动作。单线程程序的优点是程序简单、执行效率高,缺点是一旦出现故障,系统无法自动进行控制与恢复,安全性较差。如《猫和老鼠》中传输带上不是要包装的产品,而是一只猫,系统也会进行包装,这时如果猫使包装设备出故障,程序仍然一如继往地查是否有产品,有则执行包装指令。

中断驱动系统可以解决这种安全性问题。在中断驱动系统中,有一循环轮询的主程序控制中断响应程序的执行,程序结构如图3所示。对于多个中断请求同时发生,要考虑中断请求优先级,以及响应出现错误等情况发生时,主程序就须处理更复杂的任务管理,这时主程序已成为一个简单的嵌入式操作系统。如果上面的包装系统采用中断驱动系统,一旦发生错误,就会有一个错误中断请求执行错误响应程序,错误响应程序会处理错误,使系统恢复正常。

考虑更多的任务、多个中断处理过程的多任务系统的情况,比如要考虑存储的分配与管理、I/O的控制与管理、多个任务或中断请求同时发生等,中断驱动系统就无法应付了,这时嵌入式操作系统的支持是必不可少的,它要完成任务的切换、调度、通信、同步、互斥、中断管理、时钟管理等。而在一些系统中还需要嵌入式数据库的支持,如PDA上的一个微型客户管理系统(CRM)。如图4所示,虽然我们用简单的框图描述单机多任务嵌入式软件的层次结构,但是我们知道其程序结构远比前面所描述的几种复杂。

嵌入式系统的需求已越来越复杂,PC机上的应用几乎都有移到嵌入式系统的需要,如通过手机、PDA等移动设备进行的网络游戏、网上购物、网上银行交易等,这使嵌入式软件变得更加复杂,不仅需要嵌入式操作系统、嵌入式数据库,还需要网络通讯协议、应用支撑平台等,在此基础上的应用软件的架构也变得复杂起来。如图5所示,分布式嵌入式软件系统可能是Peer-to-Peer结构,也可能是B/S结构等。

软件开发工具的主要的分类方法

软件开发分为系统软件,通常是操作系统的,还有驱动程序的。应用软件就多了。

嵌入式开发通常是说firmware,就是硬体开发。

应用软件按结构分,通常是服务端与客户端。如果按行业类型通常包括企业软件,行业软件,平台软件。按用户数量分可以分为企业软件与个人用户软件。

企业软件通常包括企业管理,企业协作平台,电子商务,OA等。按具体行业又分更多。

个人用户软件就太多了。提高工作效率的OFFICE,玩的游戏,还有教育等等。

关于嵌入式软件开发工具如何分类和嵌入式开发常用软件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码