成为嵌入式开发工程师需要学习哪些教学内容

合集下载

成为嵌入式硬件工程师需要学习的内容

成为嵌入式硬件工程师需要学习的内容

成为嵌入式硬件工程师需要学习的内容第一:掌握硬件总体设计掌握硬件总体设计所必须具备的硬件设计经验与设计思路1) 产品需求分析2) 开发可行性分析3) 系统方案调研4) 总体架构,CPU选型,总线类型5) 数据通信与电信领域主流CPU:M68k系列,PowerPC860,PowerPC8240,8260体系结构,性能及对比;6) 总体硬件结构设计及应注意的问题;7) 通信接口类型选择8) 任务分解9) 最小系统设计;10) PCI总线知识与规范;11) 如何在总体设计阶段避免出现致命性错误;12) 如何合理地进行任务分解以达到事半功倍的效果?13) 项目案例:中、低端路由器等第二:学习硬件原理图设计技术,嵌入式之路不可或缺的一部分目的:通过具体的项目案例,详细进行原理图设计全部经验,设计要点与精髓揭密。

1) 电信与数据通信领域主流CPU(M68k,PowerPC860,8240,8260等)的原理设计经验与精华;2) Intel公司PC主板的原理图设计精髓3) 网络处理器的原理设计经验与精华;4) 总线结构原理设计经验与精华;5) 内存系统原理设计经验与精华;6) 数据通信与电信领域通用物理层接口的原理设计经验与精华;7) 电信与数据通信设备常用的WATCHDOG的原理设计经验与精华;8) 电信与数据通信设备系统带电插拔原理设计经验与精华;9) 晶振与时钟系统原理设计经验与精华;10) PCI总线的原理图设计经验与精华;11) 项目案例:中、低端路由器等第三:精通硬件PCB图设计目的:通过具体的项目案例,进行PCB设计全部经验揭密,使你迅速成长为优秀的硬件工程师1) 高速CPU板PCB设计经验与精华;2) 普通PCB的设计要点与精华3) MOTOROLA公司的PowerPC系列的PCB设计精华4) Intel公司PC主板的PCB设计精华5) PC主板、工控机主板、电信设备用主板的PCB设计经验精华;6) 国内着名通信公司PCB设计规范与工作流程;7) PCB设计中生产、加工工艺的相关要求;8) 高速PCB设计中的传输线问题;9) 电信与数据通信领域主流CPU(PowerPC系列)的PCB设计经验与精华;10) 电信与数据通信领域通用物理层接口(百兆、千兆以太网,ATM等)的PCB设计经验与精华;11) 网络处理器的PCB设计经验与精华;12) PCB步线的拓扑结构极其重要性;13) PCI步线的PCB设计经验与精华;14) SDRAM、DDR SDRAM(125/133MHz)的PCB设计经验与精华;15) 项目案例:中端路由器PCB设计第四:硬件调试目的:以具体的项目案例,传授硬件调试、测试经验与要点1) 硬件调试等同于黑箱调试,如何快速分析、解决问题?2) 大量调试经验的传授;3) 如何加速硬件调试过程4) 如何迅速解决硬件调试问题5) DATACOM终端设备的CE测试要求第五:软硬件联合调试1) 如何判别是软件的错?2) 如何与软件进行联合调试?3) 大量的联合调试经验的传授;。

成为嵌入式开发工程师需要学习哪些

成为嵌入式开发工程师需要学习哪些

成为嵌入式开发工程师需要学习哪些学习技术不难,看你自己怎么规划希望给参加深圳单片机培训的朋友一些分享和帮助ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。

从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。

这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。

硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

(4)兴趣所在,这是最主要的。

