嵌入式linux系统应用非常广泛,涵盖各行各业,基于ARM、mips等微处理器架构的硬件平台。基于嵌入式linux系统的设备已经深入生活中各个角落,随处可见。

  我们常说的嵌入式linux系统,其实与电脑端运行的linux系统本质上是一样的,都是使用的linux内核,相同的文件系统目录结构。区别在于嵌入式linux系统多少经过裁剪的,可能在操作时你会发现,有些命令不支持,或者有些命令的个别参数不支持!还有就是内核的功能也有裁剪。

  嵌入式linux系统多用于定制开发专用设备,功能可能比较固定,对于不同的行业,根据需求对软硬件进行裁剪选配,这也是嵌入式linux系统广泛应用的特点之一。

C语言即可入门

  嵌入式linux开发,大多是是使用C或者C++,底层内核代码大部分是C语言实现,驱动代码也是C语言,内核提供的系统API都是C语言接口,对于会C语言编程的同学来说,入门还是很容易的。

命令行

  关于linux命令行;使用linux系统,就少不了与命令行打交道,其实命令行在linux开发中,是与系统沟通的最主要方式!所以需要去熟悉常用的命令,常用的并不多,经过一段时间使用也很容易掌握,这些命令在PC端和设备端基本上是一样的,比如:文件/目录操作、网络配置、磁盘管理等;这些命令也都是C语言实现的,在嵌入式linux系统中,这些命令都来自于busybox(工具集),感兴趣可以去busybox里看看命令的实现!代码很简洁,命令的设计也体现了linux设计思想:简单;一个命令只完成一个功能,通过不同的命令相互组合,就可以实现复杂的功能!

网络

  说到linux不得不提的是其强大的网络功能,所以对于需要用到网络通信的需求方案来说,这是个很好的选择,如果使用单片机做网络通信,是比较麻烦的,TCP/IP协议栈都是个问题,linux有完整的网络通信功能,而且很容易加上WIFI、4G等通信方式。

远程运维

  基于网络,嵌入式linux系统很容易实现远程运维,可以通过内网穿透技术、或者基于ssh2协议实现远程跨公网访问设备,这对于开发人员测试、调试、升级、问题查找等很方便;远程传输文件也很方便,可以使用ftp、scp、wget、xmodule等方式。

成本

  随着技术发展,芯片的价格也在不断下降,嵌入式linux系统硬件成本也在不断下降,使得其应用的更加广泛,对于简单的控制,还是单片机的市场。

微信公众号:

嵌入式linux简介的更多相关文章

  1. 嵌入式Linux串口编程简介

    文章目录 简介 用到的API函数 代码 简介 嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的.嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大 ...

  2. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  3. 嵌入式系统基础知识(一): 系统结构和嵌入式Linux

    目录 一. 嵌入式体系结构 二. 开发过程中的分工 三. 嵌入式软件体系结构 四. 嵌入式Linux 一. 嵌入式体系结构 <嵌入式系统设计师教程>这本书的前三章脉络很清晰, 按照嵌入式系 ...

  4. SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  5. 嵌入式Linux学习(一)

    嵌入式系统 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板.事实上,所有带有数字接口的设备,如手表.微波炉.录像机.汽车等, ...

  6. 01 Linux简介

    1.Linux简介 UNIX与Linux发展史 Unix在1969年,美国贝尔实验室的肯汤普森在DEC PDP-7机器上开发出了UNIX系统. Linux出现于1991年,是由芬兰赫尔辛基大学学生李纳 ...

  7. 《嵌入式Linux开发实用教程》

    <嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺    李强    袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...

  8. 嵌入式linux应用程序调试方法

    嵌入式linux应用程序调试方法 四 内存工具 五 C/C++代码覆盖.性能profiling工具 四 内存工具 您肯定不想陷入类似在几千次调用之后发生分配溢出这样的情形. 许多小组花了许许多多时间来 ...

  9. Linux简介——(一)

    1. 常见操作系统 - 服务端操作系统 : linux.unix.windows server - 单机操作系统 : windows(dos .ucdos.win95.win98.win2000.xp ...

随机推荐

  1. 普通平衡树学习笔记之Splay算法

    前言 今天不容易有一天的自由学习时间,当然要用来"学习".在此记录一下今天学到的最基础的平衡树. 定义 平衡树是二叉搜索树和堆合并构成的数据结构,它是一 棵空树或它的左右两个子树的 ...

  2. bugku extract 变量覆盖

  3. eclipse的使用小技能

    eclipse的使用小技能 文章来源:http://blog.csdn.net/ljfbest/article/details/7465003 关于eclipse的使用方面,其实有些东西都是小技巧的东 ...

  4. The Prices

    题目描述 你要购买\(m\)种物品各一件,一共有\(n\)家商店,你到第\(i\)家商店的路费为\(d[i]\),在第家商店购买第\(j\)种物品的费用为\(c[i][j]\),求最小总费用. 输入格 ...

  5. noi linux gedit 配置(c++环境)

    基本配置 方法一 查看所有命令: gsettings list-recursively | grep -i gedit 命令解释 gsettings set org.gnome.gedit.prefe ...

  6. css选择器大全

    1.元素选择器 这是最基本的CSS选择器,HTML文档中的元素本身就是一个选择器: p {line-height:1.5em; margin-bottom:1em;} //设置p元素行高1.5em,距 ...

  7. node学习第一天

    创建服务器 利用require引入http模块:var http=require("http") 利用http模块创建server服务器; 创建服务器:var server=htt ...

  8. Linux平台下SSD的TRIM指令的最佳使用方式(不区别对待NVMe)

    SSD写数据会出现什么问题 SSD读写的单位不是位,而是一个块.如果要改变这个块中的一位,首先要将整个块擦写成1,然后再写入更新的数据. 为了解决擦写块的低效,SSD的策略是将需要改写的块,读取出来, ...

  9. List<Activity> lists的关闭finish()

    public class App extends Application { private static List<Activity> lists = new ArrayList< ...

  10. 用大白话讲Java动态代理的原理

    动态代理是什么 首先说下代理模式,代理模式是常见的一种java设计模式,特征是代理类与委托类实现了同样的接口,代理类主要负责为委托类预处理.过滤.转发,以及事后处理等.代理类与委托类之间通常会存在关联 ...