建立嵌入式linux开发环境实验

合集下载

实验一 嵌入式系统开发环境的建立

实验一 嵌入式系统开发环境的建立

2009级网络工程韩培培091124004 实验报告课程: Linux嵌入式系统开发学号: 09116436姓名: 李军专业: 网络工程班级: 2009级洛阳师范学院信息技术学院实验时间:___2012 年 3 _月__20_日星期_ 3 ___实验地点:逸夫楼A706实验名称:嵌入式系统开发环境的建立实验目的: 1.了解嵌入式系统开发环境的建立流程;2.为嵌入式系统的开发做好准备。

实验准备:宿主机:①选择嵌入式Linux发行版;②熟悉交叉开发环境和工具。

目标机:熟悉目标板引导程序bootloader,Linux 内核,Linux根文件系统,建立应用程序分区。

实验环境:宿主机(开发平台)目标机(运行平台)串口线网线商业的linux发行版为开发者提供了可靠的软件和完整的开发工具包。

交叉开发环境是嵌入式linux开发的基本模型。

我们需要设置linux 的环境配置及各种gnu工具链。

初始化硬件平台,引导linux内核的启动,由于硬件平台是专门定制的,所以要下载、修改和编译bootloader,并用烧写程序烧写倒flash 中。

嵌入式Linux开发一般需要重新定制和裁剪Linux内核,所以需要配置、编译和移植内核。

通常都是下载别人已经移植好的然后再添加自己的特定硬件的驱动程序,进行调试修改。

高级一点儿的操作系统一般都有文件系统的支持,系统启动必须的程序和文件都必须放到根文件系统中,因此需要构建自己的根文件系统。

可以用专门的busybox软件进行剪裁定制。

在根文件系统基础上建立应用程序的flash磁盘分区,一盘使用jffs2或者yaffs文件系统。

这需要在内核中提供这些文件系统的驱动。

烧写bootloader、内核、根文件系统和应用程序,最后发布产品。

宿主机环境搭建:1、安装linux发行版本redhat linux。

2、安装跨平台开发工具链。

由于嵌入式开发系统的限制,在裁剪和定制嵌入式linux系统之前,通常要先在pc机上建立一个用于目标机的交叉编译环境,也就是将各种二进制工具程序集成为工具链。

实验三 搭建嵌入式系统开发环境

实验三  搭建嵌入式系统开发环境

实验三搭建嵌入式系统开发环境一、实验目的:1.掌握嵌入式开发环境的配置;2.掌握开发工具链的安装与配置;3.掌握嵌入式系统内核和根文件系统的烧写的过程。

二、实验内容:1)安装配置嵌入式开发环境;2)安装与配置工具链;3)内核和根文件系统的烧写三、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。

四、实验步骤:1.共享windows下内核文件至linux环境下,并将文件复制至个人开发目录中2.进入目录,输入make menuconfig,对内核进行裁剪配置3.编译内核之前输入make clean清理编译环境4.输入make dep 编译相关依赖文件5.输入make zImage 输出最终编译后的镜像文件6.将镜像文件共享至windows环境下7.在windows打开超级终端,进入vivi,将镜像文件烧录至实验箱开发板中五、实验总结:通过本次实验,熟悉了Linux 开发环境,学会了如何进行linux内核的烧写。

在实验过程中了解到Linux内核模块的组成结构,通过本次实验,初步了解嵌入式开发的基本过程。

实验四嵌入式驱动程序设计一、实验目的:1.学习在LINUX 下进行驱动设计的原理2.掌握使用模块方式进行驱动开发调试的过程二、实验内容:在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。

三、实验设备及工具:硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。

四、预备知识:1.有 C 语言基础。

嵌入式实验一(嵌入式 Linux 开发环境的搭建及 Makefile 应用)

嵌入式实验一(嵌入式 Linux 开发环境的搭建及 Makefile 应用)