从事嵌入式软件开发的缺点是:(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

(2)这方面的企业数量要远少于企业计算类企业。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。

但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

兴趣的由来:1、成功观念不同,不虚度此生,就是我的成功。

2、喜欢思考,挑战逻辑思维。

3、喜欢C,C是一种能发挥思维极限的语言。

关于C的精神的一些方面可以被概述成短句如下:相信程序员。

不要阻止程序员做那些需要去做的。

保持语言短小精干。

一种方法做一个操作。

使得它运行的够快,尽管它并不能保证将是可移植的。

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。

方法步骤:1、基础知识:目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。

《嵌入式》课程标准

《嵌入式》课程标准

《嵌入式》课程标准《嵌入式技术》课程教学标准目录一、课程名称二、适用专业三、必备基础知识四、课程的地位和作用五、主要教学内容描述六、重点和难点七、内容及要求八、说明一、课程名称:嵌入式技术二、适用专业:电子测量与仪器三、必备基础知识低频电子线路、数字电子技术、单片机原理及应用四、课程的地位和作用1、课程的地位:专业方向课程2、课程的作用学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,最初级的硬件驱动程序等。

五、主要教学内容描述1、嵌入式Linux系统开发:侧重开发环境搭建、内核原理、交叉编译等2、嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用。

3、嵌入式Linux驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。

六、重点和难点1、重点:Linux应用编程、内核编译、系统调用2、难点:嵌入式Linux系统下的驱动开发、内核的深入分析七、内容及要求模块一:嵌入式学习基础1、教学内容(1)Linux 基础(2)Shell 编程基础(3)Linux 下的 C 编程基础2、教学要求(1)掌握学学习嵌入式所必须的基本功(2)了解Linux 基础(3)理解Shell 编程基础3、教学手段及方法:多媒体、演示、讨论4、实训项目及要求(1)项目1:安装Linux操作系统内容:安装Linux操作系统、Linux启动过程详解要求:熟练使用Linux系统的基本命令目的:认识Linux系统的常用服务(2)项目2:Shell 编程内容:编写一个测试服务器是否连通的shell脚本程序、编写一个带有循环语句的shell脚本程序、编写一个目录菜单要求:熟悉Linux下的各种Shell、进行shell编程目的:掌握Shell 编程(3)项目3:Linux 下的 C 编程基础内容:编写Hello,World程序、调试一个有问题的程序、编写汉诺塔程序要求:熟悉Gcc编译器、Makefile规则目的:熟悉linux C语言环境模块二:嵌入式开发1、教学内容(1)嵌入式系统开发基础(2)嵌入式系统移植(3)嵌入式Linux 下串口通信(4)嵌入式系统中多进程程序设计(5)嵌入式Linux 网络编程2、教学要求(1)掌握学习嵌入式开发所必须的种种基本技能(2)了解嵌入式开发的基本技能(3)理解嵌入式系统概念3、教学手段及方法:多媒体、演示、讨论4、实训项目及要求(1)项目1:嵌入式系统移植内容:移植Linux2.6内核到ARM9开发板要求:了解移植的概念目的:能够移植Linux内核(2)项目2:Linux下串口通信内容:编写串口通信程序、编写多进程程序要求:熟悉进行串口通信、熟悉文件I/O目的:熟悉串行I/O的基本概念(3)项目3:Linux网络编程内容:使用socket 编写代理服务器、使用socket 编写路由器、编写一个运行在ARM平台的网络播放器、编写一个web服务器要求:了解嵌入式Linux网络体系结构目的:进行嵌入式Linux环境下的socket 编程模块三:项目实战1、教学内容(1)模拟宽带路由器(2)局域网电子点菜系统2、教学要求(1)掌握项目的功能要求(2)了解项目开发的特点(3)理解项目开发基本条件3、教学手段及方法:室外教学、校外实践、社会实践4、实训项目及要求(1)项目1:模拟宽带路由器内容:建立一个内置Web服务器,用NA T方式实现路由功能要求:网卡的半轮询工作模式、网络地址转换——NA T目的:实现一个基于Web管理的简单路由器(2)项目2:局域网电子点菜系统内容:具备与网内应用服务器提取菜单信息以及将客户点菜信息发往应用服务器要求:UDP通讯协议、嵌入式数据库与持久存储目的:实现一个基于UDP通讯的点菜系统八、说明1、建议使用教材和参考资料《嵌入式系统——体系结构、编程与设计》卡莫尔编,贾建斌,李化译,清华大学出版社2、模块学时分配理论、实践、写总结体会4、注意事项(1)教案编写本课程标准对教案的定义是指在本课程完成整体教学设计,确定课程学习项目及各项目组成模块明确的基础上,对每一模块的教学内容按每一教学单元(原则上是2学时为1教学单元)进行的教学方案设计,她包括对本模块学习目标、工作任务、能力要求及学习内容分解到本教学单元中的具体授课内容、课堂活动教学的组织方式与教学要求、课时建议等。

嵌入式简单课程设计教案

嵌入式简单课程设计教案

嵌入式简单课程设计教案一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成和功能。

2. 学习嵌入式编程的基本语法和常用指令。

3. 了解嵌入式系统的应用领域和发展趋势。

技能目标:1. 能够使用嵌入式开发环境,进行简单的程序编写和调试。

2. 学会使用嵌入式系统的输入输出接口,实现基本的功能控制。

3. 培养学生动手操作、问题解决和团队协作的能力。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识。

2. 增强学生的责任心和自信心,使其在嵌入式学习过程中保持积极态度。

3. 培养学生遵守实验规程,养成良好的实验习惯,注重团队合作。

课程性质:本课程为实践性较强的学科,结合理论教学和实验操作,培养学生对嵌入式系统的认识和实际操作能力。

学生特点:六年级学生,具备一定的计算机基础,好奇心强,喜欢动手实践,但注意力集中时间较短。

教学要求:注重理论与实践相结合,以学生为主体,引导他们主动探索、实践,提高解决问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。

二、教学内容1. 嵌入式系统基本概念:介绍嵌入式系统的定义、组成、特点和应用领域,对应教材第一章内容。

2. 嵌入式编程基础:讲解嵌入式编程的基本语法、数据类型、运算符和常用指令,对应教材第二章内容。

3. 嵌入式系统开发环境:介绍嵌入式开发环境搭建、编译器使用和程序下载,对应教材第三章内容。

4. 嵌入式系统输入输出接口:学习嵌入式系统的GPIO、中断、定时器等接口的使用,对应教材第四章内容。

5. 嵌入式系统应用实例:分析典型的嵌入式系统应用案例,如温度控制、智能家居等,对应教材第五章内容。

教学安排和进度:第一周:嵌入式系统基本概念第二周:嵌入式编程基础第三周:嵌入式系统开发环境第四周:嵌入式系统输入输出接口第五周:嵌入式系统应用实例及实验操作教学内容注重科学性和系统性,结合教材章节安排,确保学生能够逐步掌握嵌入式系统的相关知识。

《嵌入式系统开发与应用》教学教案

《嵌入式系统开发与应用》教学教案

《嵌入式系统开发与应用》教学教案一、教学目标1. 了解嵌入式系统的概念、特点和应用领域。

2. 掌握嵌入式系统的基本组成和开发流程。

3. 学习嵌入式操作系统的基本原理和常用操作系统。

4. 掌握嵌入式系统编程方法和常用编程工具。

5. 培养学生的嵌入式系统设计和开发能力。

二、教学内容1. 嵌入式系统概述1.1 嵌入式系统的定义1.2 嵌入式系统的特点1.3 嵌入式系统的应用领域2. 嵌入式系统的基本组成2.1 硬件平台2.2 软件系统2.3 中间件和驱动程序3. 嵌入式系统开发流程3.1 需求分析3.2 硬件选型和系统设计3.3 软件开发3.4 系统集成与测试3.5 产品发布与维护4. 嵌入式操作系统原理4.1 嵌入式操作系统的概念4.2 嵌入式操作系统的分类4.3 嵌入式操作系统的特点4.4 常用嵌入式操作系统介绍5. 嵌入式系统编程方法5.1 嵌入式编程语言5.2 嵌入式系统编程工具5.3 嵌入式系统编程规范5.4 嵌入式系统编程实例三、教学方法1. 讲授法:讲解嵌入式系统的基本概念、原理和开发流程。

2. 案例分析法:分析实际项目中的嵌入式系统设计和开发案例。

3. 实验法:动手实践,掌握嵌入式系统编程方法和工具。

4. 小组讨论法:分组讨论,培养团队合作能力。

四、教学资源1. 教材:《嵌入式系统开发与应用》2. 课件:教学PPT3. 实验设备:嵌入式开发板、编程器、仿真器等4. 在线资源:相关论文、博客、教程、论坛等五、教学评价1. 课堂参与度:观察学生在课堂上的发言和讨论情况。

2. 作业完成情况:评估学生作业的质量和完成速度。

3. 实验报告:评估学生在实验过程中的操作能力和解决问题的能力。

4. 期末考试:测试学生对嵌入式系统开发与应用知识的掌握程度。

六、教学内容6. 嵌入式系统硬件平台6.1 微控制器(MCU)6.2 应用处理器(AP)6.3 系统级芯片(SoC)6.4 硬件选型的考虑因素7. 嵌入式系统软件系统7.1 固件编程7.2 嵌入式操作系统7.3 中间件与驱动程序开发7.4 软件开发工具与环境8. 嵌入式系统中间件与驱动程序8.1 中间件的概念与作用8.2 常用中间件介绍8.3 驱动程序的概念与开发8.4 设备驱动程序的框架9. 嵌入式系统项目开发流程9.1 需求分析与规格说明书编写9.2 硬件设计与选型9.3 软件设计与开发9.4 系统集成与测试9.5 项目管理与迭代10. 嵌入式系统案例分析与实践10.1 案例选择与分析10.2 系统设计与开发过程10.3 项目实施与调试10.4 项目报告与评审七、教学方法1. 案例分析法:通过分析具体的嵌入式系统项目案例,使学生了解项目开发的实际过程。

嵌入式专业课程介绍

嵌入式专业课程介绍
专业本科生的一门必修课,以ARM9为核心芯片讲解了嵌入式技术的前沿技术及外围电路。通过学习本课程,可以使学生认识了解现代嵌入式的应用领域及技术基础,还可以掌握了解基本外围电路的设计,为学生将来的职业选择打下坚实的基础。
QT程序设计与应用
目的是使学生掌握嵌入式应用开发设计的一些主要方法和思想,提高应用开发的基本技能和某些技巧,在QT开发集成环境下,能够独立编写简单的Qt应用程序,并具有基本的纠错和调试程序的能力,能将QT编写的应用程序移植到嵌入式设备上。
嵌入式技术及应用
一、培养目标
本专业培养具有坚实的理论基础,实践动手能力强、具有较强创新精神、全面发展的高素质应用型人才,在电子与通信、嵌入式领域从事技术开发,生产管理等第一线工作。本专业毕业生主要面向电子与通信、计算机行业、嵌入式系统电子产品生产行业,从事嵌入式系统相关电子产品的检修、开发设计、生产等工作,以及管理、销售等工作。
二、主干课程介绍
课程名称
培养目标
备注
电路分析基础
掌握电路的基本理论、分析计算电路的基本方法和进行实验的初步技能,并为后续课程准备必要的电路知识。
模拟电子技术
通过本课程的学习,使学生掌握模拟电子技术的基础知识,了解基本理论和掌握基本分析方法,培养学生用理论知识解决实际问题的初步能力,为各硬件技术课程的学习和今后工作、学习深造的需要打下必要的基础。
Protel电路设计
本课程的任务是使学生学会使用Protel软件绘制电路原理图以及印制板电路图,使学生掌握工程实践技能。核心包括原理图(Schematic)设计、印制电路板(PCB)设计的基本知识和操作技能。学生通过学习电子线路CAD软件设计,能掌握电子线路计算机辅助设计和计算机辅助制造的基本概念,并能熟练运用Protel软件进行线路设计及印制电路板设计、制作与调试,锻炼工程设计实践经验。

嵌入式系统课程大纲

嵌入式系统课程大纲第一部分:课程简介嵌入式系统是现代科技领域中非常重要的一个分支。

本课程旨在介绍嵌入式系统的概念、原理和应用,并通过实际案例来培养学生的实践能力和创新思维。

本课程的大纲将详细介绍课程的目标、内容、教学方法和评估方式。

第二部分:课程目标本课程的目标主要包括以下几个方面:1. 理解嵌入式系统的基本概念和原理;2. 掌握嵌入式系统的设计和开发方法;3. 熟悉常用的嵌入式系统平台和工具;4. 培养学生的实践能力和解决问题的能力;5. 培养学生的团队协作和沟通能力。

第三部分:课程内容本课程主要包括以下几个模块:模块一:嵌入式系统基础1. 嵌入式系统概述- 嵌入式系统定义和特点- 嵌入式系统的应用领域和发展趋势2. 嵌入式系统原理- 处理器架构和指令集- 内存和外设的访问方式- 中断和异常处理机制模块二:嵌入式系统设计1. 嵌入式系统设计流程- 系统需求分析- 系统架构设计- 硬件和软件设计- 系统验证和调试2. 嵌入式系统设计方法- 硬件描述语言(HDL)的应用- 硬件/软件协同设计方法- 电路板设计和布局模块三:嵌入式系统开发1. 嵌入式系统开发工具和环境- 开发板和开发套件的选择和使用- 嵌入式操作系统的选择和配置- 开发和调试工具的使用2. 嵌入式软件开发- 嵌入式软件架构和设计- 嵌入式软件编程语言和工具- 驱动程序和应用软件的开发第四部分:教学方法1. 理论讲授:通过课堂授课介绍嵌入式系统的相关概念和原理。

2. 实践操作:通过实验和项目实践培养学生的实际操作能力。

3. 讨论互动:组织学生进行小组讨论和案例分析,促进学生之间的交流和合作。

4. 实例演示:通过真实的案例演示,展示嵌入式系统的应用和开发过程。

第五部分:评估方式1. 平时表现:包括课堂参与、作业完成情况等。

2. 实验和项目报告:学生通过完成实验和项目,并撰写实验报告和项目报告来展示实践能力。

3. 期末考试:对学生对嵌入式系统相关概念和原理的掌握程度进行考核。

嵌入式软件工程师必须要掌握那些知识?

嵌入式软件工程师必须要掌握那些知识?嵌入式是当下最流行的开发模式,早在Android之前,这一领域的发展势头就非常强劲,但我们想想看,是不是Android从本质上来讲,也属于嵌入式开发的一部分,在最近几年被Android开发的风头盖过,但随之移动互联网时代的高速发展,嵌入式软件开发又开始羽翼丰满,重新占领舞台,下面就简单来了解下嵌入式开发的一些必备技能吧。

必备技能一、c/c++, 没有之一。

c/c++即能很好的跟底层硬件打交道,程序执行效率那也是相当有效率的。

基础的东西,就一定要学扎实,如果没有基础,那都是花把势。

所以嵌入式学习必需学习c/c++。

所谓基础是前提,有前提的后面的才会有保障。

对于嵌入式来讲,主要有两大发展方向,一是硬件方向,另外一种则是软件方向。

从硬件方向来讲,需要掌握的内容有:第一步:PCB设计,拿个芯片解决方案公版改改电路,换换零件,设计自己的电路,做自己的产品。

第二步:SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,搞个简单的外围芯片还是可以的。

第三步:整个arm架构,学学习习arm指令,看看芯片手册,搞搞bootloader。

第四步:玩玩系统移植,写写驱动这个已经上一个层次了第五步:SOC设计,这是硬件设计的核心技术:芯片设计。

能做到这步,已经不属于平凡的技术人员。

从软件方向来讲,需要掌握的内容有:除了一些基础语言开发之外,我们还必须要掌握一些更多的东西。

1、懂得linux系统,并会应用linux系统博大精深。

要想会玩那也是需要下工夫的。

基本命令会不会,简单脚本能不能写。

2、掌握相关的调试手段说道这个也是一个重要指标,嵌入式开发不同于pc开发,在pc 上断点跟踪代码什么的都十分方便,在嵌入设备上就比较麻烦了,串口,文件等这些是我们常用的调试手段,找问题基本上是看打印输出。

3、熟悉相关的环境配置嵌入式开发要想顺利,配置各种环境也是必需,没环境搞啥!学嵌入式开发要不停的折腾,环境配置虽然是个力气活,没它你还真干不了活。

嵌入式系统编程与开发课程大纲

嵌入式系统编程与开发课程大纲一、课程简介嵌入式系统是指内嵌在设备或系统中,具有特定功能并与外部环境交互的计算机系统。

本课程旨在介绍嵌入式系统的编程和开发方法,培养学生在嵌入式系统领域的基本能力和专业知识。

二、课程目标本课程的目标是使学生能够:1. 理解嵌入式系统的概念、原理和应用场景;2. 掌握嵌入式系统的编程语言、开发工具和方法;3. 熟悉嵌入式系统的硬件平台和接口技术;4. 能够进行简单的嵌入式系统设计、开发和测试。

三、课程大纲1. 嵌入式系统概述1.1 嵌入式系统的定义和特点1.2 嵌入式系统的应用领域2. 嵌入式系统硬件平台2.1 嵌入式处理器架构和选择2.2 嵌入式系统的外围设备和接口3. 嵌入式系统编程语言3.1 C语言在嵌入式系统中的应用3.2 C++语言在嵌入式系统中的应用4. 嵌入式系统开发工具及环境4.1 嵌入式系统开发环境搭建4.2 常用的嵌入式系统开发工具5. 嵌入式系统软件开发流程5.1 嵌入式系统软件开发的基本流程 5.2 软件需求分析和规格说明5.3 软件设计和架构6. 嵌入式系统驱动程序开发6.1 嵌入式系统驱动程序的概念和作用6.2 常见的外围设备驱动程序开发7. 嵌入式系统应用开发实践7.1 嵌入式系统应用开发的基本方法7.2 常见的嵌入式系统应用开发案例8. 嵌入式系统调试和测试8.1 嵌入式系统调试和测试的方法和技巧8.2 嵌入式系统软件测试的常用工具和技术9. 嵌入式系统安全性和可靠性9.1 嵌入式系统的安全性需求和挑战9.2 嵌入式系统的可靠性设计和实施四、评估方式1. 平时成绩(出勤、作业、实验报告等)占40%2. 期中考试成绩占30%3. 期末项目成绩占30%五、教材与参考资料1. 教材:《嵌入式系统设计与开发》2. 参考资料:[1] 《嵌入式系统开发实战指南》[2] "Embedded Systems: Architecture, Programming and Design" by Raj Kamal六、教学团队本课程由经验丰富的嵌入式系统工程师和专家担任教师,具备相关行业背景和实践经验,能够为学生提供专业的指导和培训。

粤嵌培训课程大纲

粤嵌培训课程大纲
粤嵌培训课程大纲主要包括以下几个阶段:
第一阶段:嵌入式Linux C编程基础(课程时长:4周)
本阶段课程帮助开发工程师快速了解嵌入式开发的基本要素,熟练使用Linux操作系统,熟练掌握嵌入式C语言编程方法;对数据结构和软件算法有一定的理解;更够熟练掌握一种嵌入式开发平台的使用和开发环境的搭建,为进一步学习嵌入式物联网应用开发打下良好的基础。

第二阶段:嵌入式Linux应用开发基础(课程时长:3周)
当前主流的嵌入式设备中均运行架构复杂的操作系统,操作系统提供了多任务的实现机制,为了能让嵌入式设备实现更高效的运作,必须掌握嵌入式操作系统中最核心的系统编程技巧,包括:文件操作、多进程编程、进程管理、进程间通信机制、多线程编程、线程间同步互斥机制、线程池机制等。

以上信息仅供参考,具体课程大纲可能会因实际情况而有所调整,建议咨询粤嵌培训官方人员,获取更准确的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成为嵌入式开发工程师需要学习哪些
学习技术不难,看你自己怎么规划希望给参加深圳单片机培训的朋友一些分享和帮助
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。

从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。

这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业计算等应用软件不同,嵌入式领域人才的工作
强度通常低一些(但收入不低)。

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。

硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

(4)兴趣所在,这是最主要的。

从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

(2)这方面的企业数量要远少于企业计算类企业。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。

但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。

2、喜欢思考,挑战逻辑思维。

3、喜欢C,C是一种能发挥思维极限的语言。

关于C的精神的一些方面可以被概述成短句如下:相信程序员。

不要阻止程序员做那些需要去做的。

保持语言短小精干。

一种方法做一个操作。

使得它运行的够快,尽管它并不能保证将是可移植的。

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。

方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言、C/C++、编译原理、离散数学。

数据结构和算法、操作系统、软件工程、网络、数据库。

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。

不一定全学,可根据需要选修。

主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。

2、学习linux:
目的:深入掌握linux系统。

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。

先看深,那主讲原理。

看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。

剖析则是0.11版,适合学习。

最后深入代码。

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。

3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。

方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。

而后深入研究uClinux。

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。

主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。

B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。

C、网络与信息安全技术:如加密技术,数字证书CA 等。

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。

说明:太多细节未说明,可根据实际情况调整。

重点在于1、3,不必完全按照顺序作。

对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。

对于linux内核,
学习编程,读一些优秀代码也是有必要的。

注意:要学会举一反多,有强大的基础,很多东西简单看看就能会。

想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。

一定要理论结合实践。

不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。

还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。

永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。

而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。

嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata

2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》杨宗德著
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》杨宗德著
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。

算法,架构方式等都很重要。

相关文档
最新文档