范文无忧网范文学习范文大全

嵌入式设计应该掌握哪些基础知识

09月03日 编辑 fanwen51.com

[嵌入式硬件工程师需要掌握哪些知识]编写嵌入式系统硬件总体方案和详细方案,进行硬件选型(单片机、DSP或者其他处理器)及系统分析; 负责硬件详细设计及实现,包含原理设计、PCB layout、硬件调试; 参与系统移植以及驱...+阅读

嵌入式设计应该掌握哪些基础知识

做嵌入式应用的话一般的编程就可以了。那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要给你交流一下:

(一家之言啊,自己多年从事嵌入式开发的一点感悟)

嵌入式驱动开发需要了解的知识大概有以下几类:

1 嵌入式操作系统驱动框架。每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具体位置与构建驱动程序的主要事项

2 总线知识,比如PCI、USB总线。

3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理

4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识

5 C++基本用不上,主要是C和汇编。

6 做驱动最好要懂内核调试(比如说linux)

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

1. 需分析

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

2. 体系结构设计

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

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

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

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

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

5. 系统集成

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

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

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

嵌入式系统设计要掌握哪些知识

首先要学习下基础课程单片机,汇编和C语言等等,然后再学习嵌入式,如果说你要想水平高的话,最好学习下操作系统,数据结构,算法及一些硬件方面的知识等等。看你是想在什么方面发面,你的说明比较不具体,是在硬件方面还是软件方面。假如是软件方面,当然对编程要侧重,反之在硬件方面,那么就要对单片机,电子电路,数电,模电等等要多加学习才是。

做嵌入式的大概有这样几个方向:

驱动/BSP/内核移植类:这一类要你了解硬件芯片和电路原理图多一些,需要多学习大学这类基础课,然后看一些基本的CPU芯片外围芯片手册,知道什么是CPU内部总线、外设控制器和寄存器。这类人在产品项目中人数需要不大,但是工资不低。(内核移植和内核开发暂且不提)

嵌入式操作系统类:这一类要你能根据产品需要设计出能多任务处理并控制一些外设或者与外设通讯的程序。需要你有很好的C语言基础,单片机基础,然后是嵌入式操作系统基础,知道各种多任务处理的模型,然后还需要一些数据结构知识。你要知道程序是如何烧写到芯片里变成能控制设备的东西的。

嵌入式系统应用类:这一类要更加偏向软件一些,有时甚至只是知道内存限制就可以了,其他硬件都不必考虑太多,比如做嵌入式GUI的(miniGUI Qt)、嵌入式数据库的、嵌入式webserver程序等,这一类归根结底是软件开发,需要有强大的阅读源码能力和程序设计基础。高级嵌入式相关应用程序开发类:如手机开发的,特别是iphone android的应用开发,这一类实际上是纯软件开发,要有很好的程序设计基础、面向对象概念、结构化开发概念等,UI相关的现在还需要有一些UX用户体验理念。

大概就这几类,如果你是学生建议自己买一个三星的ARM9开发板,很便宜的,从读芯片手册、学习移植ucosII,写写ucosII应用程序,深入的可以学习嵌入式linux下应用程序开发等,总之一年之内学透一个开发板,那么你就可以合格胜任前两类工作了。

延伸阅读:

嵌入式硬件工程师需要掌握什么技能据创客学院相关介绍,一般需要清楚了解以下方面: 1. 编写嵌入式系统硬件总体方案和详细方案,进行硬件选型(单片机、DSP或者其他处理器)及系统分析;负责硬件详细设计及实现,包含原理...

软件测试师要掌握的基础知识有哪些1)熟悉计算机基础知识; (2)熟悉操作系统、数据库、中间件、程序设计语言基础知识; (3)熟悉计算机网络基础知识; (4)熟悉软件工程知识,理解软件开发方法及过程; (5)熟悉软件质量及...

初中物理中有关光的折射定律应该掌握哪些知识你好!初中物理中,有关光的折射定律,并非需要掌握的重点,只要了解一下知识即可。 1、光的折射定律: a.折射光线与入射光线、法线在同一平面内。 b.折射光线和入射光线分居法线两侧...

护士应该掌握哪些技能护士应具备哪些素质------ 1 . 心理素质: 护士是临床护理工作的主体,要提供最佳的护理服务,就必须加强自身修养,有一个良好的精神面貌和健康的心理素质。积极向上、乐观自信的生...

计算机四级考试嵌入式系统开发工程师教材应该看哪些?1、首先C语言,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人。 2、学习嵌入式系统,如linux或者wince下的编程,如果...

室内设计需要掌握哪些知识学习室内设计实际上并不难 有一个好的学习方法 一位好的老师 给自己一些时间全身心的投入学习 三到四个月就可以完成学习 掌握公司对设计师的要求那么公司对设计师有什么要...

嵌入式设计具体是什么意思嵌入式设计具体是什么意思,软件设计师 vs嵌入式系统设计师:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有...

嵌入式系统设计要掌握哪些知识嵌入式系统设计要掌握哪些知识,基于嵌入式的多功能计算器的设计:首先要学习下基础课程单片机,汇编和C语言等等,然后再学习嵌入式,如果说你要想水平高的话,最好学习下操作系统,数据...

高中数学必修一所用到的初中知识点有哪些应该重点掌握哪些初中知高中数学必修一所用到的初中知识点有哪些应该重点掌握哪些初中知,初中学习要点是什么:初中知识点用到一次函数,二次函数,反比例函数,方程求解等相关问题。 很多的高一新生学习必...

推荐阅读
图文推荐
栏目列表