想做嵌入式开发,为什么要学习linux?

作者&投稿:何炊 (若有异议请与网页底部的电邮联系)
为什么学习嵌入式要学linux?~

从现在开始我要有计划,有体系的学习嵌入式系统!我也是刚开始学!
在网上看到很多有关作ARM的操作系统(OS)移植的文章,多数是基于linux操作系统的,这就给我一个印象:是不是搞嵌入式一定要懂linux?带着这个问题,查阅了一点资料!对此有了一点认识:
  事实上,ARM是通常都是用来做比较复杂的系统的,而且一般都是多任务系统的,当任务比较多,程序比较大的时候,只用汇编和C可怕难以胜任,所以我们应该给ARM配一个操作系统,用来管理这些任务,那么对于ARM,我们可以作使用哪些操作系统呢?Windows XP行吗?当然不行,太大了,不适合做嵌入式,微软倒是推出了专门针对嵌入式系统开发的WinCE,可是这可不是免费的,而且不提供源码的,给你就像一个黑夹子,对于一般的嵌入式学习,就不太合适了?那么什么样的操作系统才能用于做嵌入式呢?嵌入式操作系统通常有Vx works 、WinCE 、uC/OS、Linux / ucLinux等。而uC/OS、Linux因为其免费,而且开源,深受学习者和小公司的欢迎。
  uC/OS操作系统内核很小,特别适合初学,而且它是占先式内核,是一个实时的操作系统,特别适合实时性要求较高的场合,其内核很小当然其功能当然也就没有linux强大,而且uC/OS的图形用户界面(GUI)还是刚有雏形,没有linux的GUI好,而它的GUI是收费的。这样的话只是linux是最好了,但是linux本身不是实时的操作系统,不适合实时性高的场合,于是ucLinux产生了,ucLinux是一个实时操作系统(RTOS),因此学习ARM+ucLinux的人较多。
  所以,如果只搞uc/OS+ARM,那就可以不学linux了,如果想学习ARM+ucLinux,要在ARM上移植linux,那么移植后,这个装有linux的ARM处理器,当然只能运行linux环境下编译出来的应用程序(这里还有一个交叉编译的概念需要正确理解),所以理所当然要学linux。通常小红帽Red Hat Linux 使用比较广泛,那么不能在Windows下开发ARM+ucLinux吗?

我最开始用Linux是被逼的。当时用的是一台旧的笔记本电脑,做一些文字处理的工作。跑Windows动不动就死机,无奈之下安装了Ubuntu。当时只是想找一个Windows的替代品。用Ubuntu的图形化界面很多,不怎么用命令行,所以总觉得比不上Windows。当然,基本的功能还是全的。我用那台旧电脑兼职翻译,赚了2000块的“巨款”。
后来深入使用Linux,是因为做论文时要用服务器。服务器是Debian系统,只能用ssh连接。我只能可怜巴巴的对着命令行敲字了。也是在这种情况下,我才真正发现Linux的好处。
首先,Shell编程很方便,特别是配合Linux下的各个工具,比如cat, sed, awk, grep。我经常会向服务器的任务管理器提交工作。工作太大,没有足够处理器时,就要排队等空隙。用shell编写一个小脚本,让它来替我安排工作的提交,就节省了我大量的时间。Shell编程甚至可以实现相当复杂的功能。Linux把每个小工具的功能都做强。想要实现复杂功能时,就利用文本流把它们连接在一起。这样,功能性和独立性就都兼顾了。(Linux文本流)
其次,Linux的稳定性很好。这也是大部分服务器使用Linux的一个重要原因。我没有用过Windows的服务器版本,不好评价。但在PC上,Linux要比Windows稳定的多。由于Linux与Windows的存储方式不同,所以Linux可以长时间的持续运转,也不需要对磁盘进行碎片整理。当然,Linux的图形化界面略弱。如果用图形化界面,会时有崩溃。(为什么Linux不需要磁盘碎片整理)

再次,Linux的源码和架构都是开放的,你可以从中学到很多操作系统原理。Linux的整个哲学体系继承自UNIX,发展的年头要比Windows长很多时间,整个设计体系已经相当稳定,并化繁为简。POSIX的标准也很普遍,Linux熟悉了之后,其它的UNIX系统也很容易上手。Windows的许多东西不透明,很复杂,又常变化,并不是一个很好的学习样例。(Linux架构)

