嵌入式Linux系统开发实验指导手册

  • 格式:doc
  • 大小:1007.42 KB
  • 文档页数:23

嵌入式Linux系统开发实验指导手册实验一BootLoader实验一、实验目的了解BootLoader在嵌入式系统中的作用掌握在BootLoader增加一个功能的流程二、实验内容向BootLoader增加一个简单的功能模块(如跑马灯,A/D接口实验等)三、实验设备(略)四、实验原理(参考FS2410P实验指导手册v2.1.2.pdf 285-292页及文档“BootLoader编写指南”)五、实验步骤(参考FS2410P实验指导手册v2.1.2.pdf 287-288页)实验二Linux的安装与基本操作实验一、实验目的在PC机上安装Linux操作系统熟悉常用Linux命令和操作了解Linux环境下基于GCC的C程序开发流程二、实验内容1、安装Linux操作系统不在实验室进行该项实验内容,自行在个人电脑上安装,请参考文档“Linux系统简介与安装”。

2、常用Linux命令和操作(更多Linux命令和操作方法,请参考文档“Linux命令大集合”)登录Linux系统用户:root口令:123456输入上面的用户名和口令,从而登录Linux操作系统。

目录操作①查看主目录输入pwd命令,会显示你所在的主目录。

如:/home/arm②以长格式查看主目录下有哪些目录和文件输入ls -l命令,会显示主目录下所有的文件,包括文件的属性,大小,创建时间等。

文件操作①新建一个空文件,查看其属性信息;输入touch test命令,创建名为test的空文件;输入touch test1命令,创建名为test1的空文件;再输入ls -l命令,查看刚刚所建文件的属性,属性值为-rw-rw-r--。

②用chmod 777更改该文件属性,更改后再查看属性信息;输入chmod 777 test命令, 更改该文件属性;再输入ls -l命令,查看更改文件属性后的文件属性,属性值为-rwxrwxrwx。

③删除该文件。

输入rm test命令,删除test文件;再输入用ls -l命令查看,确认删除成功。

拷贝操作①在主目录下新建一子目录hello;输入mkdir hello命令,创建hello目录;用ls -l命令查看,确认创建成功。

②将之前创建的文件test1拷贝至自己主目录下的hello子目录;输入cp –a test1 hello命令,拷贝该文件;输入cd hello命令,进入hello目录;用ls -l命令查看是否存在test1,确认拷贝成功。

3、Linux编程基础实验①用vi编辑器建立以下文件(有关vi编辑器的使用请参考文档“Vi编辑器完全使用手册”)在主目录下输入vi,进入vi文本编辑器。

首先进入的是编辑模式,输入i,进入插入模式才能编写代码,将下面的程序1直接复制。

然后点ESC键,再输入:wq hello.c,将文件保存为hello.c 后,退出vi编辑器。

程序1:hello.c#include <stdio.h>int main (void){printf ("Hello world, Linux programming! \n");return 0;}然后执行命令编译这段程序:# gcc hello.c -o hello查看可执行文件hello是否生成。

执行:#. /hello查看程序执行结果。

结果为:Hello world, Linux programming!②分步编译hello.c:执行:# gcc -E hello.c -o hello.i观察hello.i的内容。

执行# gcc -c hello.i -o hello.o观察hello.o是否生成生成hello.o文件# gcc hello.o -o hello观察hello是否生成生成hello文件实验三搭建嵌入式Linux开发环境1、Linux操作系统下的网络设置(1)启动Linux后,选择系统→管理→网络,单击左键,此时,弹出如下界面。

双击(2)选择设备,双击上图所示的“eth1”,弹出如下的对话框,进行IP的设置。

(3)选择DNS,进行DNS设置。

(4)最后,激活网络设备。

双击激活网络设备(5)打开Web浏览器,输入ftp://202.193.9.75,进入“嵌入式系统\课程实验\”文件夹,复制文件夹“嵌入式Linux系统开发实验”里面的内容到PC机的桌面上。

2、Mincom 的设置(参考文档“Linux系统下超级终端minicom的使用方法”)(1)启动Linux后,选择应用程序→附件→终端,单击右键,选择将该启动器添加到桌面,此时,会在桌面上会出现一个终端的快捷键。

(2)双击桌面上的终端,打开一个终端。

(可同时打开多个终端)在命令提示符下,输入: #minicom –s回车,即可进行minicom的参数设置:波特率115200,数据位8,奇偶校验无,停止位1,无硬件流。

(3)设置完成后保存为默认配置文件(4)退出设置界面,可以看到minicom启动的画面。

(5)连接好开发板与PC机的串口线,启动开发板,如看到如下画面,说明minicom已设置好。

