首页 软件开发 正文(wén)

汽車(chē)嵌入式软件开发(汽車(chē)嵌入式软件开发是做什么的)

软件开发 2176
今天给各位分(fēn)享汽車(chē)嵌入式软件开发的知识,其中也会对汽車(chē)嵌入式软件开发是做什么的进行解释,如果能(néng)碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文(wén)目录一览: 1、嵌入式在汽車(chē)中的应用(yòng)

今天给各位分(fēn)享汽車(chē)嵌入式软件开发的知识,其中也会对汽車(chē)嵌入式软件开发是做什么的进行解释,如果能(néng)碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文(wén)目录一览:

嵌入式在汽車(chē)中的应用(yòng)

我是在國(guó)外做嵌入式汽車(chē)電(diàn)子开发【ECU】开发的,2年前才如此行,不是专家,汽車(chē)的引擎,变速装置,車(chē)體(tǐ),電(diàn)动車(chē)窗都是由单片机控制的,单片机之间的通信有(yǒu)CAN FLexRay Lin等主流的方式。汽車(chē)中嵌入式的软件开发现在已经占据了50%,将来会更加多(duō)。复杂的软件处理(lǐ)需要有(yǒu)经验的软件管理(lǐ)工程师,你可(kě)以學(xué)學(xué)软件管理(lǐ)等,另外我國(guó)用(yòng)市场换技术没有(yǒu)成功,这里的技术指的就是嵌入式系统,汽車(chē)的電(diàn)子控制系统。现在汽車(chē)很(hěn)智能(néng)化,这些都得益于单片机的自动控制。

嵌入式系统的应用(yòng)和开发

嵌入式系统的应用(yòng)和开发

基于嵌入式系统的具體(tǐ)产品应用(yòng)是计算机工程史上的里程碑。深入到了各行各业,其已成為(wèi)高科(kē)技领域中必不可(kě)少的工具。 我下面為(wèi)你整理(lǐ)了关于嵌入式系统的应用(yòng)和开发的文(wén)章,希望对你有(yǒu)所帮助。

1嵌入式系统简介

嵌入式系统可(kě)以抽象出一个典型的组成模型,其可(kě)划分(fēn)為(wèi)硬件层、软件层及功能(néng)层。

1.1嵌入式系统定义

嵌入式系统最通用(yòng)的定义是以应用(yòng)為(wèi)中心,以计算机技术為(wèi)基础,软硬件可(kě)裁剪、功能(néng)、可(kě)靠性、成本、體(tǐ)积、功耗严格要求的专用(yòng)计算机[1]。

根据IEEE9(國(guó)际電(diàn)气和電(diàn)子工程师协会)的定义,嵌入式系统也可(kě)定义為(wèi)控制监视或辅助设备机器和車(chē)间运行装置。

嵌入式系统的定义很(hěn)多(duō),统一起来很(hěn)难。对于其定义有(yǒu)疑问的部分(fēn)研究人员将嵌入式系统定义為(wèi):“嵌入式系统是以嵌入式微处理(lǐ)器為(wèi)内核,以微電(diàn)子技术,计算机技术,電(diàn)子技术、对象技术為(wèi)基础,软硬件可(kě)根据对象需要所设置,并且嵌入到对象器件内,适用(yòng)于应用(yòng)系统对功能(néng)、可(kě)靠性、成本、體(tǐ)积、功耗有(yǒu)严格要求的专用(yòng)智能(néng)化的控制系统。”[2]

1.2嵌入式系统的特点

嵌入式系统是面向专业应用(yòng)领域的,从其应用(yòng)角度分(fēn)析,具有(yǒu)以下特点:

(1)硬件层,是所有(yǒu)软件的运行基础,嵌入式系统至少拥有(yǒu)一个高性能(néng)处理(lǐ)器為(wèi)硬件平台。如ARM处理(lǐ)器。