实验一嵌入式 Linux 开发环境的搭建及 Makefile 应用一、实验目的:1.熟悉嵌入式 Linux 开发基本过程及基本命令。

2.了解嵌入式 Linux 开发中各种工具的基本用途。

3.搭建好嵌入式 Linux 的开发环境。

4.通过对包含多文件的 Makefile 的编写,熟悉各种形式的Makefile 编写,加深对 Makefile 中用户自定义变量、自动变量及预定义变量的理解。

二、实验内容:1.安装 Vmware 及 Ubuntu;2.熟悉 Linux 下相关命令:属性查询、修改,路径、目录的查询、修改、删除,压缩、解压等;3.熟悉编辑工具;4.熟悉 makefile 文件的基本作用(编写一个包含多文件的Makefile)。

三、Make 工程管理器:Makefile如今能得以广泛应用,这还得归功于它被包含在Unix系统中。

在make诞生之前,Unix系统的编译系统主要由“make”、“install”shell脚本程序和程序的源代码组成。

它可以把不同目标的命令组成一个文件,而且可以抽象化依赖关系的检查和存档。

这是向现代编译环境发展的重要一步。

1977年,斯图亚特·费尔德曼在1贝尔实验室里制作了这个软件。

2003年,斯图亚特·费尔德曼因发明了这样一个重要的工具而接受了美国计算机协会(ACM)颁发的软件系统奖。

Makefile文件是可以实现自动化编译,只需要一个“make”命令,整个工程就能完全自动编译,极大的提高了软件开发的效率。

目前虽有众多依赖关系检查工具,但是make是应用最广泛的一个。

一个程序员会不会写makefile,从一个侧面说明了这个程序员是否具备完成大型工程的能力。

1.Makefile 基本规则一个简单的 Makefile 语句由目标、依赖条件、指令组成。

smdk6400_config :unconfig@mkdir -p $(obj)include $(obj)board/samsung/smdk6400其中:smdk6400_config:目标;unconfig:先决条件;@mkdir -p $(obj)include $(obj)board/samsung/smdk6400:指令。

LINUX嵌入式实验报告

LINUX嵌入式实验报告

LINUX嵌入式实验报告目录目录 (1)实验一:嵌入式Linux开发流程 (2)实验二:嵌入式Linux开发环境搭建 (6)实验三:串行端口程序设计 (11)实验四:A/D D/A接口实验 (16)实验五:图形界面应用程序设计 (18)实验六:内核与根文件系统实验 (23)实验七:驱动程序设计实验 (29)实验八:无线通信实验 (33)实验一:嵌入式Linux开发流程一.实验目的了解嵌入式Linux的开发流程,会进行简单的开发。

二.实验内容进行Linux的开发流程的简单介绍。

三.实验步骤嵌入式Linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过以下过程:建立开发环境,操作系统一般使用REDHAT-LINUX,版本7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。

使用Linux的Red Linux 9的开发界面截图如下:配置开发主机,配置MINICOM,一般参数为波特率115200,数据位8位,停止位1,无奇偶校验,软硬件控制流设为无。

在WINDOWS下的超级终端的配置也是这样,MINICOM 软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;配置网络,只要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

系统配置截图如下:建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。

有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9系列芯片,这样就需要编写烧写开发板上的flash的烧写程序,网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围flash芯片程序。

嵌入式linux系统实验报告

嵌入式linux系统实验报告

嵌入式系统实验报告课程名称:嵌入式系统班级:姓名:学号:实验一. ARM 实验板卡资源及程序调试1.实验目的熟悉嵌入式Linux 开发环境,学会基于IMX6UL 教学平台的Linux 开发环境的配置和使用;利用arm-poky-linux-gnueabi-gcc 交叉编译器编译程序,使用基于NFS 的挂载方式进行实验,了解嵌入式开发的基本过程2. 实验内容本次实验使用ubuntu 操作系统环境,创建一个新目录,并在其中编写hello.c 和Makefile 文件。

