嵌入式Linux知识块和知识点.docx

上传人:b****7 文档编号:10797869 上传时间:2023-02-23 格式:DOCX 页数:53 大小:923.85KB
下载 相关 举报
嵌入式Linux知识块和知识点.docx_第1页
第1页 / 共53页
嵌入式Linux知识块和知识点.docx_第2页
第2页 / 共53页
嵌入式Linux知识块和知识点.docx_第3页
第3页 / 共53页
嵌入式Linux知识块和知识点.docx_第4页
第4页 / 共53页
嵌入式Linux知识块和知识点.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

嵌入式Linux知识块和知识点.docx

《嵌入式Linux知识块和知识点.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux知识块和知识点.docx(53页珍藏版)》请在冰豆网上搜索。

嵌入式Linux知识块和知识点.docx

嵌入式Linux知识块和知识点

基础

安装Linux系统

(1)语言选择:

简体中文

(2)键盘配置:

美国英语式

(3)鼠标配置:

3键鼠标(PS/2)

(4)选择安装还是升级:

新安装

(5)安装类型

个人桌面:

工作站:

服务器:

定制:

(6)磁盘分区设置

自动分区:

手工分区:

(7)为系统分区:

显示当前分区,下一步

(8)添加分区:

挂载点

固定大小

指定空间大小

使用全部可用空间

强制为主分区

检查磁盘坏块

(9)引导装载程序配置:

选择引导装载程序:

GRUB

选择要引导的操作系统

引导装载程序是否使用口令

配置高级引导装载程序选项

(10)网络配置:

编辑网络设备

是否引导时激活

设备名

IP/子网掩码

设置主机名

通过DHCP自动设置

手工设置

其他设置

网关

主要

次要

第三

(11)防火墙配置:

选择安全级别

高级

中级

无防火墙

选择防火墙规则

默认

定制

信任的设备

容许进入

其他端口

(12)语言支持的选择:

Chinese(P.R.ofchina)

(13)时区配置:

亚洲/上海

(14)设置根口令

(15)选择软件包组:

(16)准备安装:

应该看到一个安装RedHatLinux做准备的屏幕。

当你重新引导系统后,一份完整的安装日志可在/root/install.log中找到,以备今后参考。

要取消安装进程,按计算机的重新启动按钮,或者使用[Control]-[Alt]-[Delete]组合键来重启计算机。

(17)安装软件包:

(18)创建引导盘:

(19)视频卡配置:

自动检测,若检测不到,请手工配置

(20)配置显示器:

自动检测,若检测不到,请手工配置

(21)定制配置:

色彩深度:

真色24位

屏幕分辨率:

1024×768

(22)安装完成

基本使用

登录和注销

启动和关机

显示属性的设置

改变桌面背景

显示设置

分辨率

色彩深度

配置日期和时间

光盘的使用

(1)在文件管理器中使用光盘

(2)在终端提示下使用光盘

用户还可以手工地在shell提示下挂载和卸载光盘。

在光盘驱动器内插入一张光盘,打开终端,然后键入以下命令:

#mount/mnt/cdrom

这样,光盘就会被挂载,便可以用文件管理器来使用它了。

还可以通过点击桌面上的主目录图标,并在位置栏内键入“/mnt/cdrom”来访问光盘。

光盘上工作完毕后,在把它从驱动器内弹出之前必须卸载它。

关闭所有使用光盘的应用程序或文件管理器,然后在终端提示下键入以下命令:

#umount/mnt/cdrom

现在,便可以安全地按光盘驱动器上的弹出按钮来取出光盘。

打印机的安装与设置

使用RPM来管理软件包

RPM的设计目标

可升级性

强大的查询功能

系统校验

纯净源码

RPM基本操作模式

安装RPM包

rpm–ivhRPM包的全路径文件名

删除RPM包

rpm-eRPM包名称

升级RPM包

rpm-URPM包的全路径文件名

查询RPM包

rpm-q

校验已安装的软件包

rpm-V

命令及相关概念

命令的使用方式

在Linux系统中打开终端的方式有以下两种:

种是在桌面上依次单击“主程序→系统工具→终端”可打开如图2-1的终端窗口;另一种是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口

键盘上大多数字符是普通打印字符,它们没有特殊含义。

只有少数特殊字符指示计算机做专门的操作。

其中最常见的特殊字符是回车键RETURN,它表示输入行结束;系统收到回车信息便认为输入的当前行结束,系统的响应是让屏幕光标回到下一行行首。

回车符只是控制符的一个例子。

控制符是指控制终端工作方式的非显示字符。

输入一般控制符必须先按下控制键,或称作CTRL键,然后再按所对应的字符键。