最后,Linux下的各种工具基本上都是免费的。更方便的,使用package manager下载编译好的版本。这和Windows下到处买光碟、找可用下载连接、找注册码的繁琐过程完全不同。如果你想要使用任何的工具,一般只需要几分钟,就能借网络搞定。Linux的开源社区也很活跃,很容易找到人讨论,或者找个项目练手。

再从我个人的角度说说吧。首先,Linux是一个很强的附加技能。Windows对于用户来说很贴心,但也意味着使用门槛低,基本上大家都会。而Linux,即使是命令行的使用,也需要一定时间熟悉。在CV上写上熟悉Linux的命令行使用,熟悉Linux配置,要比写熟悉Windows使用,加分不少。

其次,服务器和云服务平台选用Linux的比较多。这意味着,在超越PC的战场上,Linux是一个必修技能。如果是从事IT开发的人,Linux基本上是绕不过去的一个槛。现在Linux在移动端发展的也不错。看Ubuntu最近的动作,是希望在移动端有所作为的。而安卓用的也是Linux内核。

最后,Linux设备投入小,而Linux知识更新换代较慢,学习的性价比很高。学完后还可以通吃Unix和Mac。

我最开始用Linux是被逼的。当时用的是一台旧的笔记本电脑,做一些文字处理的工作。跑Windows动不动就死机,无奈之下安装了Ubuntu。当时只是想找一个Windows的替代品。用Ubuntu的图形化界面很多,不怎么用命令行,所以总觉得比不上Windows。当然,基本的功能还是全的。我用那台旧电脑兼职翻译,赚了2000块的“巨款”。
后来深入使用Linux,是因为做论文时要用服务器。服务器是Debian系统,只能用ssh连接。我只能可怜巴巴的对着命令行敲字了。也是在这种情况下,我才真正发现Linux的好处。
首先,Shell编程很方便,特别是配合Linux下的各个工具,比如cat, sed, awk, grep。我经常会向服务器的任务管理器提交工作。工作太大,没有足够处理器时,就要排队等空隙。用shell编写一个小脚本,让它来替我安排工作的提交,就节省了我大量的时间。Shell编程甚至可以实现相当复杂的功能。Linux把每个小工具的功能都做强。想要实现复杂功能时,就利用文本流把它们连接在一起。这样,功能性和独立性就都兼顾了。(Linux文本流)
其次,Linux的稳定性很好。这也是大部分服务器使用Linux的一个重要原因。我没有用过Windows的服务器版本,不好评价。但在PC上,Linux要比Windows稳定的多。由于Linux与Windows的存储方式不同,所以Linux可以长时间的持续运转,也不需要对磁盘进行碎片整理。当然,Linux的图形化界面略弱。如果用图形化界面,会时有崩溃。(为什么Linux不需要磁盘碎片整理)

再次,Linux的源码和架构都是开放的,你可以从中学到很多操作系统原理。Linux的整个哲学体系继承自UNIX,发展的年头要比Windows长很多时间,整个设计体系已经相当稳定,并化繁为简。POSIX的标准也很普遍,Linux熟悉了之后,其它的UNIX系统也很容易上手。Windows的许多东西不透明,很复杂,又常变化,并不是一个很好的学习样例。(Linux架构)

最后,Linux下的各种工具基本上都是免费的。更方便的,使用package manager下载编译好的版本。这和Windows下到处买光碟、找可用下载连接、找注册码的繁琐过程完全不同。如果你想要使用任何的工具,一般只需要几分钟,就能借网络搞定。Linux的开源社区也很活跃,很容易找到人讨论,或者找个项目练手。

再从我个人的角度说说吧。首先,Linux是一个很强的附加技能。Windows对于用户来说很贴心,但也意味着使用门槛低,基本上大家都会。而Linux,即使是命令行的使用,也需要一定时间熟悉。在CV上写上熟悉Linux的命令行使用,熟悉Linux配置,要比写熟悉Windows使用,加分不少。

其次,服务器和云服务平台选用Linux的比较多。这意味着,在超越PC的战场上,Linux是一个必修技能。如果是从事IT开发的人,Linux基本上是绕不过去的一个槛。现在Linux在移动端发展的也不错。看Ubuntu最近的动作,是希望在移动端有所作为的。而安卓用的也是Linux内核。

