嵌入式Linux开发环境

时间:2022-05-07 08:09:34
嵌入式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命令大全)