3、安装交叉编译器(在PC机Linux终端环境下进行)参考文档“嵌入式Linux系统交叉编译器的制作”所需软件包:cross_2.95.3.tar.bz2步骤:(1) 在/usr/local下建一个名为arm的目录。

#mkdir /usr/local/arm(2) 将cross-2.95.tar.bz2复制到arm目录中。

(3) 进入arm目录#cd /usr/local/arm(4) 解压软件包cross_2.95.3.tar.bz2tar -xjvf cross-2.95.3.tar.bz2(5) 解压后arm目录下出现一个2.95.3的目录,将此目录下的/bin目录添加到环境变量中去。

export PATH=/usr/local/arm/2.95.3/bin:$PATH(6) 用上述方法添加的环境变量在掉电后会丢失,因此,可以使用在“/etc/bashrc”的最后一行添加以上命令。

# vi /etc/bashrc(7) 查看该路径是否已添加到环境变量中。

#echo $PATHusr/local/arm/2.95.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin: /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin4、安装编译ARM Linux内核(在PC机Linux终端环境下进行)参考文档“ARMLinux内核”所需软件包:kernel2410.tgz步骤;(1) 在/目录下新建一个名为s3c2410的目录。

# mkdir s3c2410(2) 将kernel2410.tgz复制到s3c2410目录中# cd / s3c2410/ //进入s3c2410目录# tar zxvf kernel2410.tgz //解压kernel2410.tgz(3)编译内核。

# cd /s3c2410/ 2.4.18-rmk7 //进入2.4.18-rmk7目录# make menuconfig //执行make menuconfig命令,进行内核配置。

(4)进入主界面后,装载默认配置文件kernel_2410.cfg。

(也可根据自身需要定制内核,具体请参考文档“Linux内核编译配置选项”)(4)设置完成后,建立依赖关系,编译内核# makes dep# make zImage(5)编译结束后,在arch/arm/boot目录下生成了Linux内核的压缩映像zImage。

5、下载内核映像到开发板:(1)使用tftpcmd网络传输,设置PC机IP地址,与实验平台的IP地址(BIOS的IP地址)设置在同一网段内。

这里,将PC的IP设为192.168.3.68,将实验平台的IP地址设为192.168.3.100。

并把tftpcmd复制到/bin文件夹下。

(2)进入boot目录:#cd /s3c2410/ 2.4.18-rmk7/arch/arm/boot(3) 将开发板与PC机用交叉网线连接好,设置好minicom,复位开发板,按住A键,进入BIOS命令行状态提示符,输入命令netload,回车。

(4)打开终端,在/s3c2410/2.4.18-rmk7/arch/arm/boot下新建一个down文件#vi dowm输入如下内容:tftpcmd 192.168.3.100 69 put zImage目标板BIOS中的IP地址要下载的文件(5)双击down批处理文件,选择在终端运行,或是输入如图所示命令./down,将内核映像下载到开发板。

(注意:down文件要和zImage文件在同一个目录下)(6)传输完后,在minicom终端输入命令“nfprog”,然后回车,然后输入“1”,选择第二个区块,输入“Y”确认将文件烧写到nandflash中。

实验四编写应用程序1、实验内容:在目标板上Linux环境下运行“Hello World”程序2、实验步骤:(1)在PC 机的Linux下用vi编辑器以下源代码,并保存为helloworld.c# cd /s3c2410 //到s3c2410目录下# vi helloworld.c //编辑helloworld.c程序源程序如下:#include <stdio.h>int main(void){printf("hello, world!\n");return 0;}(2)编译源程序,使用以下命令编译,生成helloworld可执行文件。

#arm-linux-gcc -o helloworld helloworld.c(3)将程序下载到目标板并执行将可执行文件下载到目标平台FS2410P目前主要有三种方式:①通过网络下载:通过网络下载程序的主要步骤是:先把helloworld复制到ftp共享目录,然后在FS2410P上使用ftp下载。

(请查阅相关资料自行完成)②通过NFS进入映射(可参考文档nfsonARMSYS.pdf)●设置NFS共享目录——编辑PC机端NFS的相关文件# vi /etc/exports //修改/exports 文件,在文件中输入以下内容/s3c2410 192.168.*.*(rw) // s3c2410为PC机共享给目标平台的目录// 192.168.*.*(rw) 为可访问共享目录的网段 # exportfs –rv // 通知系统共享目录改变了,每次修改目录后,// 要运行此命令来告诉系统此变化# /etc/rc.d/init.d/nfs start // 启动NFS服务启动 NFS 服务:[确定]关掉 NFS 配额:[确定]启动 NFS 守护进程: [确定]启动 NFS mountd:[确定]●关闭防火墙,选择系统——管理——安全级别防火墙,将其防火墙设为禁用。