重庆理工大学嵌入式操作系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆理工大学
嵌入式体系结构综合实验报告
二级学院计算机科学与工程
专业计算机科学与技术
班级
学生姓名学号
教师张光建
时间2013年12月20日
成绩
实验3 LED跑马灯实验
3.1 实验目的
1、掌握通过文件系统操作 I/O 设备的方法;
2、学会使用 S3C2410 的 GPIO 设备实现简单的功能。
3.2 实验设备
1、装有 Linux 系统或装有 Linux 虚拟机的 PC 机一台;
2、 ARM9+Score7 双核实验箱一台;
3、 S3C2410 CPU 核心板一个;
4、本实验用到的实验箱模块有:S3C2410 CPU 板模块,LED 模块和 4×4 键盘模块。
3.3 实验内容
使用 1×4 键盘控制 LED 显示,LED8~LED5 四个 LED 灯分别对应 KEY1~KEY4,显示对应按键的状态。如 KEY1按下则点亮 LED8,KEY1 抬起则熄灭 LED8。
参数值
(1)设备文件名
实验过程中,按键使用GPF的0~3,LED使用GPF的4~7,GPF设备在Linux下的设备名称为:/dev/s3c2410_gpio。因此,open()函数的文件名为:/dev/s3c2410_gpio。
(2)设备/dev/s3c2410_gpio支持的ioctl命令
GPIO设备/dev/s3c2410_gpio支持的ioctl命令如表S1-3所示:
表S3-3 GPF 设备支持的ioctl 命令对照表
控制命令参数意义
GPF 无设置GPF口
GPG 无设置GPG口
GPIO_IN GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚配置为输入
GPIO_OUT GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚配置为输出
GPIO_SET GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚置为1
GPIO_CLR GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚置为0
GPIO_UP_ON GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚配置为上拉使能GPIO_UP_OFF GPIO_PIN_BIT(startbit,endbit) 将从startbit到endbit的IO口引脚配置为上拉无效
3.4实验步骤
#include
#include
#include
#include
#include"gpio.h"
int main()
{
int fd;
unsigned short dat=0;
fd=open("/dev/s3c2410_gpio",O_PDWR);
if(fd<0)
{
printf("can not open the file\n");
}
ioctl(fd,GPF|GPIO_OUT,GPIO_PIN_BIT(0,7));
dat=1;
while(1)
{
write(fd,&dat,sizeof(dat));
dat<<=1;
if(dat==0x08)
dat=1;
sleep(1);
}
close(fd);
return 0;
}
3.5实验结果
实验总结
通过本次LED跑马灯实验,掌握了通过文件系统操作I/O设备的方法,也明白了程序员编写的程序是如何在实验设备中运行及表现出来的。感觉很有意思!
实验5 TCP通信实验
5.1 实验目的
1、掌握 TCP 网络的基本原理;
2、掌握使用 Socket 进行 TCP 网络开发的基本方法。
5.2 实验设备
1、装有 Linux 系统或装有 Linux 虚拟机的 PC 机一台;
2、 ARM9+Score7 双核实验箱一台;
3、 S3C2410 CPU 核心板一个;
4、本实验用到的实验箱模块有:S3C2410 CPU 板模块,以太网模块。
5.3 实验内容
编写程序在实验箱上实现一个 TCP 服务器,实现接收网络数据并将收到的网络数据发送给客户端的功能。
表S5-1 TCP/IP 分层模型
层次包含协议
应用层(Application)HTTP、Telnet、FTP、SMTP、SNMP
传输层(Transport)TCP、UDP
网络层(Internet)IP(ARP、RARR、ICMP)
网络接口层(Network)Ethernet、X.25、SLIP、PPP
5.4实验步骤
static unsigned short port = 10000;
int main(int argc, char *argv[])
{
char *recvBuffer = (char *)malloc(4002); //非配数据接收内存
int recvLen;
int listenfd, connfd;
struct sockaddr_in serverAddr, clientAddr;