计算机专业的学Linux下的嵌入式,请问应该怎么选择发展方向呢?
随着iPhone的上市,一颗重磅炸弹砸向了嵌入式领域。嵌入式MacOS的稳定和一贯独具匠心的风格配合高性能的芯片再次激起嵌入式操作系统的波澜。于此同时同属UNIX阵营的嵌入式Linux依旧保持快速成长的势头,继续坚守目前嵌入式市场的领军地位。随着ARM芯片的应用发展,未来会有大量基于ARM+Linux内核的嵌入式设备涌现。
近年来,IT业的核心技术已经集中在集成电路芯片和操作系统这两个部分,而嵌入式操作系统则是驱动硬件系统的灵魂。因此,通过嵌入式软件增加产品的附加值无疑是最好的选择。世界各国和各知名厂商都在为嵌入式软件的发展而努力。操作系统领域,老牌Linux厂商如RedHat,Novell等都把目光转向嵌入式领域。诺基亚,摩托罗拉等手持移动设备厂商也大步迈进嵌入式领域,纷纷推出新型嵌入式Linux手机。微软正在从基于PC的软件市场,悄然延伸至基于各种移动消费电子产品、专有设备终端的嵌入式软件产品市场。据有关数据表明,2006年与嵌入式软件对应的设备市场全球出货量达到14亿台,2009年将达到22亿台。与之相对应的是,2006年中国嵌入式软件的市场价值是220亿元,到2010年将达到550亿元。
移动嵌入式产品将是未来消费电子类产品增长最快的领域之一。嵌入式Linux未来的前景看好,但是人才的缺乏已经成为当前制约嵌入式Linux发展的瓶颈。一方面,因为嵌入式人才领域门槛较高,从事嵌入式软件开发的工作人员不仅要熟练掌握c/c++,汇编语言等基础,而且对Linux底层驱动内核,甚至是硬件都要了熟于心。另一方面,因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在如雨后春笋般的涌现(如ARM处理器、嵌入式Linux操作系统、MPEG技术、无线通信协议、移动USB2.0高速传输等),目前国内乃至国际上能购掌握这些新技术的人才相当匮乏。未来几年,市场对嵌入式Linux人才的需求旺盛。而目前熟练的Linux应用人才只有几千名。这意味着各大跨国公司及国内消费类电子巨头企业都面临着人才严重短缺的挑战。由于嵌入式Linux开发人才的缺乏也带来了这个行业可观的薪酬待遇,嵌入式Linux的从业者薪酬比其他IT业同行大约高出50%,初入门的开发人员平均月薪一般都能达到5000元,有三年以上经验的人员年薪都在10万元以上,有10年工作经验的高级嵌入式软件工程师年薪在30万元左右。尽管待遇可观,可是相关企业还是很难招到合适的员工。
对于嵌入式Linux人才缺乏的现状,可以通过两种途径来解决。一是从业者就读于高校内设置专门的嵌入式系统的专业,二是对软件专业的毕业生进行嵌入式Linux方面的职前培训。高校的软件教育普遍以应用软件为主,开设嵌入式软件专业的学校很少,而且学校不能向学生提供足够的实践机会。现在从事嵌入式开发的人员,以自动控制、通信专业和计算机硬件的偏多,基本是通过工作实践逐渐转型而来。但是也有很多计算机软件专业甚至其他专业转行的。究其根本,关键是人才本身的潜质,无论就读何专业,只要是对嵌入式Linux领域感兴趣,下决心去学习,潜质优秀的人才仍旧能够轻松的踏入这一IT高薪领域。
嵌入式linux开发工程师工作两到三年,年薪就有10万到40万,这个也有地域的限制的,一般在沿海地区,学的比较好的学生出去一个月3000—8000不等的,
学嵌入式系统挺好的
你可以先学linux系统,懂的系统的简单操作命令,顺便学下linux的一些系统高级编程。
之后就是学习arm 的裸机的,个人觉得这个大概懂了就可以,不用深入
再之后就是去学uboot的配置,然后是内核的编译。
再再之后就是安装交叉编译工具
最后就是学底层驱动程序了
书籍推荐:鸟哥的linux私房菜; unix环境高级编程,c和指针;linux设备驱动程序。最后就是韦东山的 嵌入式linux完全手册,很好的一本书。
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发
嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以自学的话你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
推荐到华清远见的网站上了解嵌入式的课程体系和学习方法,还有很多资料和视频教程可以下载。
可以做嵌入式程序设计或者硬件开发或者机器人设计
林惠民简介及详细资料
在同年8月美国费城举行的第六届国际并发理论会议上国际同行引用这一成果时指出:"时至今日,π-演算的迟弱互模拟的公理化只在[Lin95]中借助于符号互模拟的...长期从事电脑程式,特别是并发程式的形式语义学及形式化方法的研究。 林惠民 学习经历 1982年2月在福州大学计算机系计算机软体专业获得学士学位; 1986年6月在...
Doctor Lin这样的词,是这两个单词一起算作专有名词,还是有什么别的规则...
首先要明白什么是专有名词。专有名词是表示特定的人、地方、事物、机构团体、组织等等特有的名称的名词,它的第一个字母要大写。单独的doctor是普通名词,意思是医生,博士,不是专有名词,所以和Lin组合才是专有名词,表示一个特定的人。
跪求林志玲的资料
英文名:Chiling Lin 星座:射手座 生日:1974年(民国六十三年)11月29日 血型:B型 身高:174cm 体重:53kg 三围:34C 24 36 学历:加拿大多伦多大学双学位 (经济学 西洋美学历史学) 喜欢的穿着:浪漫的,能表现出女人味的衣服 最欣赏的人:奥黛丽.赫本 最爱:旅行 生活信念:快乐生活,丰富生命 最满意自己的地方:父母...
计算器插画-思维导图怎么画?求解答
1935年,后人在整理天文学家开普勒(对就是那个成为望远镜的开普勒)留下的研究资料时发现了几张三百年前的图纸,当时人们不知道上面画的是什么玩意儿,直到22年后的1957年,一位开普勒的传记作者才认出来,那是史上真正的第一台机械式计算机,它比帕斯卡机的诞生早了约20年。 我想帕斯卡是不会在意失去这第一的位置的。
放羊的星星
Jimmy Lin 昵称:Jimmy、小志、小旋风、旋风小子、顽皮豹(小时候的外号) 生于:1974年10月15日晚上,...学历:南韩中央大学戏剧电影学系(学中) 最欣赏的异性典型:吴彦祖 个性:直率、开朗、情绪起伏大 兴趣:
那位大哥大姐能给我一个W7旗舰版的升级密钥啊!发到qinqilinkylin@...
根据提示操作.(xyz5819 意念时空)百度搜>Windows系列和Office 2010 MAK密钥,第三个就是.(xyz5819 意念时空)或者,百度搜>Windows7 xp office 系列激活密钥全搜集 第一个就是.(xyz5819 意念时空)仍然无效的,不妨去TAOBAO花几元买一个密钥算了,网上流传的密钥没几个真正能用的. (xyz5819 意念时空)
严格来讲林俊杰应该算是中国人吧?
林俊杰(JJ Lin),1981年3月27日出生于新加坡,祖籍中国福建省厦门市同安区,华语流行乐男歌手、作曲人、音乐制作人、潮牌主理人。2007年成立个人音乐制作公司JFJ Productions。2008年创立潮流品牌SMG。2016年获得国际汽车联盟(FIA)职业赛车执照。2017年成立“SMG”电竞战队 。
请高手帮忙算命~
林 林 lin 8 木 吉 云 云 yun 12 水 吉 天格-> 9(水)人格-> 20(水)地格-> 13(火)外格-> 2(木)总格-> 20(木)天格9的解析 (大成之数)大成之数,蕴涵凶险,或成或败,难以把握。含义:浮沉不定之象。利去功空,陷落穷迫、逆运、短命、怪澹、悲痛,或者幼小离亲而困苦,或者...
电视剧疯狂的背后
主演:梁天 Tin Leung,刘琳 Lin liu,王震,马小宁,阴爱国 当朝皇帝昏庸无道,引起其胞弟的不满,皇帝因此将其列为钦犯捕杀。王者落难至唐家庄,请唐员外念及昔日之交留地避难。唐员外道貌岸然老谋深算,依仗长子在朝廷身居高位,平日鱼肉乡里;唐员外的次子刺猪乃一纨绔子弟,到处横行霸道。见王者前来暂避,父子二人...
林书豪的简介
林书豪(Jeremy Shu-How Lin):美国华裔,1988年8月23日生于美国加州。美国职业篮球运动员,主打控球后卫,身高191cm,体重91kg。祖籍浙江省嘉兴市平湖,父母70年代从台湾移民到美国。毕业于哈佛大学,主修经济学,副修社会学。他曾经带领哈佛大学篮球队,取得常春藤联盟分组冠军,进入NCAA最后64强。虽然...
仍乖欧迪: 如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux+ARM方向,关于这个方向,我认为大概分3个阶段: 1、嵌入式linux上层应用,包括QT的GUI开发 2、嵌入式linux系统开发 3、嵌入式linux驱动开发 嵌入式目前主要面向的几个...
东台市15773855469: 你们好!我是一名计算机科学与技术专业的学生,怎样成为一名高级嵌入式Linux应用软件工程师? - ?
仍乖欧迪: 先学Linux,包括操作、Linux环境下的C语言编程、binutils工具集的使用、shell程序设计、文件与I/O操作、进程与信号. 再学习ARM. 然后你就知道怎么走了,呵呵呵,加油,嵌入式很有前途的
东台市15773855469: 嵌入式LINUX都要学习什么? - ?
仍乖欧迪: Linux系统的基本命令,文件系统布局,Linux下的C语言编程,在Linux下的嵌入式交叉编译,移植调试.当然还需要很多扩展知识,如数据结构、C++、数据库、ARM体系结构、汇编、嵌入式系统原理、操作系统原理、TCP/IP等等很多知识.如果涉及到驱动,那你还要有数字电路知识,能看懂电路图等.
东台市15773855469: 学嵌入式linux是必须计算机专业的吗?入门的话怎么学? - ?
仍乖欧迪: 不一定非要计算机专业的人才能学,只要肯钻,任何人都可以学.linux源代码开放,而且不是X86架构,所以不用担心学不会
东台市15773855469: 想学习Linux的嵌入式方向,应该怎么学呢,也就是从哪里开始呢 - ?
仍乖欧迪: 学嵌入式系统挺好的 你可以先学linux系统,懂的系统的简单操作命令,顺便学下linux的一些系统高级编程.之后就是学习arm 的裸机的,个人觉得这个大概懂了就可以,不用深入 再之后就是去学uboot的配置,然后是内核的编译.再再之后就是安装交叉编译工具 最后就是学底层驱动程序了 书籍推荐:鸟哥的linux私房菜; unix环境高级编程,c和指针;linux设备驱动程序.最后就是韦东山的 嵌入式linux完全手册,很好的一本书.
东台市15773855469: 计算机科学与技术专业 (嵌入式及Linux系统开发方向)这个专业是指什么的 - ?
仍乖欧迪: 嵌入式操作系统EOS(Embedded OperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域.EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够...
东台市15773855469: 学习LINUX系统做嵌入式开发以后就业的情况怎么样? - ?
仍乖欧迪: 在我看来,嵌入式开发是一项技术含量很高的职业.在深圳这边,作嵌入式开发都是非常抢手的.对于新人而言,C语言是最基础,有了他,你可以写硬件测试,也可以嵌入C++代码.那么有了C++,你的薪水就可以加两百.如果你懂Linux,薪水再加300.但是嵌入式开发的工作,牵涉到操作系统,硬件,网络等等问题.对硬件要求极其之高,依赖性也可能会很强.大项目的转接让人头痛.如果你懂嵌入式开发,前途非常光明.自己单干是在太难了.你不仅要求有厚实的基础,还要有项目管理水平,嵌入式总是在考验一个人总体架构的能力.尝试贯通操作系统,汇编,高级程序语言,在切入嵌入开发吧.
东台市15773855469: 我是学计算机 专业,想走linux+ARM嵌入式,需要懂电路设计吗?谢谢PCB板的设计,EDA原理什么的要懂吗? - ?
仍乖欧迪: 说实话linux+arm还有很长一段路要走,要想做硬件,画电路图印制pcb是必须的了,要不然谈何硬件工程师,加油吧,会了就比不会好,并且又不是什么坏事
东台市15773855469: 作为一个新人,怎样学习嵌入式Linux - ?
仍乖欧迪: 嵌入式linux学习路线: 一:C语言嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识.包括:基本数据类型、数组、指针、...
东台市15773855469: 作linux嵌入式开发,要学些什么东西?? - ?
仍乖欧迪: 第一步:linux平台上的开发,包括vi,gcc,gdb,make, linux基本操作 第二步:加厚c语言功底《c专家编程》《c缺陷和陷阱》 第三步:学习unix环境高级编程《unix环境高级编程》 第四步:arm体系结构 第五步:arm应用程序开发 以后:驱动开发