专访Linux嵌入式开发韦东山操作系统图书作者--转
CSDN学院讲师韦东山:悦己之作,方能悦人
【编者按】韦东山,深圳百问网科技有限公司技术创始人,毕业于中国科学技术大学,电子、软件专业双学位,擅长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?
”“在满足现实需求的同时,尽量凭兴趣,这是我不变地回答。”东山老师如是说。
移步CSDN学院,查看更多课程。 欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:xiamz#csdn.net(#换成@)。
专访Linux嵌入式开发韦东山操作系统图书作者--转的更多相关文章
- 与一线Linux嵌入式开发project师的对话
转:与一线Linux嵌入式开发project师的对话 陈project师一直做Linux的嵌入式开发.作为在开发一线的project师.他对非常多问题的看法可能更切合实际需求,于是,通过邮件.就嵌入式 ...
- 作为一个新人,怎样学习嵌入式Linux,(韦东山)
很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学到什 ...
- Linux 嵌入式 开发环境 交叉编译安装
1.安装 Ubuntu 系统 安装完毕,系统 提示 重启,这个时候 请拔掉U盘,进行重启 OK. 2.安装 NFS 服务 3.安装 openssh服务 4.开启openSSH服务 5.就可以使用 Wi ...
- Linux嵌入式开发中常用的两个工具
TFTP 全称:Trivial File Transfer Protocol(简单文件传输协议) 进行小文件传输 在ubuntu下设置TFTP服务器 $ sudo apt-get install tf ...
- 嵌入式设备上的 Linux 系统开发
转载:http://www.ibm.com/developerworks/cn/linux/embed/embdev/index.html 如果您刚接触嵌入式开发,那么大量可用的引导装载程序(bo ...
- Linux嵌入式系统与硬件平台的关系
一. Linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口.它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合 ...
- 嵌入式开发为什么选择C语言作为开发语言?
了解嵌入式开发的朋友们都非常的清楚其核心的开发语言为C语言,C语言在嵌入式开发的过程中占有十分重要的地位,可以说两者之间“你中有我,我中有你”.但是有很多人会想,有那么多的开发语言为什么会单单的选择C ...
- 韦东山嵌入式Linux学习笔记02--如何给开发板烧录程序
购买韦东山嵌入式开发板jz2440 v3会标配两根usb线和一根网线,OpenJtag需要单独购买, 我暂时还没买到该工具. 下面介绍usb烧录以及通过网线烧录程序. 1.usb烧录程序: 借助DNW ...
- (转)作为一个新人,怎样学习嵌入式Linux?(韦东山)
被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也 ...
随机推荐
- 微软发布Windows 10:连Windows 7都能免费升级了
今日凌晨,微软宣布Windows 10发布. Windows10 整体重置了 Window8 的设计,恢复了原有的开始菜单设置,系统新增了虚拟桌面功能,搜索框加分类项的形式替代原有的两栏式控制面板界面 ...
- APP API如何维护多个版本的一些想法?
1.第一种形式:api版本号放在url路径中 https://api.example.com/v1/user/ID https://api.example.com/v2/user/ID https:/ ...
- OS——进程简答题(1)
1,叙述进程和程序的主要区别. 解:进程和程序是两个既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念.而进程是程序在处理机上的 ...
- 安装samba服务器
首先理解以下概念: ftp:在内网和公网使用. 服务器端支持:windows,linux 客户端端支持:windows,linux samba:只能在内网使用,类似于windows的网络邻居(文件共享 ...
- Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2
Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2 1. 数据采集1 1.1. http lib1 1.2. HTML Parsers,1 1.3. 第8章 web爬取199 1 2 ...
- paip..禁用mmseg 的默认词库. . 仅仅使用自定义词库from数据库.
paip..禁用mmseg 的默认词库. . 仅仅使用自定义词库from数据库. mmseg默认词库只能是文件格式...不好维护..要是不个词库放的个数据库里面走好维护兰.. 要实现2个目标..: 1 ...
- atitit.客户端连接oracle数据库的方式总结
客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 桌面GUI一般采取c语言驱动oci.dll 直接连接... 间接连接(需要配置tns及其envi var ...
- 测量行业(RTK)相关的小知识总结
RTK测量系统,一般需要先架设基准站(参考站),数据链模式外挂大电台(有天线大功率模式,理想范围方圆18公里以内).基准站通过收到卫星(多星)进行计算出当前的位置. 其中涉及到频率的设置,波特率,以及 ...
- (转)数据库获得当前时间getdate()
CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型 (datetime,smalldatetime)与字符串类型(nchar, ...
- 在 Xen 虚拟机下修改系统当前时间
在 Xen 虚拟机下修改系统当前时间 Xen 虚拟机默认不允许不同的虚拟机使用不同的系统时间,因此所有虚拟机的系统时间都会同宿主机的系统时间严格同步,用 date 命令修改虚拟机系统时间时虽然提示成功 ...