学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。

将已经编译好的文件通过NFS 方式挂载到目标开发板上运行2.实验环境硬件:IMX6 教学平台,PC 机酷睿i3 以上, 硬盘120G 以上,内存2G 以上软件:Vmware Workstation +Yocto 项目3硬件接线:电源线接到“12V电源线”,网线接到网口,串口线接到com1,4.实验原理4.1 嵌入式开发方式嵌入式开发当中通常会使用2 种方式来运行应用程序:1、下载;2、挂载。

4.2下载的方式:使用FTP、TFTP 等软件,利用宿主机与目标机的网络硬件进行,此种方法通常是将宿主机端编译好的目标机可执行的二进制文件通过网线或串口线下载固化到目标机的存储器(FLASH)中。

在目标机嵌入式设备存储资源有限的情况下受到存储容量的限制,因此,在调试阶段通常的嵌入式开发经常使用NFS 挂载的方式进行。

而在发布产品阶段才使用下载方式。

4.3 NFS 挂载方式:利用宿主机端NFS 服务,在宿主机端创建一定权限的NFS 共享目录,在目标机端使用NFS 文件系统挂载该目录,从而达到网络共享服务的目的。

这样做的好处是不占用目标机存储资源,可以对大容量文件进行访问。

缺点是由于实际并没有将宿主端文件存储到目标机存储设备上,因此掉电不保存共享文件内容。

通常在嵌入式开发调试阶段,采NFS 挂载方式进行。

Linux实验六_构建嵌入式开发环境

Linux实验六_构建嵌入式开发环境

三、预备知识
了解嵌入式程序的开发流程及 linux 的基本命令。
四、实验内容及步骤
1.开发环境配置
(1)配置网络,包括配置IP 地址、NFS 服务、防火墙。网络配置主要是要安装好以太网卡, 对于一般常见的RTL8139 网卡, REDHAT9.0 可以自动识别并自动安装好, 完全不要用户参与, 因此建议使用该网卡。 然后配置宿主机IP 为192.168.0.121。 如果是在有多台计算机使用的 局域网环境使用此开发设备,IP 地址可以根据具体情况设置。如图6.1所示:
图6.4 安全级别设置
在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables 服务的勾去掉,并 确保nfs 选项选中。 (2)配置NFS: 点击主菜单运行系统设置->服务器设置->NFS 服务器(英文为:SETUP->SYSTEM SERVICE->NFS) ,点击增加出现如下在界面,在目录(Drictory):中填入需要共享的路径, 在主机(Hosts):中填入允许进行连接的主机IP 地址。并选择允许客户对共享目录的操作 为只读(Read-only)或读写(Read/write)。如图6.5 所示:
此时系统提示“确认取消” ,点“是”即可,接着点提示窗口的“确定” ,进入下一步。 (2)超级终端会要求你为新的连接取一个名字如”ttyS0”,如图 6.11 所示,Windows 系统会 禁止你取类似”COM1”这样的名字,因为这个名字被系统占用了。
图6.11
当你命名完以后,又会跳出一个对话框,你需要选择连接实验箱的串口,这里选择 COM1, 如图 6.12 所示:
2. 配置超级终端
(1)超级终端程序通常位于"开始->程序->附件->通讯"中,选择运行该程序,一般会跳出如 图 6.9 所示窗口,询问你是否要将 Hypertrm 作为默认的 telnet 程序,此时你不需要,因此点 “否”按钮。

嵌入式开发环境搭建实验报告

嵌入式开发环境搭建实验报告

嵌入式开发环境搭建实验报告实验报告:嵌入式开发环境搭建实验目的:本实验旨在通过搭建嵌入式开发环境,使学生对嵌入式系统的开发流程和环境有更深入的了解,并能够进行简单的嵌入式开发实践。

