实验三 在嵌入式Linux上开发LED控制电路设备驱动程序20页PPT
- 格式:ppt
- 大小:990.50 KB
- 文档页数:10
20XX年复习资料大学复习资料专业:班级:科目老师:日期:linux远程led控制实验报告陈昊 20XXXX20XXXX0XX020XXXX81)实验目的网络接口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。
常用的以太网是RJ45接口。
通过本次实验,主要对Linux网络socket通讯的工作原理进行进一步了解,同时,进一步熟悉Linux网络编程。
此外,在了解网络通信的同时,掌握一系列网络通讯调试时基本的检测方法。
2)网络编程原理linux下进行网络编程的基础是TCP/IP协议族,虽然TCP/IP 名称只包含了两个协议,但实际上,TCP/IP 是一个庞大的协议族,它包括了各个层次上的众多协议(见图一):图1 TCP/IP协议族· ARP:用于获得同一物理网络中的硬件主机地址。
· MPLS:多协议标签协议,是很有发展前景的下一代网络协议。
· IP:负责在主机和网络之间寻址和路由数据包。
· ICMP:用于发送报告有关数据包的传送错误的协议。
· IGMP:被IP主机用来向本地多路广播路由器报告主机组成员的协议。
· TCP:为应用程序提供可靠的通信连接。
适合于一次传输大批数据的情况。
并适用于要求得到响应的应用程序。
· UDP:提供了无连接通信,且不对传送包进行可靠的保证。
适合于一次传输少量数据,可靠性则由应用层来负责。
其中最重要的是TCP协议和UDP协议:1.TCP同其他任何协议栈一样,TCP向相邻的高层提供服务。
因为TCP的上一层就是应用层,因此,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。
应用程序通过编程调用TCP并使用TCP服务,提供需要准备发送的数据,用来区分接收数据应用的目的地址和端口号。
通常应用程序通过打开一个socket来使用TCP服务,TCP管理到其他socket的数据传递。
可以说,通过IP的源/目的可以惟一地区分网络中两个设备的关联,通过sock et的源/目的可以惟一地区分网络中两个应用程序的关联。
《嵌入式Linux下LED报警灯驱动设计及编程》实验报告学生姓名:学号:专业班级:指导教师:完成时间:实验5 嵌入式Linux下LED报警灯驱动设计及编程一.实验目的理解驱动本质,掌握嵌入式Linux系统下驱动开发相关知识,包括端口寄存器访问、接口函数编写、和文件系统挂接、注册及相关应用编程等知识点。
二.实验内容实验嵌入式Linux下LED报警灯驱动设计及跑马灯应用编程实验添加看门狗功能的跑马灯应用编程三.预备知识Linux使用、驱动相关知识等四.实验设备及工具(包括软件调试工具)硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、串口线。
软件: WinXP或UBUNTU开发环境。
五.实验步骤前期准备(1)看懂相关硬件电路图【见S3C6410实验箱电路图-底板.pdf】,以LED报警灯为例进行设计打开PDF硬件电路图,明确LED灯用到的多个GPIO及其控制器本实验电路 LED1-------GPM0LED2-------GPM1LED3-------GPM2LED4-------GPM3LED5-------GPM4LED6-------GPM5LED7-------GPQ0LED8-------GPQ1得出结论:8个LED灯使用到的硬件控制器分别为GPM和GPQ两个硬件控制器(2)在芯片手册中找到相应的硬件控制器部分,重心是看懂端口寄存器本实验要求完成LED流水灯设计,所以需要设置控制器中端口寄存器:G PMCON----设置相应位为输出口G PMDAT-----控制相应位输出高电平-----点亮LED灯输出低电平-----熄灭LED灯(3) linux内核中相关寄存器读写函数读寄存器函数readl(寄存器虚地址);写寄存器函数writel(值(无符号整型), 寄存器虚地址);具体端口寄存器地址宏定义在/opt/FriendlyARM/文件夹下的文件中,如端口M寄存器在文件中有定义:#define S3C64XX_GPMCON (S3C64XX_GPM_BASE + 0x00)#define S3C64XX_GPMDAT (S3C64XX_GPM_BASE + 0x04)LED报警灯驱动设计(1)头文件包含和相关宏定义#include <linux/>#include <linux/>.release=___s3c6410_led_release______,.unlocked_ioctl=___s3c6410_led_ioctl____,};(3)添加模块标记代码static int __init led_dev_init(void){int ret;编写(1)编写如下:all:make –clean:rm -rf *.ko *.o(3) 编译使用命令编译:_____#make_____________________________编译完成后生成驱动文件。