第一范文网 - 专业文章范例文档资料分享平台

linux操作系统在ARM平台上的移植毕业论文

来源:用户分享 时间:2025/6/1 0:21:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

在/root_01中 创建文件dev、/etc、/home、/home、/usr、/lib、/mnt、/var、/tmp、/proc、/opt

# mkdir dev etc home lib mnt var tmp proc sys opt

将库文件拷到/lib下,这里是在4.3.2的目录里的库,别的编译器库行丌行没试过。 # cd /home/wyx/usr/local/arm/4.3.2/arm-linux/lib

# cp *.so* /root_01/lib -d

注意这两装载器对应的库文件(ld.so和ld-linux.so)没有到主机里的lib找。

创建etc目录下文件 在root_01/etc目录下创建一个inittab文件 内容如下:

::sysinit:/etc/init.d/rcS ::respawn:-/bin/sh tty2::askfirst:-/bin/sh ::restart:/sbin/init ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r ::shutdown:/sbin/swapoff -a 创建etc/mdev.conf文件,内容为空。 同样的方法创建etc/init.d/rcS文件: #!/bin/sh (相当于windows下的批处理文件.bat) ifconfig eth0 192.168.2.122 mount -a mkdir /dev/pts

mount -t devpts devpts/dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug mdev -s

最后还要改变它的属性使它能够执行。

# chmod 777 etc/init.d/rcS (777表示所有用户有权限执行) 创建etc/fstab文件:

proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0 在/root_01/dev 建立节点文件: # mknod console c 5 1

# mknod null c 1 3

下载cramfs-1.1.tar.gz解压后在其顶层make得到mkcramfs 把mkcramfs 和root_01放在一起。

执行

# mkcramfs root_01 myroot01.cramfs 生成可以烧写的根文件myroot.cramfs 将myroot.cramfs改名为 root

# mv myroot.cramfs root

将root文件拷贝到tftpboot文件下以便烧写。

5.3本章小结

本章重点介绍了内核支持的yaffs文件格式,其实我们内核能够支持的文件系统有很多种,本论文研究选择yaffs文件格式进行编译烧写,待以后有时间再对其它的文件系统进行研究。

6测试

6.1简单测试方法的介绍

将编译好的可执行文件下载到目标板目前主要四种方式:

第一种:复制到介质(如优盘) 第二种:通过网络传送文件到开发板 第三种:通过串口传送文件到开发板 第四种:通过 NFS挂载(网络文件系统) 介绍部分测试方法: 一、使用优盘

先把编译好的可执行程序复制到优盘,再把优盘插到目标板上并挂载它,然后把优盘插入到开发板的 USB Host 接口,优盘会自动挂载到/udisk 目录,通过命令运行hello.c。

二、使用 ftp 传送文件

使用ftp 登录目标板,把编译好的程序上传;然后修改上传后目标板上的程序的可执行属性,并执行(put命令传送文件)。

三、通过网络文件系统NFS执行

Linux 中最常用的方法就是采用NFS来执行各种程序,这样可以不必花费很多时间下载程序,虽然在此下载hello程序用不了多久,应用程序如果越来越大,就会发现使用NFS运行的方便所在,所以不推荐使用。

6.2编写简单C程序测试移植的系统

在终端执行vim hello.c编写一个简单的C程序如下: # include int main(void) {

printf(\printf(\return 0 ; }

编写好之后保存退出hello.c,执行以下命令:

# arm-linux-gcc –o hello.c hello (生成可运行的二进制hello文件) # cp hello /udisk

将会生成一个可以在开发板运行的二进制文件hello,将hello拷贝到U盘以便测试。

6.3在开发板执行测试程序

将U盘插入开发板的USB接口,并在windows超级终端下面执行如下命令: # cd udisk # ./hello

此时可以在超级终端下看到如下测试信息:

图6-1测试结果

在windows终端下面可以看到hello.c在开发板上实现的内容,这说明内核移植成功,故在此基础之上可以进行关于嵌入式的应用开发,这促进嵌入式的发展。

7结论与展望

本课题研究了Linux系统移植理论、探索了嵌入式软件系统构建的方法、实践了软件系统构建的整个过程,最终以S3C6410为核心的硬件平台上,搭建了完整的嵌入式Linux软件开发平台。

主要完成了以下工作:下载、配置编译了交叉工具链,在主机上搭建了嵌入式Linux交叉开发环境;详细分析了BootLoader的启动过程,深入地研究了BootLoader从 NAND Flash启动的原理,在此基础上,对BootLoaderl.1.6进行了移植并实现了从 NAND Flash启动;综述了Linux3.3.3的新特性,移植、配置编译了3.3.3版Linux内核。

HelloWorld应用程序在目标板上的实现,验证了该嵌入式Linux软件平台已基本建立,并可用于二次开发。

在本文的研究成果上,可以直接进行应用程序开发,大大加快了嵌入式系统的开发过程。

通过本课题的研究,对嵌入式软件系统的整体结构和具体实现有了更深的理解,这对于嵌入式系统分析和制定系统实现方案等有很大的现实意义。很多嵌入式开发人员因对嵌入式软件系统没有整体上的认识,掌握的知识过于片面,所以在遇到问题时不能快速准确的找到问题的根源。作者虽已基本完成对嵌入式Linux系统的移植,达到了课题的预期目的,但由于时间等因素的限制,有些问题还有待进一步研究:

1)提高移植后Linux内核的稳定性,增强内核的实时性; 2)编译安装Qt/Embedded库和Qtopia; 3)开发嵌入式应用程序,如数据库,GPS导航;

4)发挥ARM处理器体积小,低功耗,高性能的优势,设计实现高端智能手持设备。

linux操作系统在ARM平台上的移植毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8snzm91an26j6mw9sjhs44p5c1cp2i00e0p_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top