请选择 进入手机版 | 继续访问电脑版
搜索
热搜: XMC1000 XMC4000
查看: 103|回复: 0

嵌入式时代已经来临,你还在等什么?

[复制链接]

13

主题

13

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2017-8-4 15:41:15 | 显示全部楼层 |阅读模式
嵌入式专业是一门实践性非常强的学科,只有多动手,多实践,多编程,多调试,多看书,多思考才能真正掌握好嵌入式开发技术。
现在很多同学也意识到了学校培养模式和社会需求脱节问题,有一部分同学也先行行动起来,开始注重培养自己的实际动手能力,培养自己实际分析问题,解决问题的问题,培养自己在嵌入式专业实际编程,和调试程序的能力。但是嵌入式专业不同于其他学科,嵌入式专业是一门综合性非常强,涉及知识面非常广的学科,对于初学者来说,面对那么多教程,课本,那么多知识点,往往不知道从何处下手,不知道哪些是重点,哪些不是重点,这些知识点之间有什么关联,一脸的茫然,然后东一榔头,西一棒子,折腾了几个月甚至大半年后,还是找不着学习嵌入式的方向,还徘徊在嵌入式开发的大门之外。
那么,如何从零开始学习嵌入式开发技术, 进入嵌入式开发大门呢,我们根据自己嵌入式实训学院的多年教学实训经验,谈谈我们对嵌入式学习的一些想法和意见,希望对大家有所帮助。
一、练好基本功
嵌入式系统专业是综合了计算机硬件技术,计算机软件技术以及电子电路技术的一门综合学科,所涉及的内涵和知识非常广泛,包括:数字电路,模拟电路,计算机组成原理,单片机基础,C语言基础,操作系统,数据结构,编译原理,计算机控制,计算机网络等知识。
在真正学习嵌入式开发之前,首先要打好基础。其中最重要的是C语言基础、数字电路、计算机组成原理三门课程。对于C语言,至少能单独编写调试一个500行的程序,能够了解C语言的基本语法规则,基本语句的使用,理解指针概念并能灵活使用各种指针。
计算机组成原理要能理解组成一个计算机系统的几大部件,计算机系统的结构,理解系统总线,理解处理器和计算机外部设备的关系,处理器和计算机外设是如何协调工作完成某一项功能的,计算机软件和硬件是如何分工协作完成某一项任务的,理解软件是通过寄存器来控制硬件的。
数字电路,模拟电路要了解其基本原理个概念,能看懂简单模拟、数字电路原理图。理解数字电路中的寄存器,时序的概念,能看懂芯片手册和时序图。对于其他基础课程,重点要理解其中的一些基本概念,如何使用等等。
对于电子,自动化,通信,计算机类专业的学生,在大二、大三开设的专业基础或专业课程中基本包含了以上的大部分课程。因为缺乏实践,可能学得不是很深入,但是一些基本的概念和基本知识应该还是有所了解,针对一些薄弱环节,自己稍微加强学习一下,基本上已经具备了学习嵌入式开发的基础。在嵌入式基本功学习阶段,最重要的是C语言和单片机基础,最好是能用C语言开发一个小的单片机程序,例如用C语言实现单片机和PC的串口通信,用C语言控制LED等显示,用C语言控制数码管显示等小程序。在这个期间需要的学习工具就是单片机51学习开发板。推荐飞凌的OK-51学习开发板。详情参考:
二、嵌入式Linux应用开发
嵌入式开发基础知识学习完后,这时候你已经有了一定的嵌入式开发基础了,可以进行基于单片机的嵌入式系统设计了。单片机编程本身也是属于嵌入式编程,但是在这里我们只是把单片机开发当作嵌入式系统开发的基础,不把单片机开发作为真正的嵌入式系统开发,在这里我们的嵌入式系统开发是指在带有操作系统的嵌入式平台上的应用和驱动开发,特别指在嵌入式linux平台上的开发。
单片机开发在很早以前开始就是非常热门的,现在在一些比较简单的系统上单片机也用的非常广泛,随着硬件的成本不断降低,在一些比较复杂的嵌入式设备一般都采用嵌入式linux操作系统,在嵌入式linux平台上进行开发,这样可以极大的提高嵌入式开发效率,提高系统的稳定性和可靠性,降低开发成本。由于linux是一个开源的操作系统,你可以通过阅读linux内核来理解内核的实现机制,如果有需要,你甚至可以通过修改内核源码来提高系统的性能;同时,全球参与linux开发的队伍非常庞大,网上有大量的嵌入式linux开发资料和源代码,很多你需要实现的功能在网上基本都能找到相关源码,参考一下别人写的源码,这样可以极大的提高自己的工作效率和技术能力,近几年,随着参与linux开发的人越来越多,linux系统的稳定性、实时性有了很大的提高,linux系统无论在服务器上还是嵌入式设备平台上都应用越来越广泛,现在包括华为、中兴、朗讯的各大通信巨头都开始把自己设备的底层平台从vxworks操作系统迁移到linux系统,可以说嵌入式linux是嵌入式技术发展一个方向,是嵌入式技术的一面旗帜。
基于以上原因,我们的建议是学嵌入式开发,就学嵌入式linux开发,相对于wince等其他的嵌入式平台,你可以真正学到更多的东西,学到嵌入式技术的精髓,同时他又符合嵌入式产业发展的方向,不容易被日新月异的技术发展所淘汰。
有了嵌入式开发的基础,又知道了我们为什么要学习嵌入式linux开发,那我们就要开始动手开始学习了,那如何开始学习嵌入式linux开发,从哪里开始着手呢?
很多同学这时候就开始买linux书籍,从图书馆借了一大堆关于linux的书:什么《linux使用基础教程》、《linux源码深度分析》、《linux前景分析等》、 《linux高级使用指南》等等。结果抱着这些图书看了10天半个月还是不知所云,当初学习的激情慢慢就消退了,最后不了了之,终究没有进入嵌入式开发大门。究其原因,是因为没有找到合适学习嵌入式开发的方法,做任何事情都有方法可循,找对了学习方法往往就能事半功倍;否则就可能是事倍功半,甚至劳而无功。接下来我先分析一下同学们的几种常见的嵌入式linux学习误区,然后提出一种比较合适的嵌入式linux学习方法。
误区一、全身投入学习桌面或服务器版本linux系统
很多在我们学院学习嵌入式linux 的同学经常会提这样的问题,我不会linux系统,怎么学习嵌入式linux开发,于是他们就花费了大量的精力和时间去研究学习桌面版本linux系统的使用,什么redhat 、federo,、ubuntu等等都用过,如何配置linux,linux的各种使用命令都背的滚瓜烂熟,linux各种服务器的配置,还原备份各种操作非常熟悉,以为这样就学会了嵌入式linux开发。其实这是一个学习嵌入式Linux开发的误区。
Linux桌面环境只是嵌入式linux的一个开发工具,开发环境而已。我们的目标不是学习linux服务器的配置和使用,linux服务器的高级配置和使用那是另外一个领域,不属于嵌入式linux讨论的范畴。我们进行嵌入式linux开发,只是把linux桌面环境当作一个工具,在linux桌面环境下运行嵌入式linux开发工具,例如gcc 编译器,make工具来开发我们的嵌入式linux应用程序而已,对于嵌入式开发工程师来说,没有必要花费那么多的精力和时间去研究linux桌面版和服务器的应用,只要能了解最基本的操作即可。现在的桌面linux系统的图形化界面做的也相当好,跟window具有相同的易用性能,例如ubuntu很多操作都可以在图形界面下完成,就没有必要去记每个linux命令了。熟悉linux桌面系统的使用和基本操作命令,安排1~2天时间学习基本就可以掌握了。
误区二、直接阅读linux内核源代码
很多想学linux,在连linux是什么东西,一点都还不会使用的情况下去就阅读linux内核源代码,花了大量时间去阅读《linux源码深度分析》、《linux情景分析等》等书。这样的结果很可能就是看的头昏眼花,不知所云,最后只能放弃了。这也是同学们学习嵌入式linux的一个误区,在有一定嵌入式linux开发基础后,带着一定的目的去阅读linux源代码,这样可以极大的提高你的技术能力,但是你在没有任何基础,对linux一点都不了解的情况下就去阅读linux内核源代码,无异于以卵击石,最后只能是撞个头破血流。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|英飞凌技术社区

GMT+8, 2017-10-18 15:41 , Processed in 0.091113 second(s), 14 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表