实验材料:1. 一台支持嵌入式开发的电脑2. 开发板(如Arduino、Raspberry Pi等)3. USB数据线4. 开发软件(如Arduino IDE、Raspbian等)5. 软件安装包(如果需要单独安装)实验步骤:1. 准备开发环境软件:根据使用的开发板选择相应的开发软件,并从官方网站下载安装包。

将安装包保存到电脑上指定的路径。

2. 安装开发软件:运行安装包,按照安装向导的提示进行软件的安装。

完成安装后,打开软件,检查是否安装成功。

3. 连接开发板:使用USB数据线将开发板连接到电脑上,并确保连接良好。

4. 配置开发环境:打开开发软件,进入设置或配置界面。

根据使用的开发板,选择正确的开发板型号,并设置串行端口。

保存设置。

5. 编写并调试代码:使用开发软件创建一个新的代码文件或打开一个现有的示例代码文件。

编写嵌入式程序代码,并进行调试与测试。

根据需要,可以使用调试器、仿真器等进行代码调试。

6. 上传程序到开发板:完成代码编写和调试后,将程序通过USB数据线上传(烧录)到开发板上。

等待上传过程完成。

7. 运行程序:断开USB数据线,将开发板与目标设备(如传感器、电机等)连接。

开启目标设备的电源,观察目标设备的动作与反应。

8. 实验结果分析:根据实验结果,对比设计预期和实际观测,分析代码的执行情况,查找问题并提出解决方案。

实验总结:通过本实验,我们成功搭建了嵌入式开发环境,并进行了基本的嵌入式开发实践。

通过编写代码、调试和运行程序,我们能够控制目标设备进行特定的操作。

在实验过程中,我们对嵌入式系统的开发流程和环境有了更深入的了解,并具备了一定的嵌入式开发能力。

需要注意的是,在实际的嵌入式开发中,可能还需要考虑更多的因素,如硬件接口、通讯协议、资源管理等。

第5章 嵌入式Linux开发环境的搭建

第5章  嵌入式Linux开发环境的搭建

Ranlib
Readelf Size Strings
产生归档文件索引,并将其保存到这个归档文件中。
显示elf格式可执行文件信息 列出目标文件每一段的大小以及总体的大小 打印某个文件的可打印字符串。
Strip
丢弃目标文件中的全部或者特定符号,减小文件体积
表5.2 binutils工具包
5.1.1嵌入式Linux交叉编译工具链
5.1.3 下载映像到开发板
重启xinetd服务,使刚才的更改生效
[root@localhost root]# service xinetd restart 停止 xinetd: [ 确定 ] 启动 xinetd: [ 确定 ]
(或者使用/etc/init.d/xinetd restart,而且因发行版的不同具体路径会有所不同)
数。
文件系统:包括根文件系统和建立于Flash内存设备之上文件系
统。通常用ramdisk来作为rootfs。
用户应用程序:特定于用户的应用程序。有时在用户应用程序
和内核层之间可能还会包括一个嵌入式图形用户界面。
5.1 嵌入式开发环境的搭建
嵌入式Linux
系统开发流程
嵌入式Linux系统的软件平台结构图 Linux
嵌入式Linux系统开发流程
5.1.1嵌入式交叉编译环境的搭建
交叉编译器 编辑器 交叉调试器 交叉链接器
嵌入式 应用系统
目标系统
宿主机和交叉开发环境
iMac
下载/仿真/调试器
5.1.1嵌入式交叉编译环境的搭建
搭建交叉编译环境是嵌入式开发的第一步,也是
必备一步。 搭建交叉编译环境的方法很多,不同的体系结构、 不同的操作内容甚至是不同版本的内核,都会用 到不同的交叉编译器。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式linux开发环境的建立
一、创建文件:vi hello.c如下:
二、安装交叉编译器:
arm-linux-gcc-3.4.6-glibc-2.3.6.tar 步骤1、把交叉编译链考贝到任意目录下,并解压:tar zxvf
arm-linux-gcc-3.4.6-glibc-2.3.6.tar –C /
2、把以上路径添加到/etc/profile文件的最后:export
PATH=$PATH:/gcc-3.4.6-glibc-2.3.6/arm-linux/bin
3、输入命令使环境变量立即生效:source /tec/profile
4、测试是否安装成功:arm-linux-gcc–v 如果显示版本号,则安装成功。

