发布网友
共4个回答
热心网友
linux是一个可移植的操作系统,,ARM是32位的处理器,linux系统可以移植到以ARM为处理器内核的开发板上,为什么选择liunx? linux是开源的(不花钱),它代码也可以自己修改,增删其中的功能,不必要的功能都可以不要,这样,裁剪后的linux编译后只有几M, 而windows多大你知道的吧??一般的嵌入式设备都对内存资源都较高的要求(就是装不了太大的东西),所以linux是最好的选择,而且,linux功能强大,这点以后你将来才体会得到!再说ARM, 现在处理器体系中,一种是英特尔,另一种就是ARM系列;简单的说,英特尔功耗大,打比方:你手机上的如果使用英特尔处理器,只能用半天,如果用arm处理器,可以用一天,至于他们的架构等你以后自然会慢慢明白了。最后说你从那里入手: 一,C语言是最最重要的基础。二,linux常用命令,linux的设备驱动,嵌入式linux的移植,这方面的书籍要看些,最好看看APUE(百度去)。三,计算机原理你要懂,你学硬件的,有51的基础,这些可一慢慢来,千万急不得,最好买个开发板,自己调一调程序,学去来会快些! 最后给你建议:两年内不会什么成绩的,要学的东西太多太多太多!所以千万不要浮躁,一点一点的学!追问请问您也是做硬件方面的吧?主要是快毕业了,找工作的时候真不知道自己适合什么工作,实验室的主要研究方向就是嵌入式,但是Linux真的是没接触过,ARM据说下一个项目要用,但是小弟现在想找个实习,请问有什么好的建议么?(我不知道现在经常用的MCU和FPGA到底和嵌入式有多大关系,只会这两样是否可以去应聘相关工作)
追答如果目的是找嵌入式方面实习工作,那我的回答是:第一,要保证C语言基础扎实!因为做嵌入式的要跟很多很多硬件打交道,很多硬件是你没有接触过的,但只要有C语言基础,什么都不怕,学什么都快! 重点是C语言的什么呢?1,指针,2,数组 3,结构体,4,链表,5,常用的算法。第二,学linux很简单的, 下载一个linux系统, 我用的ubuntu的,先学学linux常用命令,写写简单的sh,再在linux下写写C代码,使用下gcc,g++,之后就可以看linux设备驱动了,同时要学网络协议TCP/IP,因为网络与通信技术是嵌入式的未来,也是重要的应用方向。 公司做一个实习生看重的是基础,你没用过linux没一点关系,因为可以学呀,因为你有学习能力呀!我们不会的太多太多了,但是怕什么,让公司看到你的学习能力,看见你做的项目,让他们呢知道你有硬件背景, 就算不会的话起码你知道去哪里查资料! 以上是我在找实习工作的时候遇的经验,那时跟你现在遇到的问题一样。最后的建议:把握好这个项目,把项目中的东西都能说出来,这在面试时候90%会被问道,让他们知道你是真正过做事的,学过习的,这就够了,一点也不难!
热心网友
Linux 一开始是基於 x86 所开发出来的开放源代码操作系统,所以传统的 Linux 只能用於 x86 CPU。後来由於源代码开放的关系,很多人就拿来做嵌入式的应用,把 micro-code 改成适用於 ARM,MIPS,SH 等等等,各种 CPU。
知道了这些之後,来回答你的问题:
1. 嵌入式 Linux 开发包括什麽?
这个要看你的终端产品是什麽。由於 Linux 演进到现在,已经有了 real time Extension,所以有些人拿来做工业控制(没有显示器),这个重点多半就是在驱动的开发,以及real time 的应用;如果你是做像手机一类的产品,那麽或许就得对人机介面要有所研究了。
2. 是不是分软硬开发?
Linux 就是软件,但是跟硬件相关性很高。你既然学过 MCU,把 ARM 当成一个的MCU就行。
3. linux与ARM到底是什么关系?
ARM 只是一个 CPU 内核,全世界有好几千家去买ARM的授权,之後配上自己的一些端口,整合成一个 SoC。这个 SoC 上面,可以执行各种不同的操作系统,Linux 只是其中一种。
热心网友
嵌入式系统由嵌入式硬件和软件2部分构成:
1、硬件
主要由嵌入式CPU(MCU)和一些外围设备(网卡、声卡等)组成,嵌入式CPU内部一般也集成了很多设备,如LCD控制芯片、串口控制器、MMC控制器、I2C控制器等等,你说的ARM是一类嵌入式CPU。
2、软件
软件主要由操作系统和应用软件组成,linux是一种操作系统,它可以运行在多种硬件平台上,包括ARM、MIPS等一些嵌入式平台上;应用软件即运行于嵌入式linux系统上的应用软件,如手机软件、路由器控制软件等。
嵌入式系统开发也分硬件设计和软件移植和开发2部分:硬件设计主要是针对某款CPU进行主板设计/布线/制板/焊接/调试;软件移植是将操作系统(linux)移植到相应的硬件平台上,软件开发是在嵌入式系统上进行应用软件开发。
一般所说的嵌入式开发主要指的在即有的嵌入式系统(硬件平台和操作系统)上进行应用软件开发,和具体的应用有关。
你可能是对arm上的linux移植有兴趣,最简单的方法就是买一款arm开发板,它一般带着相应的linux源码包,自己编译运行就是了。
热心网友
arm就是纯粹的硬件加程序了,这么说吧,就是比较死板,可移植性不强。
linux是一个操作系统,和arm结合后移植性变强了,例如安卓系统就是两个的结合产物。