UP-MOBNET-Ⅱ型实验箱LED驱动控制实验

本文详细介绍了在UP-MOBNET-Ⅱ型实验箱上进行LED驱动控制实验的过程,包括实验环境、硬件接口原理、驱动层和应用层程序的分析。实验涉及Linux系统下驱动编程,通过GPIO控制LED灯的亮灭,并通过ioctl接口实现用户空间与驱动程序的交互。在实验中,首先配置内核支持LED驱动,然后编译并加载驱动模块,最后编写并运行应用测试程序控制LED状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UP-MOBNET-Ⅱ型实验箱LED驱动控制实验

实验箱


名称 移动互联网教学科研平台Ⅱ型
型号 UP-MOBNET-Ⅱ
编号 03019024
批号 32017040520



实验内容


熟悉 Linux 系统下硬件驱动编程、编程实现对嵌入式设备上 LED 灯的控制




实验环境


硬件:UP-MobNet-II 型网关部分嵌入式实验平台、U盘 软件:Vmware Workstation 、linux虚拟机、Xshell + ARM-LINUX 交叉编译开发环境
交叉编译和实验平台系统的烧写这里不再赘述:

两个环境准备




实验原理


硬件接口原理

UP-MobNet-II 型网关部分平台上共有 5 个 LED 显示灯,位于 LCD 显示屏下方,分别为 D601、D602、D603、D604、D605,对应的 Exynos4412 处理器的引脚依次为 GPX3_2、GPX3_3、GPX1_2、GPD0_4、GPL0_3上。5 个 LED 显示灯分别共阳极 3.3V 电压,因此相应 GPIO 低电平点亮,高电平熄灭。



驱动层程序分析

Linux 系统下,应用程序不可直接操作底层硬件寄存器,必须经过驱动层来完成对硬件的操作。
驱动程序分析:/UP-CUP4412/SRC/exp/driver/02_leds/driver/s3c-leds.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/cdev.h>
#include <plat/gpio-cfg.h>
#include <asm/irq.h>
#include <mach/gpio.h>
MODULE_LICENSE("GPL");
#define DEVICE_NAME "leds" //驱动名称
#define DEVICE_MAJOR 231 //驱动主设备号
#define DEVICE_MINOR 0
struct cdev *mycdev;
struct class *myclass;
dev_t devno;
// LED GPIO 列表
static unsigned long led_table [] = {
          
          
 EXYNOS4_GPX3(2),
 EXYNOS4_GPX3(3),
 EXYNOS4_GPX1(2),
 EXYNOS4_GPL0(4),
 EXYNOS4_GPL0(3),
};
// LED GPIO 输出类型配置列表
static unsigned int led_cfg_table [] = {
          
          
 S3C_GPIO_OUTPUT,
 S3C_GPIO_OUTPUT,
 S3C_GPI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lazy_Goat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值