嵌入式学习路线建议
- 格式:doc
- 大小:36.50 KB
- 文档页数:7
如何规划嵌入式学习路线基础知识学习:了解计算机系统的基本知识,包括操作系统、计算机网络、数据结构和算法等。
学习嵌入式系统的相关知识,包括嵌入式处理器、嵌入式操作系统、嵌入式应用程序设计等。
学习硬件设计的基础知识,如电路设计、模拟电路、数字电路等。
学习C语言和嵌入式系统开发框架,如STM32、Linux等。
学习基础编程:学习嵌入式系统的基础编程,如GPIO、I2C、UART、ADC、PWM等。
学习常用的嵌入式系统开发库和框架,如STM32、Linux等。
学习常用开发工具:学习如何使用开发板的开发工具,如JTAG调试器、烧写器等。
学习如何使用IDE进行嵌入式系统的开发,如Eclipse、Visual Studio等。
实践项目开发:通过实践项目开发,加深对嵌入式系统开发的理解和掌握。
可以选择一些开源项目,如WiFi模块、GPS模块、电机控制器等,进行项目开发。
参加课程和培训:参加一些嵌入式系统开发的课程和培训,可以学习到更多的知识和技能,同时也可以结交一些志同道合的朋友。
需要注意的是,嵌入式系统的学习需要有一定的基础知识和实践经验。
建议在学习过程中选择一些入门级的嵌入式开发书籍和课程,如《C语言嵌入式系统开发》、《嵌入式系统设计与实践》等,同时在实践中不断地学习和提高自己的技能水平。
此外,建议在学习的过程中注重理论与实践的结合,多动手编写代码,不断提高自己的技能水平。
嵌入式物联网需要学的东西真的非常多,不少人因为学的路线不对、内容不对头而和高薪offer擦肩而过,甚至有些老铁压根都不知道要学什么……让人捉急……分享一波自己整理的学习资源吧,基本上要学的内容都有,150多G。
点击这里找小助理0元领取:。
嵌入式学习心得体会(精选8篇)嵌入式学习心得体会篇1(4622字)从实习到现在搞嵌入式开发快一年了,蓦然回首好像一年过得挺快,挺顺利的。
细细品味,发现这一年还是有很多值得回忆和总结的东西。
至少这一年看书挺多,大概二十几本,当然和那些一年看一百多本书的人没法比,但是我已经超越了自己。
这是我大学毕业的第一年,初次走上社会,很想一展身手,可是.....其实也不用可是了,和很多朋友一样碰了很多钉子,现在我和老板的关系就挺一般的,只是我性格还不错。
呵呵~~,做优秀员工看来还得慢慢学。
今年最大的收获就是做了一个半项目,是在uClinux下面跑的。
半个是SNMP-Agent的实现,因为我去的时候snmpd已经跑起来了,我只是实现部分管理功能;一个是基于Web的管理系统,使公司的主打产品微波通信设备上网。
这个项目是我一手策划,一手实现(界面设计是一位女同事,很优秀的程序员),从中学到的东西也最多,感情不可谓不深。
SNMP即简单网络管理协议,其实一点都不简单。
在我所知的网络协议里面,它仅仅比OSI的CMIP简单一点,而CMIP直到现在还没得到广泛应用。
我们能够实现SNMP-Agent不能不感谢CarnegieMellon大学免费发布的ucd-snmp软件包。
它使得开发人员专注于实现对特定设备的管理功能。
我在项目中的工作主要是扩展MIB,实现相应的管理功能以及网络功能的扩展。
我们公司的MIB库比较庞大,但是程序运行还是挺快的。
因为ucd-snmp软件包中大量使用回调函数,而且它将MIB树以二叉树形式表示,但是每个结点不是单个的MIB结点,而是一个表,包括了多个结点。
回调函数和两层表示法的使用是操作快速的主要因素。
基于Web的管理系统我原本是打算在设备外实现SNMP-Manager 的功能,因为设备中已经嵌入了Agent。
这样管理人员可以在世界各地通过WWW登录公司的管理平台,实现对所有设备的管理。
但是老板想在设备中嵌入一个管理系统,可以通过www管理单个设备就行。
嵌入式开发学习计划【篇一:学习嵌入式计划】嵌入式开发学习计划走出本校门半年多了,在工作中发现反而使自己失去了以前在学校里明确的方向感,最近几个月里一直在思索自己的方向...曾经在学校里用了一年多时间做了一个嵌入式的工业仪器项目,回想通过那个时候的开发,收获很多,并且曾经也非常想在出校门后从事嵌入式linux开发的相关工作,但工作之后才发现,现在的公司没有像我想像中的那样,有我非常感兴趣的嵌入式开发,而是走向了纯软件的开发之路。
现在想来,我当时的愿望没有实现哦!现在,回首工作过的半年多时间,发现自己现在能学习到,没有在学校的那一年的嵌入式项目开发学到的多。
感觉到自己有点走下坡路了,所以通过最近几个月反复的思考,我决定还是得再重新搞我喜欢的嵌入式开发。
与以前相比,我的linux下c语言开发技能进步了许多(毕竟在现在的公司是做这方面的工作的),这样看来,若自己再想重新走嵌入式开发的路,下c语言应用软件开发、tcp/ip网络协议、linux系统定制与裁剪方面的基本技术应该是有了,所以现在的重点应该是放在底层的软件开发和硬件结构方面,如:深入到操作系统及系统底层(linux驱动开发、系统级工作原理等)、了解常用嵌入式处理器的结构与内部寄存器操作(arm体系结构和外围接口、汇编,因为我做的嵌入式开发是用c语言就可以了。
但现在的想法不一样了:没有完全了解硬件结构的嵌入式软件开发人员不是一个优秀的嵌入式开发工程师,所以学习硬件的汇编指令应该是以充分掌握硬件体系结构为目的的。
当然,若把汇编学习好了,那些对性能要求非常高的系统上面,软件也可以用汇编来编写。
所以我的嵌入式开发学习计划主要分以下几步走:第一步:在以前做过linux移植裁剪、了解linux的基础上,先学习《linux设备驱动程序第三版》,从而达到对linux下驱动程序开发的入门,能进行内核模块的加载与删除、简单的字符驱动程序的编写。
第二步:学习arm体系结构和外围接口及其特性。
嵌入式系统工程训练方案一、培养方案概述嵌入式系统工程是应用于各种现代设备中的计算机系统。
它们通常用于控制设备的功能,并且对于今天的技术世界至关重要。
因此,培养嵌入式系统工程师是十分重要的。
本培养方案旨在培养学生全面掌握嵌入式系统工程理论和实践技能,能够灵活运用嵌入式系统工程知识解决工程技术问题。
二、培养目标1. 系统的项目管理能力:学生能够使用嵌入式系统项目管理工具,进行项目计划和实施。
2. 专业知识:学生能够掌握嵌入式系统设计、开发、测试和维护的基本理论和方法。
3. 软件设计能力:学生能够使用常见的嵌入式系统开发工具,进行软件设计、测试和调试。
4. 硬件设计能力:学生能够使用常见的嵌入式系统开发工具,进行硬件设计、测试和调试。
5. 系统集成能力:学生能够熟练掌握嵌入式系统的集成和调试技术,进行系统级测试和评估。
6. 创新能力:学生能够运用创新思维和技术知识,独立解决实际工程问题。
三、培养方案实施1. 专业基础课程学习学生必须先通过嵌入式系统工程的专业基础课程学习,包括计算机组成原理、嵌入式系统设计原理、C语言程序设计、数字电路设计、嵌入式系统开发技术等课程。
这些课程将为学生建立嵌入式系统工程的理论基础和实践技能。
2. 实践能力培养学生需要参与实际的嵌入式系统项目开发,通过参与团队项目或者独立项目的实践活动,提高自己的实际操作能力。
这样的实践能力培养可以在学生毕业之后,更好地适应实际工作中的需要。
3. 多元化评价体系为了更好地评价学生的培养效果,采用多元化的评价体系。
包括课程考试、课程项目成果评价、实习实践评价、综合能力评价等,综合反映学生的专业基础、实践能力和综合素质。
4. 毕业设计/论文学生需要在毕业设计/论文环节进行综合考核,不仅考察学生的专业知识掌握程度,更重要的是考察学生在嵌入式系统工程实践中的创新能力。
四、培养方案课程设置1. 计算机原理与体系结构通过学习计算机的基本原理和体系结构,帮助学生理解计算机硬件和软件之间的关系,掌握计算机的运行原理和指令系统等基本知识,为学生后续的专业课程学习打下基础。
1华清远见嵌入式培训官网:嵌入式系统开发学习路线嵌入式人才成为了IT业界的新宠儿也就在这几年。
在这样一个炙手可热的行业当中,越来越多的人想跻身这个行业。
怎样才能成为一名优秀的嵌入式大师。
只要你积极不断提升自己的专业技能。
哪怕以后有再多的人跻身这个专业。
你同样可以成为业内的佼佼者。
想学好嵌入式单单找几本书看看是远远不够的。
其实嵌入式的门槛还是比较高的,当然只要我们找到合适的应对方法。
也就把握了解决嵌入式开发的“死穴”华清远见小编就跟大家分享一下嵌入式系统学习路线,希望能够帮助到大家!基础学习:Linux入门+C语言+Linux应用程序设计Linux入门:目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。
不应纠结于那个版本,而是尽快把 Linux系统尽快安装好。
如果打算坚持长期学习,那么建议您把自己的电脑做成双系统,而不要在虚拟机上安装;C语言:C 语言是嵌入式开发必备的基础知识。
学习C语言,如果不会用指针,那么就称不上会C语言。
做嵌入式开发指针更显得尤为重要,在嵌入式学习过程当中,C语言就像是整栋嵌入式大厦的基础,你只需要通过多敲、多练就一定可以成为一名准嵌入式工程师。
Linux应用程序设计:Linux的思想源于Unix,Linux继承了Unix的优点,而且Linux与Unix的源码级兼容。
“万丈高楼平地起”也就是说这三方面是非常重要的。
嵌入式入门:ARM体系结构从这部分开始,我们就真正要进入嵌入式开发学习的阶段了,首先我们应该了解ARM的技术特征,明白他的成功主要是基于两方面,一、得益于它独特的公司运作模式;二、来自于ARM处理器自身的优良性能,以及ARM处理器的相关特点等等……嵌入式提升:Linux内核、驱动众所周知嵌入式开发包含至少两个级别,一个是嵌入式内核驱动级别,另外一个是嵌入式应用层开发,而薪酬高的、最具价值的无疑是嵌入式内核驱动级别的开发者。
电子信息技术的快速入门指南与学习路线规划电子信息技术是现代社会不可或缺的一部分,它涵盖了多个领域,包括电路设计、通信技术、嵌入式系统等。
对于想要快速入门电子信息技术的人来说,了解学习路线是非常重要的。
本文将为您提供一份电子信息技术的快速入门指南和学习路线规划。
一、了解基础知识作为电子信息技术的初学者,您需要先了解一些基础知识。
这包括电路理论、数电、模电、信号与系统等。
您可以通过自学或参加相关的课程来学习这些基础知识。
建议从学习电路理论开始,因为它是掌握电子信息技术的基石。
二、掌握硬件理论与实践在学习电路理论的基础上,您可以进一步深入学习硬件理论与实践。
硬件理论包括数字电路、电子元器件、模拟电路等。
您可以通过实验室课程或参加电子工程师培训班来加深对这些理论的理解,并通过实际操作来掌握相关技能。
三、学习嵌入式系统嵌入式系统是电子信息技术中的一个重要领域,它涉及到硬件、软件和操作系统等方面的知识。
学习嵌入式系统需要深入了解单片机原理与应用、嵌入式开发平台等。
您可以通过学习相关的课程或参与项目实践来提升相关技能。
四、了解通信技术通信技术是电子信息技术的另一个重要方向,它涉及到数据传输、网络通信、无线通信等知识。
您可以通过学习通信原理、网络协议、移动通信等课程来了解这方面的知识,并通过参与相关项目来实践自己的技能。
五、跟随行业的发展趋势为了确保您的学习能够跟上行业的发展趋势,您需要时刻关注最新的技术动态和趋势。
参加行业会议、阅读相关的技术刊物、关注行业专家的博客等都是很好的途径。
同时,参与开源项目或者加入相关的技术社区也能够帮助您与其他同行进行交流和学习。
六、持续学习与实践电子信息技术是一个不断演化的领域,所以持续学习和实践是非常重要的。
通过参加培训课程、阅读相关的教材和文献、进行项目实践等方式,您可以不断提升自己的技能和知识,并将其应用于实际问题中。
综上所述,电子信息技术快速入门的学习路线规划包括了了解基础知识、掌握硬件理论与实践、学习嵌入式系统、了解通信技术、跟随行业的发展趋势以及持续学习与实践。
嵌入式工程师成长路线嵌入式工程师是电子信息领域中一种专业技术人才,主要从事嵌入式系统的开发和应用。
随着物联网和智能制造等领域的发展,嵌入式工程师的需求越来越大。
如何成为一个优秀的嵌入式工程师,需要经历一条艰辛的成长之路。
学习电子基础知识作为一名嵌入式工程师,首先需要打好电子基础知识的基础。
这包括电路原理、模拟电子技术、数字电子技术等方面的知识。
只有掌握了这些基础知识,才能更好地理解和设计嵌入式系统。
掌握编程技能嵌入式系统的开发离不开编程技能,因此学习一门编程语言是非常必要的。
C语言是嵌入式系统常用的编程语言,掌握C语言的语法和应用是成为嵌入式工程师的基本要求。
除了C语言,还应该了解一些其他编程语言,如Python和Java等,以备不时之需。
学习嵌入式系统原理嵌入式系统是由硬件和软件组成的,因此嵌入式工程师需要学习嵌入式系统的原理。
这包括硬件平台选择、外设接口、数据存储和处理等方面的知识。
只有深入了解嵌入式系统的原理,才能更好地进行系统的设计和调试。
参与实际项目理论知识只是嵌入式工程师成长的一部分,实践经验同样重要。
参与实际项目是锻炼能力的最好方式。
在实际项目中,嵌入式工程师可以学习到更多的实践经验,了解项目的需求,培养解决问题的能力。
对于初级嵌入式工程师来说,多参与实际项目是积累经验的重要途径。
深入研究领域嵌入式系统的应用领域非常广泛,涉及到工业控制、智能家居、汽车电子等多个领域。
为了在特定领域有更好的竞争力,嵌入式工程师需要深入研究所选定的领域,并学习相关的专业知识。
比如,如果想从事智能家居领域的嵌入式开发,就需要学习相关的物联网技术和智能算法。
持续学习和自我提升嵌入式工程师的技术更新速度很快,因此持续学习和自我提升是非常必要的。
可以通过阅读专业书籍、参加培训课程、参加技术交流会议等方式来增加知识储备和拓宽视野。
同时,要保持学习的热情和勇于尝试新技术的精神,不断提高自己的技术水平和创新能力。
结语嵌入式工程师是一个非常有挑战性和发展空间的职业,但也需要经过一条艰辛的成长之路。
嵌入式 课程设计一、课程目标知识目标:1. 理解嵌入式系统的基础概念,掌握其组成、工作原理和应用领域;2. 学习嵌入式编程的基本语法和技巧,能独立编写简单的嵌入式程序;3. 了解嵌入式系统的设计与开发流程,掌握基本的硬件调试和软件优化方法。
技能目标:1. 培养学生运用所学知识解决实际问题的能力,能针对特定需求设计简单的嵌入式系统;2. 提高学生的编程实践能力,熟练使用嵌入式开发工具和调试设备;3. 培养学生的团队协作能力,通过项目实践,学会与他人共同分析和解决问题的方法。
情感态度价值观目标:1. 激发学生对嵌入式系统的兴趣,培养其探究精神和创新意识;2. 培养学生严谨、细致的学习态度,养成认真负责的工作作风;3. 强化学生的国家意识,使其认识到嵌入式技术在国家战略和经济社会发展中的重要性。
本课程针对高年级学生,结合学科特点和教学要求,旨在通过理论教学与实践操作相结合的方式,使学生在掌握嵌入式系统基本知识的基础上,提高实际应用能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。
二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程、应用领域及发展趋势;教材章节:第一章 嵌入式系统概述2. 嵌入式硬件基础:讲解嵌入式系统的硬件组成、常见微控制器、外围设备及其接口技术;教材章节:第二章 嵌入式硬件基础3. 嵌入式编程基础:学习嵌入式编程语言(如C语言)、编程规范和技巧;教材章节:第三章 嵌入式编程基础4. 嵌入式系统设计与开发:介绍嵌入式系统的设计流程、开发环境、调试方法;教材章节:第四章 嵌入式系统设计与开发5. 嵌入式系统实例分析:分析典型嵌入式系统的结构和功能,进行实际案例讲解;教材章节:第五章 嵌入式系统实例分析6. 嵌入式系统项目实践:组织学生进行小组项目实践,培养实际应用能力和团队协作精神;教材章节:第六章 嵌入式系统项目实践教学内容安排和进度:第1周:嵌入式系统概述第2-3周:嵌入式硬件基础第4-5周:嵌入式编程基础第6-7周:嵌入式系统设计与开发第8-9周:嵌入式系统实例分析第10-12周:嵌入式系统项目实践教学内容根据课程目标制定,具有科学性和系统性。
嵌入式系统中的路径规划设计嵌入式系统中的路径规划设计是指在嵌入式系统中实现智能的路径规划功能,通过对路径的规划和优化,使得嵌入式系统可以在特定环境中实现高效的导航和运动控制。
该设计在机器人导航、自动驾驶等领域有着广泛的应用。
一、背景介绍在嵌入式系统中,路径规划设计的任务是确定从起始点到目标点的最优路径,同时考虑到环境的约束条件和运动性能的限制。
路径规划设计涉及到地图构建、环境感知和运动控制等多个方面的技术,需要综合考虑实时性、准确性和效率性的要求。
二、路径规划算法1. A*算法A*算法是一种常用的启发式搜索算法,可以在有限时间内找到最优路径。
该算法通过维护一个开放列表来搜索最短路径,利用启发函数估计当前节点到目标节点的代价,并结合节点的实际代价选择下一个节点。
A*算法在嵌入式系统中应用广泛,其算法结构简单,搜索效率高。
2. D*算法D*算法是一种增量路径规划算法,可以在动态环境中进行实时路径规划。
该算法通过不断更新地图信息和路径代价来适应环境的变化,并通过增量更新路径来降低计算复杂度。
D*算法适用于嵌入式系统中对环境变化敏感的场景,如机器人巡检、无人机航线规划等。
3. RRT算法RRT算法是一种基于随机采样的路径规划算法,通过生成一棵随机采样树来搜索路径。
该算法通过不断生长树形结构来逼近目标,有效克服了高维空间中的搜索困难。
RRT算法易于实现和扩展,适用于嵌入式系统中的实时路径规划和避障。
三、嵌入式系统中的路径规划设计实践1. 硬件平台选择在嵌入式系统中,路径规划设计的实现需要选择合适的硬件平台。
根据具体应用场景和系统要求,可以选择嵌入式开发板、自主导航模块等硬件设备,并根据实际需求进行硬件接口的设计和定制。
2. 地图构建与环境感知路径规划设计需要基于准确的环境地图进行规划和导航。
通过传感器获取环境信息,如激光雷达、摄像头等,可以构建地图并实时感知环境变化。
此外,还需要考虑传感器数据融合、地图更新等技术,提高路径规划的精确性和鲁棒性。
嵌入式 课程设计一、课程目标知识目标:1. 理解嵌入式系统的基础知识,掌握其基本组成、工作原理和应用领域;2. 学习嵌入式编程的基本语法和技巧,能运用所学知识编写简单的嵌入式程序;3. 了解嵌入式系统在不同行业中的应用案例,提高对嵌入式技术在实际应用中的认识。
技能目标:1. 培养学生动手实践能力,学会使用嵌入式开发工具和调试设备;2. 提高学生分析问题、解决问题的能力,能运用所学知识解决简单的嵌入式系统问题;3. 培养学生团队协作和沟通能力,能在小组项目中发挥个人优势,共同完成任务。
情感态度价值观目标:1. 培养学生对嵌入式技术的兴趣和热情,激发学生主动学习的积极性;2. 培养学生严谨、细致的学习态度,养成良好的编程习惯;3. 增强学生的创新意识,鼓励学生勇于尝试,培养面对挑战的勇气和自信。
分析课程性质、学生特点和教学要求:本课程为嵌入式系统入门课程,旨在让学生了解嵌入式技术的基本概念、原理和应用。
学生为初中年级,具有一定的电子技术基础和编程基础。
在教学过程中,注重理论与实践相结合,强调动手实践和创新能力培养。
二、教学内容1. 嵌入式系统概述- 嵌入式系统的基本概念- 嵌入式系统的组成与分类- 嵌入式系统的应用领域2. 嵌入式硬件基础- 嵌入式处理器- 存储器与I/O接口- 嵌入式系统硬件设计原理3. 嵌入式编程基础- 嵌入式编程语言(C语言)- 嵌入式编程技巧与规范- 嵌入式系统软件设计原理4. 嵌入式系统开发与应用- 嵌入式开发环境与工具- 嵌入式系统调试方法- 嵌入式系统应用案例分析5. 实践项目与案例分析- 嵌入式系统设计流程- 实践项目:智能小车控制- 案例分析:智能家居、物联网等领域的嵌入式应用教学内容安排与进度:第一周:嵌入式系统概述第二周:嵌入式硬件基础第三周:嵌入式编程基础第四周:嵌入式系统开发与应用第五周:实践项目与案例分析教材章节及内容列举:第一章:嵌入式系统概述第二章:嵌入式硬件基础第三章:嵌入式编程基础第四章:嵌入式系统开发与应用第五章:实践项目与案例分析教学内容确保科学性和系统性,结合课程目标,注重理论与实践相结合,培养学生的动手实践能力和创新能力。
嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
你可以尝试以下路线:(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》这本经典的教材是老外写的,也有中译版本。
(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。
而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6)驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。
在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。
只要能坚持下来一定会取得成功!其实LZ可以到一些嵌入式培训机构的网站上看一下他们的课程设置,就会在脑子里有个清晰的思路,比如华清远见的官方网站,上面的嵌入式内容很丰富,嵌入式方面的信息更新也很迅速,没事可以去转转。
嵌入式是一个比较大的概念,他有四个分支,至少我只知道这四个。
1、微控制器(单片机为例);2、微处理器(arm为例);3、dsp(数字信号处理);4、soc(片上系统);对于我们初学者而言,首先要学习单片机,以51为代表,等你学好51之后,可以深入学习更艰难的东西;当然,并不是说你只需要学习单片机;要想学好单片机,你还得学c语言,得学汇编,得学一大堆应用软件;等到单片机能够掌握的不错的时候又需要自己进行原理图、PCB板的设计;还得掌握系统设计的工程管理什么的;比较多。
单片机还是比较简单的,等到学好之后,开始学习arm的时候,你就接触的多了,什么操作系统啊、驱动编写啊、内核移植啊、应用程序的添加啊、上位机的编写啊,,那个就多了,,不过到时候你就全知道了。
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。
这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。
硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。
但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢CC是一种能发挥思维极限的语言。
关于C的精神的一些方面可以被概述成短句如下:相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:1、基础知识:目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。
不一定全学,可根据需要选修。
thec++programminglanguage(一直没时间读)、数据结构-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技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。
重点在于1、3,不必完全按照顺序作。
对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。
对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意:要学会举一反多,有强大的基础,很多东西简单看看就能会。
想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。
一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。
还有一些不愿意做但必须要做的!技术是通过编程编程在编程编出来的。
永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。
而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐Linux基础1、《Linux与UnixShell编程指南》C语言基础1、《CPrimerPlus,5thEdition》【美】StephenPrata着2、《TheCProgrammingLanguage,2ndEdition》【美】BrianW.KernighanDav idM.Rithie(K&R)着3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE)4、《嵌入式Linux应用程序开发详解》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情景分析》毛德操胡希明著研发方向1、《UNIXNetworkProgramming》(UNP)2、《TCP/IP详解》3、《Linux内核编程》4、《Linux设备驱动开发》(LDD)5、《Linux高级程序设计》杨宗德著硬件基础1、《ARM体系结构与编程》杜春雷着2、S3C2410Datasheet英语基础1、《计算机与通信专业英语》系统教程1、《嵌入式系统――体系结构、编程与设计》2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明著3、《BuildingEmbeddedLinuxSystems》4、《嵌入式ARM系统原理与实例开发》杨宗德著理论基础1、《算法导论》2、《数据结构(C语言版)》3、《计算机组织与体系结构?性能分析》4、《深入理解计算机系统》【美】RandalE.Bryant DavidO''Hallaron着5、《操作系统:精髓与设计原理》6、《编译原理》7、《数据通信与计算机网络》8、《数据压缩原理与应用》C语言书籍推荐1.TheCprogramminglanguage《C程序设计语言》2.PointersonC《C和指针》3.Ctrapsandpitfalls《C陷阱与缺陷》4.ExpertCLanuage《专家C编程》5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCProgr ams《编程精粹--Microsoft编写优质无错C程序秘诀》6.ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》7.《C语言嵌入式系统编程**》8.《高质量C++/C编程指南》林锐尽可能多的编码,要学好C,不能只注重C本身。
算法,架构方式等都很重要。
这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!。