嵌入式linux怎么样?是青春饭吗?
嵌入式很广,如果做嵌入式的上层应用,有点青春饭的味道,如果做底层还好。
我们公司做医疗器械的上市公司,做嵌入式的分软件和硬件,软件主要搞linux那套东西,我做硬件的,说说我的工作:
1.原理图PCB设计,高速电路设计,2-8层PCB layout。现在IC一体化,集成度越来越高,基本上硬件设计没有以前那么吃经验。
2.驱动程序编写及测试。
3.EMC问题整改,三大类问题解决(专标合格,通标合格,安规合格),三大方法:接地,屏蔽,滤波。比较吃经验。
4.解决试生产,转产中出现的问题,方案评估等等。
5.带新人,带徒弟。
以上1 2 3 4 5条都比较吃经验。
Linux能应用在哪些领域呢?
Linux应用的领域有以下几个,最常用的就是服务器领域
服务器
Linux是免费开源的电脑操作系统,同时也因为Windows是普通老百姓用的家用系统,服务器系统讲究的是长时间待机的稳定性,而Windows系统本身定位就不是这么强,微软也有Windows server的服务器系统,但是微软的系统需要收费,而使用Linux系统作为服务器系统则成为了不少公司的选择。
常见的云服务器都是使用Linux系统,如阿里巴巴的阿里云服务器,和腾讯的云服务器。可以用于数据处理、网站论坛、博客等。
嵌入式设备
Linux也可以应用于嵌入式设备领域,如我们说熟悉的安卓系统就是基于Linux的开发的。并且现在的人工智能设备基本上也都是基于Linux系统。
桌面领域
虽然现在Linux桌面与Windows桌面相比为见目录结构(也可以下载桌面结构的Linux),但是这也是特别适合有一定电脑基础的用户,因为目录结构的操作可以减少电脑更多的图形界面加载的内存消耗,让电脑的运行速度更快些。不少的爬虫系统、影视作品特效设计都是在这上面运行的。
黑客领域
Linux有许多版本,其中一款Kali Linux是一款基于Linux用来检测软件或网站漏洞,调试BUG的操作系统。
往大了说,Linux主要用于各种信息服务的基础运行系统,包括互联网行业,传统IT行业,银行,政府,教育等等,只要你在上网,就必须用到Linux。
往小了说,Linux作为一个系统中最底层的架构节点,任何服务程序员开发出来以后部署并运行在Linux之上,这个就是Linux的功能和用途。
另外,还有一个手机系统也是基于Linux内核或者类Linux内核开发而来的,包括安卓和苹果。
嵌入式Linux系统开发模式?
嵌入式系统通常为一个资源受限的系统。
直接在嵌入式系统的硬件平台上编写软件比较困难,有时甚至是不可能的。目前,一般采用的办法是,先在通用计算机上编写程序,然后,通过交叉编译,生成目标平台上可运行的二进制代码格式,最后下载到目标平台上的特定位置上运行,下面就由福州卓跃教育做具体步骤介绍。 第一步,建立嵌入式Linux应用开发环境。目前,常用的交叉开发环境主要有开放和商业两种类型。开放的交叉开发环境的典型代表是GNU工具链,目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。商业的交叉开发环境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式。第二步,交叉编译和链接。在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。由于开发过程大多是在Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonBall等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。第三步,交叉调试。①硬件调试。如果不采用在线仿真器,可以让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。目前,Motorola公司提供的开发板上使用的是DBM调试端口,而ARM公司提供的开发板上使用的则是JTAG调试端口。使用合适的软件工具与这些调试端口进行连接,可以获得与ICE类似的调试效果。②软件调试。在嵌入式Linux应用开发系统中,Linux系统内核调试,可以先在Linux内核中设置一个调试桩(debug stub),用作调试过程中和宿主机之间的通信服务器。然后,可以在宿主机中通过调试器的串口与调试桩进行通信,并通过调试器控制目标机上Linux内核的运行。