嵌入式系统uClinux试验报告

上传人:jkl****17 文档编号:178905718 上传时间:2022-12-30 格式:DOC 页数:8 大小:198.50KB
返回 下载 相关 举报
嵌入式系统uClinux试验报告_第1页
第1页 / 共8页
嵌入式系统uClinux试验报告_第2页
第2页 / 共8页
嵌入式系统uClinux试验报告_第3页
第3页 / 共8页
点击查看更多>>
资源描述
本 科 实 验 报 告实验名称: Clinux 操作系统定制、移植和加载实验 一、 实验目的和要求l 掌握内核交叉编译环境的建立和使用;l 掌握Clinux内核的配置和裁剪;l 了解Clinux的启动过程。二、 实验内容和原理认真阅读实验原理,基于 S3C44B0X 开发板实现以下内容: 1、准备 Clinux 内核源代码包; 2、建立 Clinux 交叉编译环境; 3、配置和编译 Clinux 内核和 romfs 根文件系统; 4、下载并运行 Clinux; 5、可以基于 Clinux 编写一个简单的应用程序,例如“Hello World” 。 在Clinux这个名字中,表示Micro,是“小”的意思,C表示Control,是“控制”的意思,所以Clinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”。可以说,Clinux是最早的嵌入式Linux发行版本,它是为ARM7TDMI等大量不带MMU(内存管理单元)的处理器而设计的,进而发展了一套完整的开发平台,包括编译、调试等等工具。在Clinux的主页http:/www.uclinux.org上有相关发行版本的源代码、编译工具等下载。本实验系统使用的是Clinux内核的2.4.24版。三、实验项目Clinux 操作系统定制、移植和加载四、实验器材1、S3C44B0X 开发板、uLink 仿真器、以太网交叉电缆、串口交叉电缆; 2、PC 机及 Red Hat 9.0 操作系统(采用 VMware 虚拟机构建) 、GNU GCC for ARM 工具链、TFTP Server 下载软件。五、操作方法与实验步骤l 1、准备 Clinux 内核源代码包;l 2、建立 Clinux 交叉编译环境;l 3、配置和编译 Clinux 内核和 romfs 根文件系统;l 4、下载并运行 Clinux;六、实验结果与分析Figure 1 uclinux系统运行结果七、问题与建议经过本次实验,我对Clinux系统有了初步的理解,宏观上了解了uclinux的定制移植以及下载运行的过程,通过编写小的应用程序,深刻体会到了基于操作系统平台的应用开发的魅力,能够基于模块设计,较多的屏蔽硬件层,利用系统提供的抽象接口实现硬件交互;同时任务管理调度的高效,以高级语言编写,增强了代码的可移植性,可以利用大量现有的资源,大大减轻了开发的难度。但目前我还只用到了uclinux中相当少的一部分功能,还不足以完全体现uclinux在嵌入式开发中的意义,今后有机会将仔细学习uclinux系统,基于此开发更为复杂的应用。八、设计思路、电路图、流程图及源程序(一)实验流程1、建立编译链安装arm-elf-tools-20040427.sh,建立交叉编译环境。2、Clinux内核的配置和编译执行make menuconfig命令,进入内核配置界面,选择需要的组件,之后执行编译命令,得到下载所需的镜像文件:uclinux_ram.bin、uclinux_rom.bin和romfs.img。Figure 2 uclinux内核配置界面3、下载 Clinux由于镜像文件的下载是通过网络进行的,首先建立tftp服务器,然后启动UBoot,以串口作为连接方式,通过超级终端发送命令。下面是uclinux_rom.bin文件下载的截图:Figure 3 uclinux_rom.bin文件的下载首先通过tftp将文件下载到内存特定位置,然后擦除E2PROM,最后再将文件从内存写入到E2PROM,同理可完成文件系统的下载。4、应用程序编写本次试验开发了一个HelloWorld的应用程序,以ANSIC_C语言编写,然后利用交叉编译工具生成目标代码,之后放入到文件系统中,再次重新生成镜像文件并下载到试验箱中。5、运行调试在镜像文件下载成功之后,重新启动试验箱,开始加载Clinux系统,同时可以看到在/bin目录下有HelloWorld应用程序,运行可以得到正确的结果。Figure 4 HelloWorld运行结果(二)关键源程序1、Hello.c# include # include int main(void) printf(“Hello the world!n”); return 0; 2、HelloWorld的Makefile文件CC = arm-elf-gcc EXEC = hello OBJS = hello.o CFLAGS+= LDFLAGS+=-Wall -elf2flt -O2 all:$(EXEC) $(EXEC): $(OBJS) $(CC) $(LDFLAGS) -o $ $(OBJS) clean: -rm -f $(EXEC) *.elf *.gdb *.o8
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!