(2)软件层,其能(néng)扩充和充分(fēn)发挥硬件层功能(néng)。嵌入式系统需有(yǒu)一个多(duō)任務(wù)操作系统的软件平台,来控制管理(lǐ)计算机硬件和软件资源以及合理(lǐ)的组织计算机工作流程。如Liunx,UC/OSⅡ等操作系统。

(3)嵌入式系统是先进的技术及资金密集、知识产业化不断创新(xīn)的集成系统。其将先进的電(diàn)子科(kē)學(xué)技术与各行各业的具體(tǐ)应用(yòng)相结合。

(4)是面向用(yòng)户、产品及特定应用(yòng)的。

(5)具有(yǒu)较長(cháng)的生命周期。与实际产品相结合,并与产品升级同步进行。

(6)对程序质量要求较高。一般都将系统中的软件固化在存储器中,大部分(fēn)都具有(yǒu)较高的实时性。

(7)嵌入式系统不具备在其上进行进一步开发的能(néng)力。需要借助专门的开发工具和环境来满足产品设计完成后的程序功能(néng)修改工作。

2基于ARM的嵌入式系统技术应用(yòng)及开发方法

2.1ARM的技术应用(yòng)特点

ARM(Advanced RISC Machines)是一种嵌入式微处理(lǐ)器,它具有(yǒu)低功耗、低成本、高性能(néng)的特点,采用(yòng)RISC體(tǐ)系结构,大量使用(yòng)寄存器,具有(yǒu)高效的指令系统,在实际嵌入式应用(yòng)中,只保留和嵌入式应用(yòng)紧密相关的功能(néng)硬件,去除其他(tā)的冗余功能(néng)部分(fēn),来实现嵌入式应用(yòng)的特殊要求[3]。基于ARM微处理(lǐ)器的嵌入式系统不同于单片机、DSP系统,其高性能(néng)的特点,在硬件部分(fēn)的電(diàn)路板设计方面是比较困难的,绝大多(duō)数的ARM板都要在4层以上。其实ARM最关键的是软件部分(fēn)的操作系统,系统开发应更侧重于软件方面,包括系统裁减,底层驱动和应用(yòng)程序等。

2.2ARM嵌入式系统的开发流程

基于ARM的嵌入式系统设计的开发流程如图1所示。

2.3ARM嵌入式系统的开发方法

(1)建立系统的开发环境

嵌入式系统资源受限制,如果在其硬件平台上直接编写软件,比较困难。因此根据其特点须在特定的开发环境下进行。搭建相应的软硬件平台:在宿主机(HOST)也就是PC机上安装开发工具,并将编写好的软件程序进行交叉编译生成二进制代码,最后将其移植到目标板的特定位置运行。这种在宿主机(HOST)环境下开发,在目标板(TARGET)上运行的开发模式叫交叉开发模式,交叉开发模型如图2所示。

(2)Boot Loader引导程序开发

Boot loader是在嵌入式操作系统内核运行前运行的一段程序,与我们经常提到的BIOS功能(néng)相近,每种體(tǐ)系结构都有(yǒu)与其相匹配的Boot Loader。通过Boot loader程序的运行,可(kě)以初始化硬件设备,建立系统的内存空间映射图,这样就可(kě)以将系统的软、硬件环境设定在一个合适的状态,方便于最终调用(yòng)操作系统内核,并且為(wèi)运行用(yòng)户应用(yòng)程序准备好正确的环境。