例如,输入回车符可以直接按回车键,也可以先按控制键,再按m键。

CONTROL-m或CTL-m也是回车符。

一些常用的控制符有:

CTL-d,它表示终端的输入结束;CTL-g控制终端响铃;CTL-h称为退格键,用于改正输入的错误.

此外还有两个特殊键,一个是DELETE键,另一个是BREAK键。

大多数LINUX系统中,DELETE键表示立即终止程序。

在有些系统里,也用CTL-c终止程序。

一般说来,BREAK键与DELETE键、CTL-c的功能基本相同。

另外,在终端上还有一个命令补齐(Command-LineCompletion)的操作技巧,所谓命令补齐是指当键入的字符足以确定目录中一个唯一的文件时,只须按Tab键就可以自动补齐该文件名的剩下部分,例如要把目录/freesoft下的文件gcc-2.8.1.tar.gz解包,当键入到tarxvfz/freesoft/g时,如果此文件是该目录下唯一以g开头的文件,这时就可以按下Tab键,这时命令会被自动补齐为:

tarxvfz/freesoft/gcc-2.8.1.tar.gz,非常方便

文件概念及操作命令

ls[选项][文件目录列表]

文件类型

-:

常规文件

Ø        d:

目录

Ø        b:

块特殊设备

Ø        c:

字符特殊设备

Ø        p:

有名管道

Ø        s:

信号灯

Ø        m:

共享存储器

文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:

该文件所有者的权限、组中其他人的权限和系统中其人的权限;每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)、写(用字符W表示)和执行权限(用字符x表示)。

当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。

#find[目录列表][匹配标准]

cat[选项]文件列表

grep[选项]匹配字符串文件列表

sort[选项]文件

diff[参数] 原文件 目标文件

cp [选项] 源文件 目标文件

rm[选项]文件列表

mv[-f][-i]文件1文件2

安装和登录命令:

login、 shutdown、halt、reboot、mount、umount、chsh 

文件处理命令:

file、mkdir、、dd、、 mv、、、ln 

系统管理相关命令:

df、 top、free、quota、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip、last 

网络操作命令:

ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin rcp、finger、mail、nslookup 

系统安全相关命令:

passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho 

Shell编程

建立嵌入式开发环境

软件开发环境

建立交叉开发工具链

使用现有的交叉开发工具链

建立交叉开发工具链

1.从ARMLinux站点得到cross-3.3.2.tar.bz2

2.对cross-3.3.2.tar.bz2解压

$tar–jxvfcross-3.3.2.tar.bz2

3.通过相关文档得到具体安装路径

$./3.3.2/bin/arm-linux-gcc–v

--prefix=/usr/local/arm/3.3.2

4.建立相关目录,并将解压后的文件移到此相关目录

$mkdir–p/usr/local/arm

$mv./2.95.3/usr/loca/arm/

5.在环境变量PATH中添加路径

$exportPATH=$PATH:

/usr/local/arm/3.3.2/bin

3.3.2

因为GCC编译器的运行是依赖于其他工具和库,通常不能把这些工具放在任意目录下。

只好向下载的站点求教,一般通过相关的README或者说明文档可以得到具体的安装路径。

Arm-linux

BinEtcIncludeInfoLibLibexecSbinShareSys-includeusr

Bin

Include

Info

Lib

Libexec

Man

tmp

3.4.1

因为GCC编译器的运行是依赖于其他工具和库,通常不能把这些工具放在任意目录下。

只好向下载的站点求教,一般通过相关的README或者说明文档可以得到具体的安装路径。

Arm-linux

BinEtcIncludeInfoLibLibexecSbinShareSys-includeusr

Bin

Include

Info

Lib

Libexec

Man

tmp

手工制作交叉开发工具链

编译binutils

$tar-jxf./source/binutils-2.14.tar.bz2

$cdbinutils-2.14

$mkdirbuild-arm-linux

$cdbuild-arm-linux

$../configure--target=arm-linux--prefix=/usr/local/arm/3.3.2

$make

$makeinstall

编译GCC的辅助编译器

编译生成glibc库

编译生成完整的GCC编译器

制作交叉调试器

使用交叉开发工具链

编辑器vi

二进制工具

编译器gcc

调试器gdb

工程管理器make

配置TFTP服务

配置NFS服务

配置超级终端/minicom

硬件开发环境

串口

Kermit

Minicom

windows超级终端

以太网

简单的文件传输协议TFTP

网络文件系统NFS

