热门标签 | 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命令大全)

                     




推荐阅读
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
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社区 版权所有