现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

韦东山:嵌入式Linux方面的技术经验

2015-12-08 20:19 工业·编程 ⁄ 共 3066字 ⁄ 字号 暂无评论

【编者按】韦东山,深圳百问网科技有限公司技术创始人,毕业于中国科学技术大学,电子、软件专业双学位,擅长ARM/MIPS等架构的Linux开发,10余年嵌入式开发经验。多家知名培训机构特邀讲师,著有《嵌入式Linux应用开发完全手册》一书。同时,他还是CSDN学院知名讲师,成功录制了50+嵌入式Linux教学视频,好评率100%。 用他的话说:“悦己之作,方能悦人”。

近日,韦东山老师接受了CSDN的专访,文中他分享了学习嵌入式Linux方面的技术经验,并给开发者指明了一道通向未来的灯塔。

 

CSDN:请先简单下自己(技术背景、工作经历、学习经历)。

韦东山:我2003年毕业于中国科技技术大学,电子和计算机双学位。毕业后在深圳一家小公司从事51单片机的软件硬件开发工作,在 工作中预料嵌入式操作系统将会兴起,于是辞职自学Linux半年;2005年8月份开始进入中兴通讯从事Linux系统开发; 2007年辞职写书,2012年开始建立百问网公司,发布Linux培训视频。

兴趣跟工作相吻合

CSDN:你是如何与Linux结缘的?是什么让你对 嵌入式Linux始终抱有热情的?

韦东山:在从事51单片机开发过程中碰到过一些技术问题,公司老板请来他的朋友做指导。他提及Win CE(Windows Embedded Compact)和Linux,那时的Win CE只能支持几款处理器,而Linux的普适性更强,于是开始学习Linux。 嵌入式Linux跟硬件紧密结合,而我又喜欢捣鼓些小玩意,这即符合技术潮流又能满足我的兴趣,所以一开始就很有激情。 激情不能长久,我很幸运在自学半年后能找到一份做Linux的工作,兴趣跟工作吻合,这太幸福了。

在工作过程中也会厌倦,但是工作的压力促使我去做更深地专研,慢慢地Linux已经成为我人生的一部分。 现在做Linux培训视频,学生们凭借所学知识找到好工作,还有些人会特意上门拜访;工程师们学习后提升了技术能力涨了工资,这让我感觉很好,这也是我不断录制视频的原因。

CSDN:在嵌入式开发方面有着近十年的开发经验,你是通过哪些方式来提升自己的 开发技能的呢?对嵌入式Linux开发方面有什么特别的喜好吗?

韦东山:碰到问题,全心去解决问题,这就是提升技能的唯一方法,它胜过看100本书,胜过看100套视频。书和视频只能带你入门,要提升技能必须碰到难题并尝试去解决它,在解决过程中你会猜想各种原因,把完全无关的技术融会贯通。 以前我只做Linux驱动,现在倾向于做完整的系统,这也是一步一步提升的过程。所谓系统就是“整套产品”,它涉及硬件,操作系统、驱动程序、 上层应用,甚至还有后台的服务器。

在做系统的同时,我还喜欢“玩”,做一些功能单一的小产品,比如座机来电闪、小孩一靠近电视就花屏的小设备,有人喜欢网络游戏有人喜欢逛街, 而这就是我的“电子游戏”。

写书难忘的经历:足不出户,边学边写

CSDN:你所编写的《嵌入式Linux应用开发完全手册》一书颇受开发者好评,在出书过程中有什么难忘的回忆吗?

韦东山:老实说,这书也只是适逢其时,它的很多内容都可以在网络上搜到,只是2008年那时还没有人把它整理出来。比如对于UBoot,你可以找到很多修改方法,但是没人告诉你修改的理由,也没有人从整体去分析它。 写书的过程很痛苦,工作时只要求你“会”——可以解决问题就行;而写书则要求你“从根源上会”,还要“会讲”。

我在脑中反复模拟讲解,写书时反复修改句子,2007年写书这一年,让我对Linux技术的理解更深了。确实很难忘这段经历:在深圳白石洲的民房里,墙上贴着章节的进度,足不出户,边学边写。

