嵌入式软件开发与其他软件开发方式的区别
来源:广州软件开发 编辑:广州软件开发公司 日期:2020-03-18
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的实时性不是很好,且入i ]操作都.不太容易但是对干实时性要求不太高的用linux也县一 个 非堂好的选择.
软件开发和嵌入式开发区别
嵌入式开发主要针对硬件开发,开发的软件用在单片机、ARM上,嵌入式开发要了解硬件的结构,工作原理,开发语言现在
主流用C语言。
一般的软件开发多指面向对象 , .net开发,做网站,做系统等等,这方面流行的语种比较多。VC、 VB、PB、 JAVA、ASP、
JSP。
嵌入式计算机系统的设计过程
1.需求分析
确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和验收标准。需求分析往往要与用户反复交流,以明确系统功能需求,性能需求,环境、可靠性、成本、功耗、资源等需求。
2.体系结构设计
体系结构设计是嵌入式系统的总体设计,它需要确定嵌入式系统的总体构架,从功能上对软硬件进行划分。在此基础上,确定嵌入式系统的硬件选型(主要是处理器选型),操作系 统的选择和开发环境的选择。
3.硬件的设计、制作及测试
在这一阶段要确定硬件部分的各功能模块及模块之间的关联,并在此基础上完成元器件的选择、原理图绘制、印刷电路
板(PCB )设计、硬件的装配与测试、目标硬件最终的确定和测试。
4.软件的设计、实现及测试
这部分工作与硬件开发并行、交互进行。软件设计主要完成引导程序的编制、操作系统的移植、驱动程序的开发、应用软件的编写等工作。设计完成后,软件开发进入实现阶段。这一阶段主要是嵌入式软件的生成(编译、链接),调试和固化运行,最后完成软件的测试。
5.系統集成.
将测试完成的软件系统装入制作好的硬件系统中,进行系统综合测试,验证系统功能是否能够正确无误地实现,最后将正确的软件固化在目标硬件中。本阶段的工作是整个开发过程中最复杂、最费时的,特别需要相应的辅助工具支持。
6.系统性能测试及可靠性测试测试最终完成的系统性能是否满足设计任务书的各项性能指标和要求。若满足,则可将正确无误的软件固化在目标硬件中;若不能满足,在最坏的情况下,则需要回到设计的初始阶段重新进行设计方案的制定。
2. 软件开发和嵌入式开发的特点
嵌入式计算机系统同通用型计算机系统相比具有以下特点 :|
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度等点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、除冗余,争在同样的硅腼积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在- -起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具賄较长的生命周期。5.为 了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片 或单片机本身中,不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程励能进行修改的,必须有开发I具和环境才能进行开发。
想更详细了解,告诉我们您的具体需求,就可以获取一份专业的报价哦!广州山海软件定制开发官网:www.sunseam.com
相关阅读