Boot loader程序由汇编和C程序两部分(fēn)组成,程序执行过程也分(fēn)為(wèi)汇编和C程序代码部分(fēn)两个阶段。汇编程序与硬件设备相关,不便移植,第一阶段需要完成初始化看门狗、设置中断异常向量表、堆栈、配置存储器等,之后再跳转到第二阶段的C语言程序入口处。C程序代码部分(fēn)主要完成初始化本阶段所需要的外部设备,调用(yòng)NANDFLASH的API函数,配置SDRAM空间,并将用(yòng)户的`程序代码从NANDFLASH存储器中复制到SDRAM中,最后再跳转到用(yòng)户程序的入口[4]。

3嵌入式技术的应用(yòng)领域

嵌入式技术无处不在,已经深入到了生活的各个领域,為(wèi)我们的生活带来了很(hěn)大的方便。

(1)无線(xiàn)通讯领域。特别是智能(néng)手机,全球95%的手机采用(yòng)了ARM芯片,随着手机功能(néng)愈像電(diàn)脑,手机更需要功能(néng)强大的嵌入式芯片。现在,全球售出的每一部手机中平均就有(yǒu)2.4块ARM芯片。

(2)工业控制领域。基于ARM核的32位微控制器芯片逐渐向低端微控制器应用(yòng)领域扩展,在工业控制领域发挥了很(hěn)大的作用(yòng)。

(3)网络应用(yòng)。网络宽带技术不断发展,基于ARM技术的ADSL芯片也逐步进入竞争范围,并取得一定优势。而且,语音及视频处理(lǐ)也应用(yòng)了ARM技术,同时对DSP的应用(yòng)领域提出了新(xīn)的挑战。

(4)仪器仪表方面。有(yǒu)智能(néng)仪器、智能(néng)仪表、医疗器械、色谱仪、示波器等。

(5)民(mín)用(yòng)方面。如電(diàn)子玩具、電(diàn)子字典、游戏机、录像机、复读机、投影仪、照相机、空调、冰箱、洗衣机、调制解调器、防盗控制器、激光驱动器、变速控制器、汽車(chē)点火控制器、避雷控制、农业节水控制系统、保安控制系统等方面。

(6)导航控制方面。如导弹控制、航天导航系统、電(diàn)子干扰系统等。

(7)数据处理(lǐ)方面。如图文(wén)图表终端、复印机、硬盘驱动器等。

(8)农业交通方面。智能(néng)公路(汽車(chē)导航、流量控制、信息监测与汽車(chē)服務(wù))、植物(wù)工厂(特种植物(wù)工厂、无土栽培技术、智能(néng)种子工程)、虚拟显示VR机器人、信息家電(diàn)(家用(yòng)電(diàn)器的网络化)等等。

除此以外,众多(duō)领域都用(yòng)到了基于ARM微处理(lǐ)器的嵌入式技术,在生活的各个领域得到了广泛的应用(yòng)。

;

嵌入式硬件开发需要哪些软件开发?

我主要来说下硬件开发以及开发的步骤有(yǒu)哪些

什么是嵌入式?

度娘给出的答(dá)案是:

嵌入式系统是一种专用(yòng)的计算机系统,作為(wèi)装置或设备的一部分(fēn)。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理(lǐ)器控制板。

事实上,所有(yǒu)带有(yǒu)数字接口的设备,如手表、微波炉、录像机、汽車(chē)等,都使用(yòng)嵌入式系统,有(yǒu)些嵌入式系统还包含操作系统,但大多(duō)数嵌入式系统都是由单个程序实现整个控制逻辑。

很(hěn)多(duō)人对此还是不了解,那么,如何理(lǐ)解“嵌入式”呢(ne)?

从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,早期的基于X86體(tǐ)系结构下的计算机,CPU只是有(yǒu)运算器和累加器的功能(néng),而目前很(hěn)多(duō)控制器芯片早已集成到CPU内部,例如早期PC机有(yǒu)显卡,而现在多(duō)数嵌入式处理(lǐ)器都带有(yǒu)LCD控制器,某种意义上就相当于显卡。

从软件上,就是在定制操作系统内核里将应用(yòng)一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用(yòng)程序组件就是完成了软件的“嵌入”。

综上所述,嵌入式是一个综合性的學(xué)科(kē)。

嵌入式硬件开发流程

图1  硬件开发流程

基于嵌入式的开发,基本上分(fēn)為(wèi)四层:硬件层、驱动层、操作系统层和应用(yòng)层。

其中应用(yòng)层的开发最為(wèi)简单,也是需求量最大的,也是公司里利润最高的部分(fēn)。操作系统层的开发主要是移植相关,很(hěn)少有(yǒu)人自己写操作系统。不过华為(wèi)的鸿蒙系统,还是很(hěn)值得我们期待的。驱动层的开发比较难。需要能(néng)看懂電(diàn)路图还要对操作系统内核十分(fēn)的精通。

最后,说说硬件开发,它是整个嵌入式系统的根本,是基础。嵌入式硬件开发在很(hěn)大程度上决定了嵌入式产品的性能(néng)。硬件工程师就像是设计师和建筑师,负责整个建筑的设计和建设。软件工程师则是负责房间的装修,锦上添花(huā)。

嵌入式软件开发要學(xué)什么?要學(xué)哪些东西?

學(xué)习嵌入式软件开发应该从學(xué)习单片机开始,单片机是一切嵌入式的基础,最早的嵌入式系统就是以单片机為(wèi)核心的,随着技术的进步和发展,才逐步发展到现在的DSP、ARM為(wèi)核心的等高端高速控制系统。单片机是基础,同时也是现在较大系统不可(kě)分(fēn)割的组成部分(fēn),比如汽車(chē),主控系统是ARM,但各个子系统仍然是单片机完成的。所以一个出色的嵌入式软件工程师,必须具备单片机的知识,这样才能(néng)在实际工作中把控一切,应用(yòng)自如。

嵌入式软件工程师需要掌握什么?

嵌入式软件工程师需要具备简单的硬件電(diàn)路设计能(néng)力。

需要懂得C语言和一些简单的汇编语言编程;能(néng)够阅读一般嵌入式系统的原理(lǐ)图;至少熟悉一种嵌入式系统的软件开发环境;熟悉一种嵌入式系统软件的开发过程;必要硬件基础知识;理(lǐ)解常见的嵌入式操作系统的工作原理(lǐ)。

需要懂得:(1)懂得C语言和一些简单的汇编语言编程。

(2)能(néng)够阅读一般嵌入式系统的原理(lǐ)图。

(3)至少熟悉一种嵌入式系统的软件开发环境。

(4)熟悉一种嵌入式系统软件的开发过程,如:单片机系统、DSP系统、ARM系统或其它的一些潜入式系统。

(5)理(lǐ)解常见的嵌入式操作系统的工作原理(lǐ),理(lǐ)解線(xiàn)程、进程、信号量、消息机制、同步与互拆、并发控制等软件编程时用(yòng)到的概念。

(6)必要硬件基础知识。

嵌入式软件工程师主要做什么工作?

嵌入式软件工程师平时的工作就是负责嵌入式软件系统的规划、设计、编码、测试等工作。

嵌入式分(fēn)為(wèi)操作系统和硬件两个方面,就业的方向更广、更深,就业机会和入职待遇比普通软件工程师好。开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。

要求技能(néng)和发展方向

嵌入式工程师需要具有(yǒu)C语言或C++语言、汇编语言、操作系统等基础;熟悉模拟電(diàn)子技术和数字電(diàn)子技术等硬件知识;了解处理(lǐ)器體(tǐ)系结构。

积累丰富开发经验的嵌入式软件开发工程师可(kě)以向嵌入式系统开发工程师发展,从而晋升為(wèi)产品研发经理(lǐ)或IT项目经理(lǐ)。

对测试理(lǐ)论和方法有(yǒu)一定了解的嵌入式软件开发工程师还可(kě)以转作嵌入式系统测试工程师,最终也可(kě)发展為(wèi)IT项目经理(lǐ)。如果想创业,做自已的产品,嵌入式软件开发可(kě)以开发出专利产品。

关于汽車(chē)嵌入式软件开发和汽車(chē)嵌入式软件开发是做什么的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多(duō)这方面的信息,记得收藏关注本站。

扫码二维码