动态主机配置协议(DHCP

USB

JTAG

综合以上熟悉开发流程

部署Linux系统

移植U-Boot

理解嵌入式linux引导程序的原理,掌握如何在FS2410硬件平台上移植u-boot

     2.1Bootloader介绍

      2.2u-boot工程介绍

      2.3u-boot的编译使用

      2.4u-boot源码分析

      2.5u-boot资源分配

      2.6u-boot移植过程

【实验】

      

(1)u-boot常用命令

      

(2)添加u-boot新命令

      (3)设置u-boot环境变量

      (4)配置编译u-boot

      (5)移植FS2410的u-boot-1.3.4

            ●支持网卡、串口功能

            ●支持从nor、nandflash启动

            ●支持nor、nandflash烧写

            ●支持yaffs2、jffs2文件系统烧写

            ●支持u盘文件读取

定制uboot

安装uboot

裁剪内核

/usr/src/linux-x.y-z

内核源码树

drivers

arch

makefile

arch=arm

CROSS_COMPILE=

.config

.config文件被处理生成一个C语言头文件autoconf.h

输出文件

system.map

vmlinux

链接器脚本文件mlinux.lds

arch/arm/kernel/head.o

arch/arm/kernel/init-atask.o

init

kernel

mm

fs

ipc

security

lib/lib.a

arch/arm/lib

lib

drivers

net

配置编译Linux内核

目标:

熟悉内核的原码结构和kbuildMakefile语法;掌握和内核、驱动模块编译相关的原理及方法。

3.1Linux内核介绍

      3.2Linux内核特点

      3.3Linux内核源代码结构

      3.4Linux内核选项解析

      3.5Linux内核编译链接

      3.6内核模块编译、使用方法

【实验】

      

(1)配置交叉开发环境

      

(2)熟悉菜单配置文件的组织结构

      (3)熟悉内核配置过程选项

      (4)加入Kconfig新选项

      (5)编译交叉开发环境所需要的内核

      (6)在内核中加入自己的字符设备程序

移植Linux内核源码

目标:

通过今天课程的学习,学员能够熟悉内核启动流程、掌握内核移植的一般方法、分析平台相关代码结构,并能够自己动手移植高版本内核支持FS2410开发板。

      4.1Linux内核移植介绍

      4.2Linux内核移植平台相关代码分析

      4.3动手修改Linux内核源代码

      4.4分析编译过程错误和宏定义的关系

      4.5Linux启动过程源代码分析

      4.62.6内核平台设备结构介绍

【实验】

      

(1)配置编译高版本的Linux内核

      

(2)移植高版本(linux-2.6.26)内核支持FS2410板

●网卡驱动移植

            ●mtd支持及flash分区方法

            ●yaffs2文件系统移植

            ●sd卡驱动

            ●液晶支持

            ●u盘功能

      (3)分析解决编译过程中的错误

调试Linux内核及优化linux内核

目标:

掌握内核调试的常用方法、内核优化的方法策略。

      6.1Linux内核调试概述

      6.2Linux内核的打印函数

      6.3Linux内核启动过程错误分析

      6.4解析oops信息

      6.5常用调试方法和工具

      6.6基本的驱动程序分析

      6.7系统启动时间优化

      6.8电源管理方法

            ●动态、静态功耗介绍

            ●嵌入式处理器对电源管理的支持

            ●嵌入式linux电源管理结构

            ●用户层电源管理策略

            ●设备驱动层电源管理策略

【实验】

      

(1)通过基本调试手段解决内核启动过程错误

      

(2)分析、处理oops错误

      (3)优化系统,加快系统启动速度

      (4)优化系统,降低系统功耗

定制内核映像

安装内核映像

Linux内核修炼

       1)全面认识和了解Linux内核的框架,并以此为基础掌握学习Linux内核、分析阅读Linux内核源码的方法,真正地迈过那道无形的门坎。

       2)掌握、分析、钻研某个子系统在Linux内核中实现机制的方法,并了解Linux内核中的进程管理、内存管理、文件系统。

       3)了解如何参与Linux内核的开发和测试,以及一些常用的调试手段和工具。

       4)掌握Linux设备驱动的开发方法。

       5)掌握Android运行所需要的Linux内核开发和技巧。

 全面认识和了解Linux内核的框架,掌握学习Linux内核、分析阅读Linux内核源码的方法。

第1章Linux内核的基本面

      1.1Linux内核成长史

      1.2多变的Linux内核版本号

      1.3获取Linux内核的源代码

      1.4ALinux内核与那些发行版

      1.5Linux内核是如何工作的

          ·“Linux虚拟机”——系统调用

          ·台前——文件系统

          ·幕后——进程调度

          ·幕后——内存管理

          ·模块化的Kernel

