热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式Linux开发环境

一.嵌入式Linux开发环境的安装(一).Linux操作系统简介Linux是一种可以免费使用和自由传播的操作系统。Linux操作系统是由全


一.嵌入式Linux开发环境的安装

(一).Linux操作系统简介

Linux是一种可以免费使用和自由传播的操作系统。Linux操作系统是由全球许多程序员设计实现的。Linux的目的是创建不受商品化软件的版权制约,所有人都能自由使用、复制、修改、发行。Linux是一个日渐成熟的操作系统,由于其安全、高效、免费等特点,使得Linux被越来越多人了解和使用。

              1. Linux操作系统的历史

                    Linux 的创始人Linus Toravlds

                    Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。

                   GPL协议:GPL是GNU Public License的缩写,最早是自由软件基金会为了促进开放源代码的发展,而搞出来的一种版权协议。

POSIX 标准: 该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。

                   GNU 计划:(Linux is not Unix)GNU 计划 与1984 年创办的。旨在开发一个类似 Unix、并且是自由软件的完整操作系统:GNU 系统。

              2. Linux与Unix的关系

                   Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。

                   Linux:开源、免费

                   UNIX:闭源、收费

          3. Linux的特点

(1).开放性 

是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准.凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

(2).多用户 

是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。

(3).多任务 

是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。

(4).良好的用户界面

Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

(5).设备独立性 

设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。

(二). Linux发行版简介

1. 什么是发行版?发行版的组成?

以Linux核心为中心,集成搭配各种各样的系统管理软件或应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版。

              2. Linux有哪些发行版?各自的特点?

                (1).PCLinuxOS

PCLinuxOS的理念是秉承“简单易用,安全无忧”的理念,无需安装可直接运行于CD上,集成的程序丰富。不过LiveCD由于光盘的数据读取速度限制导致性能下降。

(2).Redhat

Redhat linux是全球在服务器上应用最广泛的linux操作系统,在效率、扩展性、可靠性、安全性、集成虚拟化等都具备领先其他linux的特点,被誉为最值得信赖的数据中心平台系统,其主要应用在服务器领域。

(3). SUSE

SUSE包含了一个安装及系统管理工具YaST2。它能够进行磁盘分割、系统安装、在线更新、网络及防火墙组态设定、用户管理和其他更多的工作。它为原来复杂的设定工作提供了方便的组合界面。尤其被称之为最漂亮的linux服务器。

(4). Ubuntu

用Ubuntu主要有两大优势,其一:庞大而活跃的开发社区;其二:随时更新的软件库。根据国内2年多的实际运行经验,Ubuntu服务器版本的运行极为稳定,安全可靠,完善的管理工具能极大的降低了维护成本,并对LAMP的架构支持的非常,特别适合中小企业。

(Linux发行版还有好多,在此不赘述)

(三). Linux系统的安装

          1. 什么是虚拟机?虚拟机的作用?

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

作用: (1). 演示环境,可以安装各种演示环境,便于做各种例子;  

(2). 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序,或者测试用的程序在虚拟机上运行;  

(3). 避免每次重新安装,银行等常用工具,不经常使用,而且要求保密比较好的,单独在一个环境下面运行;  

(4). 测试不熟悉的应用,在虚拟机中随便安装和彻底删除;  

(5). 体验不同版本的操作系统,如Linux、Mac等。

              2. 为什么需要虚拟机?

由于嵌入式产品是基于linux内核的,所以我们在开发初期为了方便,应该有一个基本的开发环境,这是为什么要安装linux操作系统的原因。

而为什么要虚拟机,是由于平常我们生活习惯了桌面的操作系统,并且不得不肯定的是windows操作系统提供了很多用户体验很高的应用程序,所以,在生活的同时,工作中,学习里,需要用linux操作系统进行开发,就直接在windows上安装虚拟机即可。

还有一点就是,开发过程中,介于跨平台的性质,很多产品也是运行在windows下的,所以也需要进行交叉编译。

          3. 什么是系统镜像?

系统镜像是驱动器的精确副本。默认情况下,系统镜像包含系统运行所需的驱动器。它还包含系统和系统设置、程序及文件。如果硬盘或计算机无法工作,则可以使用系统映像来还原计算机的内容。从系统镜像还原计算机时,将进行完整还原;不能选择个别项进行还原,当前的所有程序、系统设置和文件都将被系统映像中的相应内容替换。

      4. 虚拟机安装演示

         (详情请见安装教程)

二.嵌入式Linux开发环境的使用

(一). Linux命令

       (详情请见Linux命令大全)

(二). vmtools的安装与共享文件的创建

       (详情请见vmtools安装教程)

(三). vim 的使用(详情请见Linux命令大全)

          1. 文本编辑器有哪些?

             Vim Editor、Emacs(宏编辑器)、Notepad++、TextMate、SublimeText 

          2. vim的三种模式切换模式

command模式(底行模式),

Insert模式(插入模式),

Visual模式(命令行模式)

切换:

命令行模式——>插入模式:按下i

插入模式——>命令行模式:按键Esc

    命令行模式——>底行模式:按下:

          3. vim的命令行命令的使用

                详情请见linux命令大全

      4. vim的配置修改

            可以修改/etc/vim/vimrc

set number               显示行号

set autoindent          自动对齐

set smartindent         智能对齐

set showmatch          括号匹配模式

set ruler                 显示状态行

set tabstop=4           tab键为4个空格

set shiftwidth=4     换行时行间交错使用4个空格

set softtabstop=4 设置(软)制表符宽度为4

set cindent              C语言格式对齐

set nobackup            不要备份文件

set clipboard+=unnamed   与windows共享剪贴板

      5. vim的底行模式的使用技巧

            (详情请见Linux命令大全)

                     




推荐阅读
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 大华股份2013届校园招聘软件算法类试题D卷
    一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细探讨了Linux系统中的文件权限设置,包括常见的755、700等权限模式,以及这些权限在实际应用中的具体含义和作用。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • linux网络子系统分析(二)—— 协议栈分层框架的建立
    目录一、综述二、INET的初始化2.1INET接口注册2.2抽象实体的建立2.3代码细节分析2.3.1socket参数三、其他协议3.1PF_PACKET3.2P ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文详细介绍了 #include 头文件的功能,该头文件在 Unix 和 Linux 系统中用于定义文件状态相关的数据结构和函数。 ... [详细]
author-avatar
u44093631
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有