linux嵌入式实验报告Word文档下载推荐.docx

上传人:b****6 文档编号:20682629 上传时间:2023-01-25 格式:DOCX 页数:8 大小:20.45KB
下载 相关 举报
linux嵌入式实验报告Word文档下载推荐.docx_第1页
第1页 / 共8页
linux嵌入式实验报告Word文档下载推荐.docx_第2页
第2页 / 共8页
linux嵌入式实验报告Word文档下载推荐.docx_第3页
第3页 / 共8页
linux嵌入式实验报告Word文档下载推荐.docx_第4页
第4页 / 共8页
linux嵌入式实验报告Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

linux嵌入式实验报告Word文档下载推荐.docx

《linux嵌入式实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《linux嵌入式实验报告Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

linux嵌入式实验报告Word文档下载推荐.docx

进入系统内核源代码目录。

一般系统内核的源代码放在/usr/src/目录下。

用ls–l命令查看可能显示如下:

#ls–l/usr/src

Total3

lrwxrwxrwx1rootroot12May414:

36>

linux-2.4.20-8

drwxr-xr-x15rootroot1024May1411:

37

drwxr-xr-x3rootroot1024May414:

38sendmail

其中、是一个链接文件,它的链接目标是指向目录,因此、cd就是进入目录。

2、删除过时的目标文件

进入/usr/src/linux-2.4.20-8目录,运行makemrproper命令以清除过时、旧的目标文件。

这是因为经过多次编译后系统会留下部分目标文件,如果没有清除干净可能造成本次编译出错。

如果没有编译过或者是系统升级的新解压缩目录,则这一步骤可以省略。

3、重新设置系统内核

配置系统内核的目的是建立一个适合大小、满足需求的系统内核;

因此,用户必须根据自己所设计系统的需要对Linux系统支持的硬件和软件进行适当裁减,即从配置内容中选择相应的硬件类型和合适的设备驱动程序。

不同的内核版本显示的配置内容有所不同,这里以Linux内核2-4-20版本为例说明。

配置内容共有35个类别,如下表所示:

编号

类别

含义

1

Codematurityleveloptions

代码成熟级别

2

Loadablemodulesupport

可装载模块支持

3

Processortypeandfeatures

处理器类型与特征

4

Generalsetup

一般设置

5

MemoryTechnologyDevice

MTD设备支持

6

Parallelportsupport

并行口支持

7

PlugandPlayconfiguration

即插即用支持

8

Blockdevices

块设备支持

9

Multi-devicesupport(RAIDandLVM)

多设备支持

10

Cryptographysupport

密码系统支持

11

Networkingoptions

网络选项

12

TelephonySupport

电话支持

13

ATA/IDE/MFM/RLLsupport

多种接口存储设备支持

14

SCSIsupport

SCSI设备的支持

15

FusionMPTdevicesupport

FusionMPT设备支持

16

IEEE1394(FireWire)support

IEEE1394防火墙设备支持

17

I2Odevicesupport

I2O设备支持

18

Networkdevicesupport

网络设备支持

19

AmateurRadiosupport

业余无线电支持

20

IrDA(infrared)support

红外线支持

21

ISDNsubsystem

ISDN子系统

22

OldCD-ROMdrivers(notSCSI、notIDE)

非SCSI/IDE接口的CD-ROM设备

23

inputcoresupport

输入核心支持

24

Characterdevices

字符设备

25

Multimediadevices

多媒体设备

26

CryptoHardwaresupport

Crypto硬件支持

27

Filesystems

文件系统

28

Consoledrivers

控制台驱动

29

Sound

声卡驱动

30

USBsupprot

USB支持

31

Additionaldevicedriversupport

附加设备驱动支持

32

Bluetoothsupport

蓝牙支持

33

profilingsupport

Profiling支持

34

Kernelhacking

内核分析

35

Libraryroutines

库例程

4、编译系统内核

当配置完成并保存退出后就要重新编译系统内核。

系统一般会在配置结束时提示要进行makedep操作。

运行带有clean和dep选项的make文件以清除过时的目标文件并建立合适的独立性(如果要正确编译代码,必须要满足该要求)。

命令为:

makedep

makeclean

如果没有出现错误提示,就可以运行makezImage命令,该命令将在/usr/src/linux-2.4.20-8/arch/i386/boot目录下生成一个全新的内核。

该内核文件名称为zImage,使用中注意大小写。

如果给内核添加了许多驱动程序或各种各样的支持,可能需要使用makebzImage命令,该命令可以制作出一个很大的内核映象文件,该文件可以带所有的选项进行启动。

一般当编译的内核较大时系统会推荐内核命名为bzImage。

如果看到类似于以下的提示信息,就表示已经完成了内核创建工作。

Rootdeviceis(3,1)

Bootsectorxxxbytes.

Setupisxxxxbytes.

SystemisxxxkB

Sync

Make[1]:

Leavingdirectory‘/usr/src/linux-2.4.20-8/arch/i386/boot’

这时在/usr/src/目录下生成一个zImage或bzImage文件;

如果没有这个文件说明编译中有错误,导致编译错误的原因可能有:

内核配置有问题,应重新配置后再编译。

内核源代码有问题,应尽量选用稳定的内核(版本号为偶数)版本。

文件连接的问题。

系统硬件的兼容性问题也可能导致内核编译失败。

内核编译完成后,由于有些模块并没有编译进内核、而是通过加载的(选择“m”);

所以需要编译、安装模块。

makemodules

makemodules_install

重新编译内核的过程,会花费比较多的时间;

具体的时间取决于你选择内核的大小、处理器的速度等因数。

一般在嵌入式系统中内核比较精悍,编译过程会比较快;