第2章Linux内核的按需配置与编译

      2.1按需配置Linux内核

          ·配置方式的多种选择

          ·认识常见的配置选项

          ·重视.config文件

      2.2为Linux内核打补丁

      2.3编译Linux内核

          ·认识一些与编译有关的目录与文件

          ·构建编译环境

          ·备份是重要得

          ·编译步骤

          ·一些实用的小技巧

      2.4Linux内核的文档及编译

      2.5【实验】配置、编译Linux2.6内核

第3章浏览Linux内核源码

      3.1所需的技术基础

      3.2Linux内核的体系结构

      3.3Linux内核源码树

      3.4使用vim+cscope+ctags

      3.5Linux内核代码的特点

          ·gcc扩展的使用

          ·内嵌汇编

      3.6Linux内核中的链表

      3.7代码样例

      3.7【实验】配置vim浏览内核源码

第4章如何分析Linux内核源码

      4.1Linux内核学习的心理问题

      4.2kernel地图:

Kconfig与Makefile

          ·看懂Kconfig与Makefile

          ·利用Kconfig与Makefile定位目标代码

      4.3分析Linux内核源码如何入手

          ·分析README

          ·分析Kconfig与Makefile

          ·态度决定一切:

从初始化函数开始

      4.4【实验】定位并分析某个子系统或模块在内核中的实现

掌握分析钻研某个子系统在内核中实现机制的方法,了解内核中的进程管理、内存管理、文件系统。

第5章开始之前——Beforewebegin

      5.1系统初始化

      5.2Linux内核中的时间

      5.3系统调用

      5.4中断与中断处理

      5.5Linux内核中的同步

第6章子系统的初始化

      6.1Linux内核选项解析

          ·Linux内核选项

          ·注册Linux内核选项

          ·两次解析

      6.2那些入口函数

          ·.initcall.init节

          ·do_initcalls()函数

      6.3以PCI子系统为例

      6.4【实验】分析某个子系统的初始化过程

第7章进程管理与调度

     7.1Linux中的进程

      7.2进程的来源:

fork和clone

      7.3所有美好的事物都会结束:

进程退出

      7.4内核线程

      7.5进程调度

          ·O

(1)调度

          ·CFS调度

      7.6不确定的Multi-thread

第8章内存管理

      8.1物理地址、逻辑地址与虚拟地址

      8.2分页

      8.3内存在内核中的分配

      8.4进程的内存组织

      8.5内存映射mmap

      8.6页面缓存

第9章虚拟文件系统VFS

      9.1VFS的体系结构

      9.2理解VFS的那些数据结构

      9.3VFS的缓存机制

      9.4文件系统的注册与安装

      9.5文件系统的日志管理

了解如何参与Linux内核的开发和测试,以及一些常用的调试手段和工具

第10章IntentReceiver

      10.1工具链及其生成

      10.2Linux内核中的Makefile

      10.3严格遵守Linux内核的编码风格

     10.4添加代码到Linux内核

      10.5为什么Linux内核没有稳定的API?

      10.6如何提交补丁

      10.7学会使用Git

      10.8【实验】安装Git并用它来来获取最新的Linux内核源码

第11章一些最上镜的Linux内核调试手段与工具

      11.1Linux内核对调试的支持

      11.2二分法与printk

      11.3获取Linux内核信息

      11.4调试福音之oops

      11.5神奇的SysRq

      11.6调试利器之GDB

      11.7调试利器之Systemtap

      11.8Linux内核崩溃转储

      11.9利用模拟器

      11.10【实验】分析一个oops

      11.11【实验】配置GDB调试环境并调试Linux内核

第12章子系统的初始化

      12.1Linux内核测试的4个阶段

      12.2性能分析与调优工具

          ·CPU性能分析与调优

          ·Memory性能分析与调优

          ·IO性能分析与调优

          ·Network性能分析与调优

      12.3oprofile

      12.4启动速度调优

      12.5【实验】Linux内核性能测试并提交Linux内核测试报告

掌握驱动的开发方法,掌握Android运行所需要的Linux内核开发和技巧。

第13章驱动开发的方法论

      13.1模块化的Linux内核

      13.2第一个模块“HelloWorld!

      13.3重中之重:

设备模型

          ·总线、设备和驱动

          ·在USB子系统上的投影

      13.4驱动开发三件宝:

spec、datasheet与Linux内核源码

      13.5sysfs

      13.6【实验】结合设备模型分析一个Linux内核中现有的驱动

      13.7【实验】编写一个简单的模块

第14章Android环境的相关介绍

      14.1Android的历史和介绍

      14.2Android和Linux的扯不清理还乱的关系

      14.3取得Android的源代码和编译生成可执行环境

      14.4Android源代码构成和运行原理

      14.5加入新的处理器支持到Android框架

第15章移植Android所需要的Linux内核

      15.1Andro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1