嵌入式系统与linux(嵌入式必须会linux吗)
linux的应用领域主要有哪些
1、IT服务器领域
Linux系统在IT服务器领域占据了重要地位,与Unix和Windows并驾齐驱。作为后来者,Linux服务器在过去几年中持续扩大市场份额,增长迅速,对Windows和Unix服务器构成了严峻挑战。Linux在企业级服务器应用广泛,能够支持www服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器和路由器等,帮助企业降低运营成本,同时提供高稳定性和高可靠性。Linux已广泛应用于电信、金融、政府、教育、银行、石油等行业,并得到主要硬件厂商的支持,显示了其在服务器市场乐观的未来前景。大型和超大型互联网企业普遍使用Linux作为服务器端程序运行平台,全球及国内顶尖网站大多采用Linux系统,Linux正在逐步成为企业内部主流操作系统。
2、嵌入式系统领域
Linux系统的开源特性、强大的功能、可靠性、稳定性、灵活性以及广泛的支持多种微处理器体系结构、硬件设备、图形支持和通信协议,使其在嵌入式应用领域具有广阔市场。Linux已经成为了主流嵌入式开发平台,例如,在智能手机领域,基于Android的Linux已经牢固地占据了智能手机开发平台的重要位置。
3、个人桌面领域
个人桌面系统指的是我们在办公室或家庭使用的个人计算机系统,如Windows XP、Windows 7、MAC等。Linux系统在个人桌面领域的支持已经相当成熟,能够满足日常办公和家庭需求,包括上网浏览、办公软件处理数据、收发电子邮件、实时通信、文字编辑和多媒体应用等。尽管Linux个人桌面系统的普及程度在不断提高,但在当前市场份额上仍无法与Windows系统相提并论。这一差距并非源于Linux桌面系统本身的问题,而是受用户的使用习惯、操作理念、应用技能以及软件移植问题的影响。
嵌入式和linux的关系
嵌入式要学哪些东西?今天我详细告诉你到底要学哪些技术!
1)学习 Linux系统安装、常用命令、应用程序安装。
2)学习 Linux下的 C编程、这本书必学《UNIX环境高级编程》、《UNIX网络编程》,Rechard Stevens写的,C高手大都学习过《C和指针》、《C缺陷与陷阱》、《高质量C/C++编程指南》、《C专家编程》、《The C programming Language》
3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!
4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!
5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM入手,不太现实!
6)ARM体系结构,其中有汇编。
7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与入门吧。
8)ARM+ Linux应用程序开发(前提是要有开发板)
到此,你勉强算是在嵌入式Linux这个行业有了初步入门了吧,但遗憾的是这还远远不够,我们还得继续,因为这上嵌入式,我们得变成高手。
9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。
10)Linux下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。
11)TCP/IP协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。
12)有了这些东西,拿下 Linux驱动已经不再话下,需要你去学习 Linux内核源代码和Linux驱动程序设计,这是一个技术升华。
到此,你已经算是嵌入式Linux的中级人物了,继续往下:
13)音频、视频的解码译码技术你得学。
14)各种 IC,各种 bootloader你能够参与其开发设计。
可以去21ic电子技术论坛上交流一下,那里面有很多大牛。。。
linux与嵌入式系统的关系
linux和嵌入式系统是相互于相互交叉使用的。
嵌入式系统的定义就是软硬件可裁剪,在实际项目中,对产品的功耗、存储等要求严格,所以就会涉及将完整的Linux系统进行精简瘦身,节约存储提高效率,这就是所谓的系统移植、裁剪。此工作需要对Linux内核极其熟悉。
Linux驱动开发:嵌入式产品上面的各种外设的驱动开发,不仅要懂软件、还需要熟悉Linux内核代码、了解硬件相关知识。
嵌入式应用开发:调用Linux的系统调用接口,进行基于Linux系统的应用开发,只需要有LinuxC语言知识的积累即可完成。