嵌入式学习小组
直播中

李春梅

7年用户 1765经验值
私信 关注

如何利用Linux逻辑文件系统去设计一种九九乘法表呢

Linux下的逻辑文件系统有何功能?
如何利用Linux逻辑文件系统去设计一种九九乘法表呢?

回帖(1)

王帅

2021-12-23 10:20:41
1、乘法表问题描述及分析Linux内核在启动过程中会安装文件系统,文件系统为linux 操作系统不可或缺的重要组成分。用户通常是通过文件系统同操作系统与硬件设备进行交互,在linux系统中硬件也作为文件系统的一部分。我们通常所说的文件系统分为两个含义, 一个含义是磁盘和磁盘机制的文件系统即物理文件系统,另一个含义是用户看得见并能操作的逻辑文件系统。本次实验希望大家能对Linux下的逻辑文件系统有一个认识,并对嵌入式系统中的逻辑文件系统有一个初。
2、步的了解。九九乘法表是一个很简单的for循环结构程序,通过for循环以及空字符的编译生成我们所熟知样式的乘法表。、课程设计内容1、系统结构与软件设计流程2、任务分工谷华伟:程序的烧写;从乐乐:镜像文件的生成;袁昕昕:根系统文件的生成及文档制作。3、软件操作说明(1)将生成的内核和文件系统的镜像文件烧写到pxa270开发板上,烧写完成后将开发板复位,输入Is将看到根文件系统里的所有目录:(2)烧写程序结果如下:曰iJScvwcLHT*?!FHfciDwjao-1 s p Q fl - s* 曾 IffI iriiil-CONLlT=fa i-J: 1.0: 4 pocix dvtactatJTH。
3、riM 曲】创a FtiLAdIZCi SDCCKrfUllT idOsd bu1K= r帆 iLtftTi+hjh 湎M 山訥?diT.cbdac; MM Zw ndc, id; SI FhaLi QCBL4U) UCBIiaO: luijA FL別ntbL4_LirQdH)讪勺】hnmd ftrai :UCBIiDD THUcJwccflWL CarrtTolitc Piiir.HIT: RfVfS= Hcuntdd TDtlfLluYrtnil raadnnLy.Fcvrini uilT vurj*: 9EI73frK韓叮- (WilhjiH-irCiwWE=y1 匸baJp foE A。
4、 lajh nf bublt-i Hnuidi./MaViChi Eini KK酣 rty: jrt carrt工oL tumd off / IfM hlD/ P .I 二 Ihfw libproc ibin arT-32-34 勺衬31 升 7対 E3=!nw 0 开 nJ同 aj 7|*maei I 更I J 钿IIJBlIPgl电 tf呻itwR J. I JI MlLinux内核在启动过程中会安装文件系统,文件系统为linux 操作系统不可或缺的重要组成部分。用户通常是通过文件系统同操作系统与硬件设备进行交互,在linux 系统中硬件也作为文件系统的一部分。通常所说的文件系统分为两个含。
5、义,一个含义是磁盘和磁盘机制的文件系统即物理文件系统,另一个含义是用户看得见并能操作的逻辑文件系统。硬件:ARM嵌入式开发板、JTAG仿真器、PC机Pentumn500以上,硬盘10G以上。软件:PC机操作系统redhat linux 9.0+ ARMlinux开发环境,PC机操作系统 REDHAT LINUX 9.0 + MINICO M+ AMRLINU)开发环境。4、主要实现方法1、Linux内核配置和编译。首先修改内核目录下的makefile 文件,然后对内核进行配置,最后将配置好的内核生成zImage文件。2、根文件系统的实现。制作开发板根文件系统时,首先应选择或建立一个空的文件夹。。
6、将该文件夹设置在 home目录中。开发板根文件系统将在该文件夹下制作,并且,当开发板根文件系统制作好并下载烧写到开发板上后,该文件下的内容就是我们启动开发板后看到的内容:(1)建立目录 bin、dev、etc、lib、proc、***in、usr、home mnt等;(2)移植命令文件。由于我们可以使用busybox来生成系统所需要的命令文件,所以这一步留待后面再做;(3)移植设备文件。进入Lin ux系统的dev设备文件目录,拷贝con sole、null、tty、tty0、tty1、tty2、ttyS0、ttyS1文件至我们建立的开发板根文件系统的dev目录中,命令如下:开发板根文件系统/d。
7、evcd /devcp - a con sole n ull tty tty0 tty1 tty2 ttyS0 ttyS1(4)移植库文件。由于Linux系统lib目录中的库文件是支持x86构架的,而不是开发板上的arm构架,因此不能直接从中拷贝库文件,因此我们需要从交叉编译器的lib目录中拷,因此移贝文件。在我们这门课程中,我们统一将交叉编译器安装至/up-tech pxa270/arm-l inu x-tools/gcc-3.4.6-glibc-2.3.6/arm-l inu x/arm-l inux植库文件的过程为:cd /u p-tech pxa270/arm-li nux-tools。
8、/gcc-346-glibc-2.3.6/arm-li nu x/libcp - libc.so.6 ld-linux.so.2(5)移植配置文件。配置文件也可以由busybox生成,因此这一步我们也留待后面再做。然后在Vi编译器中编写一个C程序,并将其在交叉编译器下生成一个可以在开发板的交叉编译环境下运行的可执行文件,最后生成JFFS2文件系统。具体如下:./mkfs.jffs2 -r root -o rootfs.img -e 0x20000 -p ad=0xd000003、内核和根文件系统的烧写。首先配置服务器的IP地址,然后将内核镜像文件下载并烧写到pxa270开发板上,之后将根文件系。
9、统的镜像烧录到 pxa270开 发板上,最后将开发板复位,并在其上面运行编译好的C语言程序。具体操作如下:(1)配置tftp 服务打开PC机的tftp 服务,关闭防火墙;为您的tftpIP。在 blob 下使用 ifconfig server 192.168.0.43(192.168.0.43 服务器ip)配置服务器(2)按照以下命令烧写rootfs.img到 Ram:tdow nl oad ramdisk(3)按照以下命令烧写rootfs.img到 flash :Flash ramdisk(4)在 blob 下启动 Linux :boot三、课程设计总结通过本次实验,我们完成内核的移植以及内。
10、核的交叉编译,生成镜像文件写程序将其烧到开发板上,通过嵌入式实验机完成对程序的输出,同时在实验中我 们发现本身存在的问题,对于所学到的知识不能够融汇贯通, 往往在实验中出现 一些状况,但是正是由于这些错误才使得我们的思维能力和动手能力得到提高, 才使得我们对所学的知识理解得更加透彻。四、存在问题及改进措施1)在进行移植库文件的实验时,由于没有更改路径,导致以后在进行C语言编写运行中一直出现错误,后来通过更改路径,解决了这一个问题;2)在解压配置BusyBox时,运行make menu co nfig出现错误,认真思考后发现需要将正在运行的窗体最大化,才能显示正确结果;3)在生成JFFS2文件系统时,由于是直接复制教程上的内容,结果出现错误,原因是教程上建的根文件系统名称是root,而我们做实验建的根文件系统名称是rootfilesystem ,改正错误后,出现正确结果;4)由于网络的配置连接问题导致程序在往开发板烧的过程中一直不能出现结嵌入式系统概论课外实践报告安阳师范学院果,后来通过改变ip地址以及重新调整网络连接问题解决问题。五、源代码#in cludevstdio.h void mai n()int i,j;for(i=1;i=9;i+)fora=1;j=i;j+)%d*%d=%2d,i,j,i*j);n ”);pri ntf(pri ntf。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分