最后,Linux设备投入小,而Linux知识更新换代较慢,学习的性价比很高。学完后还可以通吃Unix和Mac。

  我最开始用Linux是被逼的。当时用的是一台旧的笔记本电脑,做一些文字处理的工作。跑Windows动不动就死机,无奈之下安装了Ubuntu。当时只是想找一个Windows的替代品。用Ubuntu的图形化界面很多,不怎么用命令行,所以总觉得比不上Windows。当然,基本的功能还是全的。我用那台旧电脑兼职翻译,赚了2000块的“巨款”。
  后来深入使用Linux,是因为做论文时要用服务器。服务器是Debian系统,只能用ssh连接。我只能可怜巴巴的对着命令行敲字了。也是在这种情况下,我才真正发现Linux的好处。
  首先,Shell编程很方便,特别是配合Linux下的各个工具,比如cat, sed, awk, grep。我经常会向服务器的任务管理器提交工作。工作太大,没有足够处理器时,就要排队等空隙。用shell编写一个小脚本,让它来替我安排工作的提交,就节省了我大量的时间。Shell编程甚至可以实现相当复杂的功能。Linux把每个小工具的功能都做强。想要实现复杂功能时,就利用文本流把它们连接在一起。这样,功能性和独立性就都兼顾了。(Linux文本流)
  其次,Linux的稳定性很好。这也是大部分服务器使用Linux的一个重要原因。我没有用过Windows的服务器版本,不好评价。但在PC上,Linux要比Windows稳定的多。由于Linux与Windows的存储方式不同,所以Linux可以长时间的持续运转,也不需要对磁盘进行碎片整理。当然,Linux的图形化界面略弱。如果用图形化界面,会时有崩溃。(为什么Linux不需要磁盘碎片整理)

  再次,Linux的源码和架构都是开放的,你可以从中学到很多操作系统原理。Linux的整个哲学体系继承自UNIX,发展的年头要比Windows长很多时间,整个设计体系已经相当稳定,并化繁为简。POSIX的标准也很普遍,Linux熟悉了之后,其它的UNIX系统也很容易上手。Windows的许多东西不透明,很复杂,又常变化,并不是一个很好的学习样例。(Linux架构)

  最后,Linux下的各种工具基本上都是免费的。更方便的,使用package manager下载编译好的版本。这和Windows下到处买光碟、找可用下载连接、找注册码的繁琐过程完全不同。如果你想要使用任何的工具,一般只需要几分钟,就能借网络搞定。Linux的开源社区也很活跃,很容易找到人讨论,或者找个项目练手。

  再从我个人的角度说说吧。首先,Linux是一个很强的附加技能。Windows对于用户来说很贴心,但也意味着使用门槛低,基本上大家都会。而Linux,即使是命令行的使用,也需要一定时间熟悉。在CV上写上熟悉Linux的命令行使用,熟悉Linux配置,要比写熟悉Windows使用,加分不少。

  其次,服务器和云服务平台选用Linux的比较多。这意味着,在超越PC的战场上,Linux是一个必修技能。如果是从事IT开发的人,Linux基本上是绕不过去的一个槛。现在Linux在移动端发展的也不错。看Ubuntu最近的动作,是希望在移动端有所作为的。而安卓用的也是Linux内核。

  最后,Linux设备投入小,而Linux知识更新换代较慢,学习的性价比很高。学完后还可以通吃Unix和Mac。

目前为止,还是有很多人不知道为什么嵌入式要学linux,学linux有什么用,用windows的人那么多,为什么要学linux啊?那么就来好好讲解,学习linux有什么用!
至少在这个世界上,服务器领域是Linux的天下。所以如果你是要进入IT行业工作的话,就必须学习Linux——因为它的稳定性、安全性、内核小以及在低配置电脑可以很流畅的运行。另外使用linux学习c语言能学的更透彻,vs可能会蒙蔽你的双眼。嵌入式分硬件\系统\软件,不往底层去学习很难融会贯通,可以不接触硬件,但系统和应用部门好了解。有许多linux开源软件,学习它,这种工程在代码质量和数量上都会回答你为什么要学习。
学习linux后,如果还想学编程语言的话,有如下选择:可以学C,因为Linux内核就是C编出来的,学好了C能更好的理解Linux;或者python,一种很强大的面向对象编程语言,学好了,进行Linux服务器管理相当的方便;还有就是php,现在很多公司招Linux方向的人员时,都会问你会不会php编程,如果你精通linux,还有php编程,那就很厉害了,至少找工作绝对没问题。编程语言都是相同的,VB是一种很好的编程语言,同时它也给微软造成了很大的安全隐患,但是这几年好像用的少了,java虽然好学,但是人才太多了,顶尖的不多。C++挺不好学的,但是它的用途很广,搞图形开发常用它。至于重新学习,完全不用,如果你VB非常熟练,再学其他的编程语言,会很轻松,刚开始可能有点费劲,一旦你深入进去了,就什么都不怕了。


