`
音频数据
  • 浏览: 36682 次
文章分类
社区版块
存档分类
最新评论

嵌入式软件开发和其他软件开发的区别

阅读更多

1、嵌入式系统开发

--平台种类繁多。

--资源受限。

--专用系统。

--需要与底层的硬件设备进行通信和交互操作。与设备相关。

--数要是对设备控制和操作。

--对编译器的要求较高,不同处理器平台有各自的编译器和调试软件。

--需要专门的调试工具,尤其是一些专用设备。

--对代码的质量要求高,要求可执行的程序占用的存储空间少。

--由于多任务同时运行,产生的错误比较多,因此在稳定性和性能上要求很高。

2、通用PC系统开发

--平台种类较少。

--资源不受限制。

--通用系统。

--与底层操作通过系统软件的接口函数API来实现,与设备无关。

--主要是数据处理和UI界面处理。

--对编译器没有特别的要求,通常使用一些通用的编译器和调试软件。

--不需要专门的调试工具。

--对代码的质量没有特别的要求,在存储空间上也没有太多的限制。

--在稳定性和性能方面没有嵌入式系统要求那么严格。

在 实际中,我发现嵌入式软件开发有很多地方和其他的应用软件是大不一样的,比如说,在嵌入式软件中对位的操作用的是非常之多,很大的一个原因是很多接口控制 芯片为了减少地址线或简约操作,很多控制都是用位来表示的,还有就是要注意的编译器的优化问题,对于一些端口或者的实时变化的变量,在定义声明的时候一定 要将其声明为volatile,一个定义为volatile的变量是说这变量可能会被意想不到地改 变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的 备份,否则会有灾难性的错误。还有就是嵌入式软件大部分是对很多接口芯片的操作,比如说常用的IIC接口、SPI接口、USB接口、RS232接口、红外接口、LCD控制器接口、触摸屏接口、以太网、can总线等等,还需要熟悉一些常用器件的确定时序,例如AD转换器和DA转换器、电源控制芯片、信号发生芯片。有时候做的系统比较大还需要了解其他嵌入式芯片的接口很如何兼容,简单的一个例子就是,假若使用ARM作为控制处理器,控制输入输出和显示,使用DSP作为数据的高速处理,使用FPGA作为数据的采集和存储器控制以及一些AD的控制,那么就需要通过嵌入式软件将三者接口联系起来。在其他的软件设计中,我想一台好点PC电脑,装上几个软件就控制工作了,但是对嵌入式软件来说,很多时候用到很多专门的软件和设备,例如JTAG口代理软件,ADS1.2编译环境,什么串口调试助手和以太网检测工具啊,有时候要测试硬件上的问题,那就需要一台示波器,最好是多通道高速的,至少电压表得有一个,好一点的有信号发生器、逻辑分析仪等等。对于测量控制领域我觉得稍微大一定的系统使用ucos+ucgui很好的,linux的实时性不是很好,而且入门操作都不太容易,但是对于实时性要求不太高的,用linux也是一个非常好的选择。

软件开发和嵌入式开发区别

嵌入式开发主要针对硬件开发,开发的软件用在单片机、ARM上,嵌入式开发要了解硬件的结构,工作原理,开发语言现在主流用C语言。

一般的软件开发多指面向对象,.net开发,做网站,做系统等等,这方面流行的语种比较多。VC、VB、PB、JAVA、ASP、JSP。

嵌入式计算机系统的设计过程

1.       需求分析

 

确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和验收标准。需求分析往往要与用户反复交流,以明确系统功能需求,性能需求,环境、可靠性、成本、功耗、资源等需求。

 

2. 体系结构设计

 

体系结构设计是嵌入式系统的总体设计,它需要确定嵌入式系统的总体构架,从功能上对软硬件进行划分。在此基础上,确定嵌入式系统的硬件选型(主要是处理器选型),操作系统的选择和开发环境的选择。

 

3. 硬件的设计、制作及测试

 

在这一阶段要确定硬件部分的各功能模块及模块之间的关联,并在此基础上完成元器件的选择、原理图绘制、印刷电路板(PCB)设计、硬件的装配与测试、目标硬件最终的确定和测试。

 

4. 软件的设计、实现及测试

 

这部分工作与硬件开发并行、交互进行。软件设计主要完成引导程序的编制、操作系统的移植、驱动程序的开发、应用软件的编写等工作。设计完成后,软件开发进入实现阶段。这一阶段主要是嵌入式软件的生成(编译、链接),调试和固化运行,最后完成软件的测试。

 

5. 系统集成

 

将测试完成的软件系统装入制作好的硬件系统中,进行系统综合测试,验证系统功能是否能够正确无误地实现,最后将正确的软件固化在目标硬件中。本阶段的工作是整个开发过程中最复杂、最费时的,特别需要相应的辅助工具支持。

 

6. 系统性能测试及可靠性测试

 

测试最终完成的系统性能是否满足设计任务书的各项性能指标和要求。若满足,则可将正确无误的软件固化在目标硬件中;若不能满足,在最坏的情况下,则需要回到设计的初始阶段重新进行设计方案的制定。

2.       软件开发和嵌入式开发的特点

3.       嵌入式计算机系统同通用型计算机系统相比具有以下特点: |

1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。

2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。

4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。

6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。

分享到:
评论

相关推荐

    华大电子嵌入式软件开发工程师任职资格标准.pdf

    华大电子嵌入式软件开发工程师任职资格标准 本资源摘要信息对华大电子...华大电子嵌入式软件开发工程师任职资格标准为嵌入式软件开发工程师提供了明确的职业发展道路和要求,为企业和个人提供了职业发展的参考标准。

    嵌入式软件开发评估表.pdf

    嵌入式软件开发评估表是对嵌入式软件开发项目的评估和跟踪表单,旨在确保项目的顺利进行和高质量完成。该表单涵盖了嵌入式软件开发的各个阶段,包括项目准备、系统配置、流程调研、模拟调试、管理员培训、用户培训、...

    嵌入式软件开发文档模板.rar

    "嵌入式软件开发文档模板.rar" 是一个包含了此类开发所需的标准化文档模版的压缩包,旨在为开发者提供指导和参考。 该压缩包中的“开发文档模板”通常包括以下关键部分: 1. **项目概述**:这部分会详细介绍项目的...

    基于人工智能的模块化嵌入式软件开发研究.pdf

    在介绍基于人工智能的模块化嵌入式软件开发研究之前,首先需要了解嵌入式软件开发的背景和挑战。传统的嵌入式软件设计方法由于操作复杂、运行效率低下、可靠性差等问题,已不能满足日益增长的计算机系统对软件设计的...

    专业嵌入式软件开发 全面走向高质高效编程 李云_带书签_文字可选

    嵌入式软件开发是计算机科学的一个重要分支,它涉及到在微控制器、嵌入式系统和其他有限资源设备上设计和实现软件。"专业嵌入式软件开发 全面走向高质高效编程"的主题揭示了该领域关注的核心:提高软件质量和效率。...

    嵌入式软件开发编程规范及原则!.pdf

    嵌入式软件开发编程规范及原则是整个嵌入式系统开发过程中的重要组成部分,它主要指的是编写代码时应遵循的一系列标准和规则。这些规范和原则的制定是为了提高代码的可读性、可维护性、可靠性和可移植性。这些方面对...

    ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境.docx

    ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境 ReWorks嵌入式实时操作系统是华东计算技术研究所自主研制的嵌入式实时操作系统,为满足高端数字化应用对网络自适应、服务个性化、功能综合化以及功能复杂化等...

    嵌入式软件开发流程嵌入式软件开发流程.doc

    嵌入式软件开发流程与其他软件开发流程相比,有其特点。例如,嵌入式软件开发流程需要考虑硬件限制和实时性要求,需要与硬件平台紧密集成,需要确保软件的可靠性和安全性等。 嵌入式软件开发流程的优点 嵌入式软件...

    嵌入式软件开发流程.pdf

    嵌入式软件开发流程

    嵌入式软件开发导论.rar

    嵌入式软件开发导论是IT领域中一个重要的学习主题,尤其对于计算机科学和技术、电子工程等专业的学生和从业者来说,掌握嵌入式系统的基本概念和技术至关重要。嵌入式系统是集成了微处理器的硬件系统,它们在各种设备...

    同济嵌入式软件开发課件

    《同济嵌入式软件开发课件》是同济大学提供的一个全面的教育资源,涵盖了嵌入式系统开发的九个重要章节。这个课程旨在教授学生如何设计、实现和优化在各种硬件平台上运行的软件,特别是在资源有限的嵌入式设备上。...

    嵌入式系统软件开发实例 嵌入式系统软件开发实例

    2. **编程语言**:嵌入式软件开发常用的编程语言有C、C++、Python、Java和MicroPython等。C语言因其高效和接近硬件的特点,常用于底层驱动和实时性要求高的部分。C++提供面向对象的特性,适用于复杂应用的开发。...

    嵌入式软件开发与工具\嵌入式软件开发与工具

    嵌入式软件开发与工具,详解以及教程 嵌入式系统作为专用的计算机系统,往往对应用软件的实时性提出了一定的要求。在早期的单片机开发中,往往利用中断满足实时性要求。当系统变得越来越复杂时,基于中断的应用软件...

    软件技术专业(嵌入式软件开发工程师方向).pdf

    德、智、体、美等全面发展,掌握本专业的基本知识,能熟练使用国际上最新的嵌入式软件开发环境与工具,熟悉嵌入式软件开发规范,具备较强的嵌入式软件开发实践能力和良好的软件工程素养,能顺利地进入相关应用领域,...

    嵌入式软件开发环境--安装和配置.pdf

    嵌入式软件开发环境--安装和配置

    VxWorks与嵌入式软件开发

    嵌入式软件测试等。 本书内容翔实、技术实用,是根据有关文献结合编者的工程开发经验编写而成的,有很强的实用和参考价值。本书适合嵌入式系统的开发、设计人员阅读,也可供从事嵌入式产品开发的广大工程技术人员...

    同济嵌入式软件开发系列教程

    《同济嵌入式软件开发系列教程》是同济大学推出的专门针对嵌入式系统开发的教育资源,共计九个章节,以PPT形式呈现。这个系列涵盖了从基础理论到实践应用的广泛内容,旨在帮助学习者掌握嵌入式领域的核心技术和知识...

Global site tag (gtag.js) - Google Analytics