5、编译C文件:arm-linux-gcc hello.c–o hello
三、配置tftp服务步骤
1、检查系统有无安装包:用命令:rpm –aq | grep tftp,如有安装包的版本号,说明系统已有相应的安装包;
2、配置服务器,打开文件:vi /etc/xinetd.d/tftp,显示如下桌面service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = yes
}
然后编辑将disable改为no,其他不变
3、重启xinetd服务:service xinetd restart,
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]
4、输入如下命令:netstat –a | grep tftp,如果出现如下画面
“udp 0 0 *:tftp *:*”则说明tftp服务已经正常运行(输入命令chkconfig --list也能在列表中看到tftp启动字样)。

接下来建立默认的tftp根目录,要跟上面的server_args的路径一样,这里是/tftpboot:
[root@localhost /]# mkdir tftpboot
[root@localhost /]# /etc/rc.d/init.d/xinetd restart(或service xinetd restart)
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]
[root@localhost /]#
5、把hello拷贝到/tftpboot下
6、用以下命令tftp –r hello –g 192.168.1.12下载IP为192.168.1.12的虚拟机的/tftpboot/目录下的hello文件到实验箱当前目录。

7、在开发板上运行./hello
四、配置NFS
步骤:1、检查有无安装包:rpm –qa | grep nfs_utils,如显示版本号,说明系统已下载了安装包。

2、nfs配置:打开文件vi /etc/exports并在文件中添加/home 192.168.1.*(rw,sync,no_root_squash)
其中/home允许其他计算机访问的目录,192.168.1.*被允许访问该目录的客户端IP地址,rw表示可读可写,sync同步写磁盘(async,表示资料会先暂存于内存当中而非直接写入硬盘),no_root_squash 表示客户端root用户对该目录具备写权限。

3、启动nfs:/etc/init.d/nfs start(重启/etc/initd/nfs restart)或者service nfs start(重启service nfs restart)
4、把hello拷贝到/arm2410cl下
5、挂载:mount –o
nolock,rsize=4096,wsize=4096 192.168.1.12:/arm2410cl /mnt/nfs 如果挂载不上,先在宿主机端执行route del default
6、在开发板上运行:./hello
五、配置smba服务
1、检查有无安装包:rpm –qa | grep samba,如显示版本号,说明系统已下载了安装包。

2、配置(匿名)
Vi /etc/samba/smb.cof
[global]
Security = share(不需密码)
Passdb bachend = tdbsam
[share]
comment = aa备注(可以任何字符)
writable = yes
browseable = yes
available = yes
path = /home/share
public = yes
3、chmod 777 share
4、重启service smb start(使设置生效)
5、关闭防火墙:vi /etc/selinux/config
SELINUY = disabled(重启,使之生效)
6、重启linux系统。

7、设置虚拟机与PC机的IP地址为同一网段。

并ping通。

在PC机端运行\\192.168.1.12进行共享。

8、(非匿名)
Vi /etc/samba/smb.cof
[global]
Security = users
Passdb bachend = tdbsam
[share]
comment = aa备注(可以任何字符) writable = yes
browseable = yes
available = yes
path = /home/share
valid = users = 用户名
3、添加samba密码
Smbpasswd –a 用户名
3、chmod 777 share
4、重启service smb start(使设置生效)
5、关闭防火墙:vi /etc/selinux/config
SELINUY = disabled(重启,使之生效)
6、重启linux系统。

7、设置虚拟机与PC机的IP地址为同一网段。

并ping通。

在PC机端运行\\192.168.1.12并输入用户名及密码进行共享。

相关文档
最新文档