另外、如果没有运行其他的负载密集型的应用程序(如X图形程序),编译过程会更快。

5、启用新系统内核

以上各个步骤完成之后,就可以准备启用新的系统内核来工作了。

如果你没有采用GRUB或LILO等引导程序进行多培、配置启动,则一定要备份正在使用的系统内核。

在启用新的系统内核前,作好正在使用的系统内核备份是非常重要的!

一旦新系统内核崩溃,用应急启动盘进入Linux系统,恢复旧系统内核。

制作步骤如下:

cd/boot

mvvmlinuz-2.4.20-8#现有的内核更名

cp/usr/src//boot#复制新内核到/boot目录

如果你用GRUB或LILO配置文件启动,则要修改该文件。

以文件为例

default=0

timeout=10

splashimage=(hd0,1)/boot/grub/

titleRedHatLinux(2.4.20-8)

root(hd0,1)

kernel/boot/roroot=LABEL=/

initrd/boot/

titleWinXP

rootnoverify(hd0,0)

chainloader+1

第一种方案,不增加启动选项:

把文件中的以下行:

改为:

kernel/boot/zImageroroot=LABEL=/

6、试用新的内核启

修改后保存文件,如果是用LILO一定要在超级用户提示符下执行lilo或lilo–v命令以使配置文件生效;

如果用GRUB则无须执行命令。

重启系统后则可以用Linux新的内核启动了。

总结报告

一、实验结果

在另一终端中打开minicom,复位开发板,进入PPCBoot的命令行界面,执行下面两行语句

SMDK2410 

#setenv 

bootargs 

console=ttySAC0 

initrd=0x,0x00440000 

root=/dev/ram 

init=/linuxrc

#tftp 

0x 

zImage;

go 

0x

注意:

上述两行语句中的ttySAC0、0x00440000部分,跟第一部分内核移植是不同的。

这里测试没有使用ramdisk文件系统,原因是前面移植的文件系统不能在这个内核下使用,需要移植更高版本的busybox才能使用。

出现如下信息,。

Uncompressing 

Linux..................................................................... 

done, 

booting 

version 

2.6.22.5) 

(arm-linux-gcc 

#7 

Sun 

Sep 

14:

24:

43 

CST 

2007

CPU:

ARM920T 

[] 

revision 

(ARMv4T), 

cr=c0007177

Machine:

SMDK2410

ATAG_INITRD 

is 

deprecated;

please 

update 

your 

bootloader.

Memory 

policy:

ECC 

disabled, 

Data 

cache 

writeback

CPU 

S3C2410 

(id 

0x)

S3C2410:

core 

MHz, 

memory 

peripheral 

MHz

S3C24XX 

Clocks, 

(c) 

2004 

Simtec 

Electronics

表明内核能够运行在开发板上,实验成功

二、实验心得

Linux内核看似佷庞大,其实对于初学者来说,我们不必学习之初就一头钻进浩如烟海的内核代码中问剑;

熟练配置内核的一些常用选项,并编译出来下载到开发板中运行试用,也是迈向Linux系统顶峰的必行之路。

本周本来想制作自己的内核镜像和根文件系统,后来发现这并非易事,最后放弃了自己制作,而选择配置开发板的内核文件,其实学习Linux不像单片机系统,你不必从“零”代码开始,一切先从学会配置、编译、下载运行开始。

几天的学习中,在老师的帮助下学到很多有用的知识收获很大。

linux下串口驱动开发

一、实验目的:

1、学习在linux下进行驱动设计原理

2、掌握使用模块方式进行驱动开发调试的过程

二、实验内容:

1、编写虚拟硬件驱动程序,实验驱动的各个接口函数的实现,分析理解驱动与应用程序的交互过程。

2、编写应用程序加以验证。

三、实验步骤:

1、实验任务:

编写一驱动,实现将用户输入的数据,顺序排序

2、实验代码:

#define__KERNEL__

#defineMODULE

#include<

linux/>

/*printk()*/

/*kmalloc()*/

/*everything...*/

/*size_t*/

/*O_ACCMODE*/

/*COPY_TO_USER*/

staticstructfile_operationsmydriver_ops={

write:

mydriver_write,

read:

mydriver_read,

open:

mydriver_open,

release:

mydriver_release,

};

int__initmydriver_init(void){

intresult;

register_chrdev(demo_MAJOR,"

mydriver1"

&

mydriver_ops);

if(result<

0){

printk("

registererr\n"

);

returnresult;

}

2.4.204l/

4、动态安装

(1)创建设备文件。

 mknod/dev/mydrivercmajorminor

c是指字符设备,major是主设备号,就是在/proc/devices里看到的。

minor是从设备号,设置成0就可以了。

(2)安装设备

insmod–f

如果安装成功,在/proc/devices文件中就可以看到设备mydriver,并可以看到它的主设备号。

(3)卸载设备

  $rmmodmydriver 

编写的驱动程序很好的运行,完成预定的功能

二、实验总结

通过一天的实验,让我学会了很多以前没有接触过的有趣的知识进一步的掌握了linux环境下的一些shell命令和对vi的运用,但是在里面也遇到了一些问题,比如编完程序由于对编译工具make的掌握不够熟练又不想照搬书上的东西,所以花了很长时间在研究make上,导致最后的实验进度落后同学很多,但是最终还是学会了写makefile文件的方法,最后写出了一个完美的makefile文件,通过这个实验使我对linux驱动编程产生强烈的兴趣,以后的生活中linux的应用场合一定会越来越多,比如android,如果掌握它的驱动开发对以后的工作会非常有帮助。

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

当前位置:首页 > 求职职场 > 面试

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

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