3.
十三、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
在这次的实验中在进入General setup选项中,因为选择错误而导致结果出错,认真观察后,再次进行实验,结果就正确了,在实验中如果有不懂的要及时请教老师或则同学,避免发生更多的错误。
十四、思考题
1. 常见的文件系统有哪些?
答:常见的文件系统有JFFS2文件系统、YAFFS/YAFFS2文件系统、EXT2/EXT3文件系统、Ramdisk文件系统、Romfs文件系统、Cramfs文件系统、Ramfs\\Tmpfs文件系统、NFS文件系统
福建师范大学协和学院《嵌入式系统》实验报告
实验日期: 2017 年 5 月 23 日
学号: 124242014080 姓名: 谢志杰 实验台: D1 组员姓名: 谢志杰、洪剑锋
实验七 文件I/O编程
一、实验目的
1.掌握Linux下基本文件I/O编程
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1. 掌握基本I/O编程
通过综合实例,熟悉Linux下输入/输出的基本编程,掌握I/O基本操作如打开、读取、写入、定位和关闭所用到的函数open、read、write、lseek和close等,
(1)要求:编写文件读写程序,向一个文件information.txt写入“I am xxx , my number is xxxxxxxx”,写入成功后,并读出刚刚写入的数据,并显示出来。(输入自己的源代码,编译并运行,在终端中查看结果。
(2)要求:在终端中编译此代码,并执行,查看当前目录下是否生成文件information.txt,再查看该文件的内容。(截图)
四、实验结果(粘贴执行结果截图)
1. (1)程序:
#include
#include
char w_buf[]=\char r_buf[]; int main() {
int fd;
ssize_t size;
fd=open(\T,0666); if (fd<0) {
printf(\ return ; }
size = write(fd,w_buf,sizeof(w_buf)); if(size==-1) {
printf(\ }
lseek(fd,0,SEEK_SET);
read(fd,r_buf,sizeof(w_buf)); printf(\ close(fd); }
2、
十五、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
通过这次试验,熟悉Linux下输入/输出的基本编程,掌握I/O基本操作如打开、读取、写入、定位和关闭所用到的函数open、read、write、lseek和close等
十六、思考题
1. Linux系统下串口0对应的设备文件为? /dev/ttyS0
2. 设置串口的输入输出波特率为115200 bps cfsetispeed(&new_termios,B115200); cfsetospeed(&new_termios,B115200);
福建师范大学协和学院《嵌入式系统》实验报告
实验日期: 2017 年 6 月 6 日
学号: 124242014080 姓名: 谢志杰 实验台: D1 组员姓名: 谢志杰、洪剑锋
实验八 进程控制编程
一、实验目的
1.掌握Linux下进程控制编程
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1. 创建子进程
使用fork函数编程实现创建子进程,理解父子进程执行的流程,参考代码如下,输入源代码编译并运行,在终端中查看结果。
源代码功能:实现父进程创建一个子进程,返回后父子进程分别循环输出字符串“hello,this is a child process ! my ID=?”和“hello,this is a paraent process ! my ID=?”6次,每次输出后使用sleep(5)延时5s,然后再进入下一次循环。
#include
{ int p,i; while((p = fork()) == -1); //创建子进程直至成功 if(p == 0) //子进程 { for(i=0; i<6; i++) { printf(\ sleep(5); //延时5s } } else //父进程 { for(i=0;i<6;i++) { printf(\ sleep(5); //延时5s } } return 0; }
要求:在终端中编译此代码,并执行,查看当前程序执行结果。
2. 修改上题程序,使用exit()和wait()函数实现父子进程同步,其同步方式为父进程等待子
进程的同步,即子进程循环输出6次,然后父进程再循环输出6次。参考程序如下: #include
exit(0); } else //父进程 { wait(0);
for(i=0;i<6;i++) { printf(\ sleep(5); //延时5s }