CSDN: Linux 4.1版本中宣称将引入大量汇编代码变更,很多人都说引入大量代码变更是有风险的,对此,你怎么看?

韦东山:我不会去使用最新的代码。

对于培训而言,Linux2.6跟Linux4.1没有本质差别,我常常这样建议学生:你可以用2.6学习,然后再自己尝试移植到高版本内核;
对于做产品,我也不会轻易更换内核,前期工作不能说扔就扔,并且更换有风险,需谨慎。

CSDN:曾有一段时间你是自由职业者,是什么原因让你走上创业道路的?

韦东山:想自由,不想上班,不想听闹钟起床,这就是做自由职业者的原因。后来发现这是一个坑,单身时没任何问题,但是结婚后生活压力还是会促使你早早起床干活,自由职业者反而不自由。 于是还是开公司吧,为了给小弟们树立榜样,现在的我比在中兴上班时起床更早。

CSDN:为何取名叫“百问”?这是一家什么样类型的公司?

韦东山:写书时,就想到要给学生们答疑,他们会有成百上千的问题,我希望自己都能解答。所以,起名为 百问。现在我们主要是做嵌入式Linux培训视频,致力于给学生、工程师提供培训。

对于学生,如果你还在玩单片机,那么可以尝试进入Linux。 我们会先把ARM板子作为单片机使用GUN工具链开发,这能让你更深刻理解单片机技术,因为IAR、KEIL等工具封装得太好了,让你看不见技术细节。

有志于开发智能硬件、可穿戴设备、物联网、智能家居等的人,只要这些硬件涉及比较复杂的功能,都可以从我们的视频得到帮助。

最大的感悟:累

CSDN:从一名资深的软件工程师到图书作者,再到百问科技缔造者,这期间给你最大的感悟是什么?

韦东山:以前工作很单纯,现在工作很繁杂;以前只想着技术,现在还要想着利润;以前只需要自己高兴,现在还要想想能给同事带来什么。 最大的感悟就是:累,回不到过去了,也不想回去了。

CSDN:你认为要成为一名优秀的嵌入式Linux开发工程师应该会哪些技术,具备哪些职业素养?

韦东山:我认为,优秀的工程师要具备全系统的技术能力,应了解公司业务、应用程序,底层系统,甚至还要了解下硬件;不能只满足于单点技术,如果你只会写驱动程序的话,那么,饭碗也是不牢靠的。

在素养上:要有自学能力,碰到问题时要能全心去解决它。

CSDN:你最喜爱的开发工具有哪些?在日常工作中会用到哪些?

韦东山:Souce Insight,它是我看代码、写代码必不可少的工具,也是因为它我才没有抛弃Windows;UltraEdit比记事本好用; vmware,我还在Windows下工作,所以用vmware虚拟机装Linux很必要。

CSDN:嵌入式开发一直是非常火爆的技术领域,你怎么看当前嵌入式的发展和应用?另外,当下移动互联网和云计算大行其道,你觉得嵌入式开发未来都有哪些发展机遇?

韦东山:现在兴起的硬件热潮,对于嵌入式Linux是一个很大的推动,比如智能硬件、可穿戴设备、物联网、智能家居等。比较简单的功能可以用单片机实现,但是一旦涉及WiFi、视频、图像等,就要用Linux了。 移动互联网和云计算,它们跟嵌入式并不是互相竞争的关系,因为它们总得有一个硬件来承载,而这个硬件基本上就要运行Linux。

程序员,应时刻不忘学习

CSDN:对嵌入式Linux开发领域的开发者有哪些建议?分享下心得和体会。

韦东山:在国内有一个残酷的现实问题,很多公司倾向于招更年轻的、刚毕业的人,作为一个程序员,我们必须提升自己的能力,时刻学习。

10年前很多单片机玩得很好的工程师,现在的择业范围真的开始变窄。系统!系统!!你必须掌握整个系统,业务逻辑到底层实现、从上到下的整套技术。 我们要常常想,如果我现在换个公司,能做什么?能力可以满足吗?怀着跳槽心尽早学习。

很多人会问道“是选择学习Android、 iOS还是嵌入式Linux?”
“在满足现实需求的同时,尽量凭兴趣,这是我不变地回答。”东山老师如是说。

给我留言

留言无头像?