ZTE资深工程师大谈通透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应用开发完全手册》的章节顺序。
3、IP Camera带音频视频功能、可以联网互动,因此可能会被恶意入侵、隐私泄密,工程师如何做到保护?
韦东山:
IP Camera的使用涉及3个部件:用来录像录音的IP Camera、提供数据传输或存储的服务器、观看音视频的客户端(PC或手机等)。
我们会根据IP Camera的使用场景,为每一个阶段提供数据保护,比如:
a. 客户拿到IP Camera时,要登录服务器注册帐号,并绑定设备。在服务器上的WEB服务就要注意隐私保护,必要时引入手机验证。
b. 客户端向服务器提出请求时,要输入用户名和密码,这可以参考Linux的远程登录密码验证功能。比如使用ssh协议登录Linux服务器时,会提示你输入用户名和密码。相信这一套机制非常可靠,我们可以直接引用。
c. 三者之间传输数据时,数据要先加密再传输。可以使用公用密钥等加密方式。
d. 在服务器上存储的数据,如果你对安全保护不在行,可以使用大公司提供的云服务。
我只是给出一个思路,经验不丰富。欢迎探讨。
4、IP Camera运动控制部分可以实现拍摄角度的调节,能否通过自动控制摄像头的角度实现人脸、头部信息的锁定、实时运动捕捉,大概怎么实现的,能否介绍一下?
韦东山:
术业有专攻,图像处理不是我们的专长。但是要做这一块,我们会这样做:先使用开源软件比如OpenCV,如果它达不到要求,再求助于专业人士。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:9
清凉一夏 2014-12-02
顶起了啊,哈哈
0   回复
举报
发布
灵澈 2014-10-23
大家都了解了吗??
0   回复
举报
发布
金钱豹 2014-10-22
顶起了,很不错
0   回复
举报
发布
IT民工 2014-10-21
挺好的,支持一下吧
0   回复
举报
发布
闭上眼睛就是天黑 2014-10-17
我也是很看好的说
0   回复
举报
发布
闭上眼睛就是天黑 2014-10-17
谢谢支持啊
0   回复
举报
发布
小麦克 2014-10-17

还是很看好韦东山老师的。视频我也买了,第一季第二季看完了。第三季没买。

不过工作中写linux驱动的比较少,又忘得差不多了。。。

0   回复
举报
发布
刘佳文 2014-10-17
写的不错      支持一下 
0   回复
举报
发布
闭上眼睛就是天黑 2014-10-17
大家看看,也许有帮助呢
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子