韦东山谈Linux设计与开发.docx
- 文档编号:5849184
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:6
- 大小:92.14KB
韦东山谈Linux设计与开发.docx
《韦东山谈Linux设计与开发.docx》由会员分享,可在线阅读,更多相关《韦东山谈Linux设计与开发.docx(6页珍藏版)》请在冰豆网上搜索。
韦东山谈Linux设计与开发
网址:
1、电子发烧友:
大家都比较想了解您个人学习的历程与感想,可否与大家分享一下?
韦东山:
我从2003年开始工作,那时候的技术真是差劲啊:
直到2005年,在硬件方面我只会设计两层板,在软件方面我用的一直是51单片机。
有一次老板的朋友来做技术指导,聊起ARM、wince、Linux、操作系统,让人真是大开眼界。
操作系统才是未来!
必须改变!
在硬件方面没人指导很难有长进,但是软件方面我可以自学啊。
于是我开始买各种ARM的书,买周立功的2104板和书,用它来学习过UCOS,感觉他们还在延续着单片机的思路。
这不行啊!
得上操作系统!
学WINCE?
还是学LINUX?
WINCE可是要钱的,咱学个免费的LINUX吧。
买个S3C2440开发板,就这样开始了LINUX的自学之路。
多谢友善之臂的老板杨斌,我买的是个二手的2440开发板,他还是认真的提供技术支持,那时我没少请教他问题。
他应该发达!
2005年那会,嵌入式LINUX方面的书是没有的,所以我的学习过程完全依赖网络、论坛,现在回首那个时候的提问,可以发现很多幼稚问题(特意去试了下,我才发现那个网站已经关闭了,世事难料啊)。
工作后再难有在校时的心态与大段时间……,直到公司倒闭……,我于是回老家闭门学习半年。
在外租房,有家不回;没日没夜,不是在电脑前就是在床上,要不就是去吃饭的路上;自学、翻书、发贴、编程试验、问题解决不了时苦闷得想砸电脑;现在回想起来感觉也挺励志的。
就这样,用了半年终于入了门,bootloader完全掌握,基本的Linux驱动会写了,钱也用完了,要出来工作了(想想也挺郁闷,大学4年工作2年,竟然技术不过关要回炉重造)。
我没有Linux工作经验啊,怎么办?
那就自己写个操作系统混经验值吧,仿照UCOS、LINUX,写一个简单的操作系统:
基于MMU的操作系统(MOS)。
就用它作为敲门砖,写到简历上去显得有点料。
去面试了三家公司,华为惠通、UT斯达康、中兴,全中!
因为钱没了,而中兴的通知来得最早,就去它吧。
说实话,那时我的Linux水平只是刚入门,好在2006年那会中兴也刚从vxwork转为Linux,大家都不懂都在学习,我倒也不显得丢人。
在中兴里,又是没日没夜地工作、学习了2年。
期间碰到过无数的疑难问题,煅炼了能力。
说真的,只有在解决问题的同时,你才会东想西想,把有关、无关的技术都想清楚并掌握得扎实。
2007年从中兴辞职开始写书。
不要笑我只有2年Linux工作经验就敢写书,自学半年工作两年,是这辈子最用功的时刻,远比高考时努力。
这2年半所学到的东西远超大学4年。
工作和写书对技术的要求完全不同,工作上你能写出程序解决问题就可以,而写书则要求你对知识理解透彻。
书写了1年,也可以认为继续学习了1年。
2008年那会还没有手把手教、从零搭系统开始学习嵌入式Linux的书,这本书《嵌入式Linux应用开发完全手册》又火了一把。
书出了,我也稍有点名气,于是从2009年开始在几个培训机构讲课,去过华清远见、尚观,都是兼职,因为我当时还想着自己创业呢。
业没创好钱又没了,只能去兼职。
这样又持续了2年,这又是一个煅炼:
怎么讲,别人才容易学会。
这就是我的学习工作经历,生活推着我在Linux上历炼了9年。
如果你还是学生,劝你尽早找到自己的兴趣,全力钻研;如果你已经进入社会,最好能找到相关的工作,白天上班也是煅炼,晚上继续学习。
2、电子发烧友:
自从业以来,遇到最大的困难与挑战是什么?
能否给我们分享些您的经验以及心路历程?
韦东山:
转行!
转行是最困难的,这意味着你前面积累的经验几乎没用了,还需要学习全新的知识──这需要大量的时间。
我的第1份工作是做硬件的,后来由于工作需要也写一下单片机程序,但是软件水平是很低的。
决定转行学习Linux时,这需要有操作系统的概念知识、全新的ARM体系架构知识、完全没接触过的软件设计理念(写单片机时就是一个while循环,Linux里都是面向对象的思想)。
这千头万绪,要学习的知识很多,从哪里入手,从哪里抽出时间,这就是2个最大的困难。
∙对于时间,我是暂停工作闭门自学了半年;
∙对于从哪里学习,我是先学习了赵炯的《LINUX内核完全注释》,这让我对操作系统有比较深的认识;接着把ARM开发板当作单片机学习裸板,把bootloader涉及的硬件操作单独写程序试验;最后开始学习驱动程序的编写。
从裸板程序开始,直到Linux驱动,这就是我的主要学习方法,这也是《嵌入式Linux应用开发完全手册》的章节顺序。
5、电子发烧友:
传统的Linux驱动开发和Android驱动开发有何区别?
现在android那么火,它跟LINUX是什么关系?
学好了你们的视频,对学习android有何帮助?
你们后续有无录制android视频的计划?
韦东山:
简单地说,Android驱动=Linux驱动+封装。
Android应用程序是使用java编写的,Linux内核和驱动程序是使用C语言编写的,javaAPP要访问驱动程序,这中间需要插入一个封装接口。
核心还是底下的Linux驱动程序;对于封装,你只要了解了封装规则,基本就可以一通百通了。
所以,如果你的目标是掌握Android驱动,那么我们的视频很适合你。
我们后面也会讲讲Android驱动的封装,它不会太难。
对于Android应用程序,可以认为它跟Linux的关系不大。
即使你没有Linux知识,也可以在1个月内入门Android应用开发──我只是说,你会开发简单的界面。
程序的核心永远是在界面之后,所以不要沾沾自得。
比如手机游戏,背后的图像处理算法、游戏的逻辑,这才是重点。
如果你的目标是掌握Android应用,我反而觉得你应该跳出“Android”来学习。
应用程序的领域实在太多,有网络、图像处理、安全、搜索等等,由你的兴趣来选择方向吧。
Android应用只是一个人机界面,把背后的复杂系统展示给客户来使用,如果你只满足于“写界面”,好吧,1个月速成,再花几个月深入理解Android的框架。
容易上手的,就容易掉价。
前几年Android应用开发由于会的人还不多,工资挺高;这两年就开始往下掉了;要保住你的薪资水平,除了界面你还需要掌握“核心技能”:
界面背后的支撑。
我没有打击Android应用的意思,对于急于找到工作的人,我反而建议去学习Android应用。
你应聘到工作后,公司自然会压着你去了解产品的相关知识,否则你也写不出界面啊。
6、电子发烧友:
工程师一般时间都是比较紧张的,您是在什么情况下写的《嵌入式LINUX应用开发完全手册》这本书呢?
这本书是想给大家分享些什么呢?
韦东山:
辞职写的。
我2005年自学Linux时在网上发布了“S3C2410完全开发流程”的学习笔记,被出版社的编辑看到。
他们在2006年联系我写书,那时我在中兴上班。
在公司上班期间,根本没有时间写书:
工作累个半死,回来哪有精力写。
于是决定2007年辞职专门写书。
我学习时,大部分的知识都是从网上搜索得来,这需要耗费巨大的精力去寻找,并且不系统。
作为初学者,不知道去搜什么来入门,也不知道搜什么来深入。
所以,我想出一套“完全教程”,让零基础的入只看这本书,就可以入门并掌握比较深的、工作中可以使用的知识。
好吧,其实也是被编辑以名利相诱,然后催我写写写!
7、电子发烧友:
“电子从业人员的发展方向”大概分为两类:
软件工程师、硬件工程师,软件工程师一般又可以分为:
底层系统、上层应用。
您如何看待这三种方向的职业发展呢?
韦东山:
我刚工作时也曾是个硬件工程师,但是发现没人带的话很难有进步,于是转行做软件了。
对于他的职业发展,我也只能简单说说。
不少人问我,到底是学驱动还是学应用?
我只能说凭兴趣,并且驱动和应用并不是截然分开的
∙a.我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程的休眠唤醒调度等概念。
想写出一个好的应用,想比较好的解决应用碰到的问题,这些知识你应该懂
∙b.做应用门槛低,特别是现在的ANDROID,纯JAVA。
做应用的发展路径个人认为有两个方向:
一是业务纯熟,二是成为某个专业领域的专家。
比如在通信行业、IPTV行业、手机行业,你了解行业的业务需求。
所以,当领导的人,多是做业务应用的。
另一个方面就是在网络传输、图像处理、人工智能等等领域的钻研,这更多的时候像是在研究学术问题,而不仅仅是写程序。
∙c.做驱动,其实我不想称为“做驱动”,而是想称为“做底层系统”,做好了这是通杀各行业。
我工作几年,做过手机、IPTV、会议电视,但是这些产品对我毫无差别,因为我只做底层。
他们的业务跟我没关系。
当应用出现问题,他们解决不了时,我就会从内核角度给他们出主意,给他们提供工具。
在实际工作中,写驱动的活反而不多,更多的是从系统的角度解决难题。
底层涉及的绝不仅仅是驱动,更多在于"系统":
它上接应用,下接硬件。
很多疑难问题只能由底层的人解决。
做底层的发展方向,个人认为是着眼于整个系统的技术专家。
∙d.其实,做底层还是做应用,之间并没有一个界线,有底层经验,再去做应用,你会感觉很踏实。
有了业务经验或是掌握某项核心技术,你再了解一下底层,很快就可以组成一个团队。
∙e.我建议你上下兼通,做应用让你视野更广阔,做底层让你技术扎实。
∙f.就职位而言,永远是应用的职位多于底层的职位。
所以,如果你找不到底层的工作,完全可以先做应用。
在工作中把底层的本领也学会。
在公司中,那些被称为"系统工程师"的人绝对是上下兼通的
8、电子发烧友:
工程师经常在谈如何找一个好的平台,您是如何看待这个问题的?
韦东山:
找平台,这是个技术活,或是个运气活。
我有同学一直在腾迅做游戏,估计身家丰厚;也有朋友在公司分股票之前离职。
就我个人经验来说,我先是在小公司上班,后来到大公司,各有利蔽:
∙对于技术能力:
在小公司里你会成为多面手,软件硬件生产调试你都会插上一脚,如果能潜心学习,对往后发展有好处。
我在小公司里设计过硬件,到中兴做驱动时,可以跟硬件工程师一起研究原理图。
现在创业了,还可以自己设计产品。
在大公司里,每人专门负责一小块,你可以学得深入,并且有各种设计规范。
∙对于人际关系:
在大公司里,你会认识更多的人,认识各个部门的人,这对今后发展也有帮助。
我辞职后接到的猎头电话,都是中兴的同事推荐的。
现在缺乏哪方面的技能,也可以向原来的同事请教。
∙对于收入:
呵呵,看运气吧。
有人被微软拒绝后成为了亿万富翁,有人则终身在微软里写代码;有人创业失败,有人单凭公司年终奖就资产丰厚。
根据你的需求,能承担风险的能力,来选择平台──这似乎是废话,确实是。
社区之星招募:
不限专业领域、不限技术方向,只要你是一个有活力并乐于分享的开发者,只要你愿意把自己的经验收获分享给大家,帮助众多从业者共同学习、共同进步,我们就欢迎你来做客社区之星。
联系方式:
陈晨chenchen@,论坛用户名:
zhou2sheng。
快来联系小编吧!
往期回顾:
第十七期:
社区之星——学霸教你如何考进嵌入式国家实验室
第十六期:
社区之星——资深工程师指点:
如何走好电路设计之路
第十五期:
社区之星——勇于试错,BeBrave
第十四期:
社区之星——资深工程师现身:
谈谈嵌入式开发的那些年
第十三期:
社区之星——酸甜苦辣兼有之,资深工程师谈创业之路
第十二期:
社区之星——FPGA资深FAE的经验独白
第十一期:
社区之星——特权同学从自学FPGA到权威翻译的这五年
第十期:
社区之星——怎样完成从电子工程师菜鸟到研发主管的蜕变
第九期:
社区之星——追求卓越,成功就会在不经意间追上你:
宋雪松
第八期:
社区之星——持之以恒:
刘卓
第七期:
社区之星——天道酬勤:
阿东
第六期:
社区之星——“剩”者为王:
朱兆祺
第五期:
社区之星——电源技术牛人版主:
刘佳文
第四期:
社区之星——嵌入式社区达人:
王巧玉
第三期:
社区之星——ARM技术智多星达人:
程志
第二期:
社区之星——资深单片机技术牛人:
谁才是真正的工程师?
第一期:
社区之星——DSP牛人miachael_xing
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东山 Linux 设计 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)