为什么要学习嵌入式技术
一:嵌入式软件开发可谓是软件项目开发的掌舵者,一名优秀的嵌入式软件开发应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。二:嵌入式软件开发虽然要求技术全面,但无须偏执于门门技术都精通,任何嵌入式软件开发都有自己的技术特长和偏向,对于自己手中的技术,嵌入式软件开发可有精通-掌握-熟悉...

学嵌入式开发对网络工程师的发展前途好处大吗?
其次,嵌入式开发技能可以为网络工程师提供更多的就业机会。随着物联网的快速发展,大量的智能设备和系统需要网络工程师来管理和维护。掌握嵌入式开发技能可以使网络工程师在就业市场上具备更多的竞争力,有机会从事更加专业化和高端的工作。此外,嵌入式开发技能也可以为网络工程师提供创业的机会。随着物联网...

从事嵌入式软件开发的好处是
搞嵌入式开发的人有两类:一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、BoardSupportPackage(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他...

嵌入式系统开发到底是做什么的
嵌入式系统开发是指为嵌入式系统设计和开发软件与硬件的过程。嵌入式系统是一种专用计算机系统,通常被嵌入到设备内部,以控制、监视或驱动该设备的核心功能。嵌入式系统开发的主要目标是实现设备的智能化、高效化和便捷化。以下是关于嵌入式系统开发的 一、嵌入式系统开发的概念 嵌入式系统是由硬件和软件共...

嵌入式开发前景如何
嵌入式技术是物联网中不可或缺的一部分。随着物联网的快速发展,越来越多的设备需要嵌入式系统来实现互联和数据传输。嵌入式开发在物联网中扮演着关键角色,帮助设备实现数据采集、数据处理和互联互通,推动着物联网的进一步发展。3.智能化和自动化的需求 随着社会的进步和人们对智能化和自动化的需求...

嵌入式开发工程师前景
嵌入式开发工程师 1、嵌入式软件工程师平时的工作就是负责嵌入式软件系统的规划、设计、编码、测试等工作。2、嵌入式分为操作系统和硬件两个方面,就业的方向更广、更深,就业机会比较多,尤其各大厂商都有自己的云服务器,且都自研芯片这就意味HC也就越来越多。且年龄危机比普通软件工程师相对没那么...

什么是嵌入式开发嵌入式开发是做什么的
嵌入式系统开发是对于除了电脑之外的所有电子设备上操作系统的开发,比如手机,掌上电脑,机电系统等,以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用...

为什么要用嵌入式软件
打个比方,嵌入式相当于自己配装一台计算机,系统什么的当然要自己配置。 问题九:嵌入式软件开发与软件开发有什么不同 我正好是做嵌入式的。嵌入式主要是处理软硬结合部分,主要是基于linux上C开发,要求懂一定的硬件知识,能够看懂原理图,知道常用的通信接口,I2C,SPI等等,出问题还需要调时序。基于某款芯片开发产品时,...

为什么要开发计算机嵌入式硬件 它的用途是?
嵌入式微处理器通常采用指令和数据分开存储的准Harvard存储器结构,以及指令集设计(SISC)指令组织结构。 内部总线用于插件之间的信息传递。由于VME内部总线能灵活地将不嵌入式开发 前景同厂商的异种板级产品集成于同一系统中,因此一直处于军用系统内部总线的领先地位。PC\/104和CompactPCI内部总线是后起之秀,美军的全球定位...

从事嵌入式软件开发有哪些优势和缺点
3、利于创业。从事嵌入式软件开发的缺点如下:1、入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。2、这方面的企业数量要远少于企业计算类企业。3、有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并...

锦屏县13963286239: 学嵌入式为什么要学linux 主要用途是什么 -
廉富益左: 现在的嵌入式产品,都要上系统的(裸奔的也有,多见于单片机),而linux则是业内最重要的系统之一,其他流行的还有android、wince、ucos、vxworks等,也可以选择别的操作系统学习. linux的优势在于 1.免费,这个不用解释了吧. 2.开源,大量的公司、高手共同开发这个os,造成的后果是难以想象的. 3.学习资料及其丰富,不论对新手还是开发人员,都是个福音,这是第2点的后果之一. 4.很多公司采用linux,这也是最重要的,学这玩意还不就是为了赚钱.

锦屏县13963286239: 想做嵌入式开发,为什么要学习linux? -
廉富益左: 做嵌入式开发,掌握一门编程语言是必须的. Linux是免费的不用花一分钱,能够节约大笔的成本; Linux是开源的,你可以根据自已的需要修改源代码; Linux是开放的,有广泛的社区,关于Linux的讨论要远远高于windows操作系统; 学习Linux可以更好的掌握计算机技术; Linux是未来发展的趋势,服务器,手机,掌上电脑,平板机很多都采用Linux操作系统; Linux有非常多的发行版本,你可以根据需要做出不同的选择; Linux让你多了一个选择,而且Linux下的病毒相比Window可以忽略不计.

锦屏县13963286239: 为什么学习嵌入式要学linux? -
廉富益左: 从现在开始我要有计划,有体系的学习嵌入式系统!我也是刚开始学! 在网上看到很多有关作ARM的操作系统(OS)移植的文章,多数是基于linux操作系统的,这就给我一个印象:是不是搞嵌入式一定要懂linux?带着这个问题,查阅了一点资...

锦屏县13963286239: 为什么要用linux开发嵌入式 -
廉富益左: 你只要会,自己写一个新的操作系统都可以.当然,这个不是几天能完的事情,一个通用的系统包括函数软件库,嵌入式的系统再简单也要 1 年,而且软件还要继续写.功能多点,没几百人外加几年写不出来. 这个时候 linux 的优势就有了,给你开放源代码的,而且不需要软件授权就可使用.拿来找几个人用几天修改一下代码就能用了.软件很多也都是通用的.可以把精力集中放在应用层面上.

锦屏县13963286239: linux嵌入式开发是不是必须用linux才能开发? -
廉富益左: 嵌入式linux开发,肯定是要在linux系统下操作.同楼上所说,你也可以在虚拟机环境下开发. 楼主这是没学呢打算学嵌入式开发,还是已经有些基础了呢?那么针对嵌入式开发要学哪些我简单的说一下,仅代表当前主流观点.嵌入式开发作为...

锦屏县13963286239: 在Linux下做开发 要学习Linux哪些东西 -
廉富益左: 嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远.那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入式学习步骤.下面是他本人亲笔.1、要学习Linux,首先要会用,如果不会用怎么知道怎么知道怎...

锦屏县13963286239: 想做一个嵌入式开发工程师需要学什么 -
廉富益左: 1.ASM/C/C++语言,可以说这是计算机行业的一门必修课,所以要扎扎实实掌握好.2.操作系统,要学习一下操作系统的基本原理,熟悉Linux环境下的开发环境,然后你就照着相关的资料写一个操作系统试试看.3.计算机组成原理,要能够熟悉计算机的基本原理,看看你一个计算机的基本组成以及软件实质是如何来跑的.4.可以选择一些书籍来作为参考,华清远见有很多专业的书籍,初学嵌入式的朋友可以作为参考.5.arm,可以说是当下很流行的微机,自己可以想办法移植一个操作系统上去.6.硬件编程语言,芯片到底是怎么做成的呢,学习完这门课程,你就很清楚了.7.模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试.

锦屏县13963286239: 嵌入式开发要学哪些? -
廉富益左: 嵌入式主要内容包括linux系统,C语言开发,数据库等,JAVA部分的安卓开发等,学成后可以开发应用软件的,内核开发,驱动开发等工作,做项目.目前国内零基础的入门性课程较多,如果自己是软件开发相关专业或有较好的基础的,应该考虑星创客这样的专为培养中高级工程师的课

锦屏县13963286239: 最近想学嵌入式,但是必须要会在LINUX环境下编程,所以想学习LINUX,但是不知道怎么安装,求尽可能详细的! -
廉富益左: 学习嵌入式,一个是有嵌入式开发板(目标机),一个是有Linux系统的宿主机(PC).在宿主机上安装了嵌入式交叉编译环境,就可以开始嵌入式程序开发了.嵌入式开发板可以在网上买,一般是ARM系列,S3C2410,S3C2440,AT91SAM9260什么的最常见了.一般嵌入式开发板都会有配套的开发手册,跟着一步一步做,很快就会入门的.建议在VMware虚拟机下安装Linux.Linux操作系统有很多种,本人常用ubuntu和Fedora.

锦屏县13963286239: 作linux嵌入式开发,要学些什么东西?? -
廉富益左: 第一步:linux平台上的开发,包括vi,gcc,gdb,make, linux基本操作 第二步:加厚c语言功底《c专家编程》《c缺陷和陷阱》 第三步:学习unix环境高级编程《unix环境高级编程》 第四步:arm体系结构 第五步:arm应用程序开发 以后:驱动开发

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网