1 / 20
文档名称:

【精品】linux实验报告.doc

格式:doc   大小:709KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【精品】linux实验报告.doc

上传人:小健 2021/7/25 文件大小:709 KB

下载得到文件列表

【精品】linux实验报告.doc

相关文档

文档介绍

文档介绍:实验十三:LED点阵驱动
一、 实验目的:
编写一个针对总线操作的硬件驱动程序。
二、 实验内容:
编写一个针对硬件LED点阵的驱动程序。
三、 实验原理及步骤
实验原理:
Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系 统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是 Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现 上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。
本实验中采用的8X8点阵数码管发光原理:,8X8点阵共由64个发光二极管组 成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电 平,某一行置0电平,则相应的二极管就亮。在本开发板上,整个LED显示模 块是作为一个I/O进行控制的。DATA [0.. 7], DATA [8.. 15]分别对应系统数据线 的低16位,LED_L0CK信号是由系统总线的写信号和地址信号经简单的逻辑组合 而得。
在本实验中,ssize_t SIMPLE LED write ()这个函数很关键,在这个函数中 定义了两个数组来控制LED阵列的行和列。通过前几个实验的操作,我对驱动程 序的编写又有了更进一步的认识。在本实验中,我将没有完成的程序补充完全, 实验步骤如下。
实验步骤:
1硬件连接:连接宿主PC机和一台PXA270-EP g标板。
2在宿主机上编写编译驱动程序:需要在宿主PC机端编辑三个文件,分别是驱 动程序、编译驱动程序时用的Makefile、测试程序。
3在终端输入vi pxa270_led_ary_drv. c后开始编辑驱动程序,添加的代码部 分截图及说明如下:
(1)补充showversion ()函数用于显示版本号;补充read()函数,对字符 型设备进行读操作。
(2)补充ioctl()函数,可实现读写之外的控制;补充open()函数,打开 设备时调用。
⑦ 072355zuojun.
r 7赠回吐取出
a
补充open()函数, 备时调用
补充ioctl()函数,可实现读 写之外的控制
return 0;-INSERT ——
94,11-18
41%
File Edit View Terminal Go Help
// IOCTL
ssize_t SIMPLE_LED_ioctl (struct inode * inode ,struct file * file, unsi cmd, long data)
#ifdef OURS_LED_DEBUG
printk ("SIMPLE_LED_ioctl [ ―kernel—]\n");
#endif
return 0;
// OPEN
ssize_t SIMPLE_LED_open (struct inode * inode .struct file * file)
#ifdef OURS_LED_DEBUG
printk ("SIMPLE_LED_open [ --kernel--]\n");
#endif
M0D_INC_USE_C0UNT;
(3)补充file_operations ()函数,指出设备驱动程序所提供的入口点位置,
(4)补充编写模块程序时必须提供的两个函数,一个是int init-module (void), 供insmod在加载此模块的时候自动调用,负责进行设备驱动程序初始化工 , void cleanup_module(void),在模块被卸载时调用,负责进行设备驱动程序的清 除工作•
补充 intinit-module(void),供insmod在加载此模块的时候自
static int _init pxa270_LED_CTL_init(void) {
int ret = -ENODEV;
#ifdef OURS_LED_DEBUG 、 动调用
printk ( "pxa27O_LED_CTL_init [ —kernel—]\n") ;
#endif
ret = HW_LED_CTL_init(); if (ret)
return ret;
return 0;
static void _exit cleanup_LED_ctl(void)
#ifdef OURS_LED_DEBUG
printk (*'cleanup_LED_c11 [ ―kernel—]\n") #endif
outw(0x0000,ioremap_addr);
devfs-unr^

最近更新

2024年五年级周记(通用) 16页

八分音符市公开课获奖教案省名师优质课赛课一.. 5页

健康区域活动市公开课获奖教案省名师优质课赛.. 5页

2024年二手越野汽车转让协议书 10页

体育活动市公开课获奖教案省名师优质课赛课一.. 5页

2024年二年级上学期生命安全教育教案 8页

人教版七年级作文市公开课获奖教案省名师优质.. 4页

京华合木市公开课获奖教案省名师优质课赛课一.. 5页

五年级上册的数学市公开课获奖教案省名师优质.. 6页

二年级我能行的市公开课获奖教案省名师优质课.. 8页

书写习惯市公开课获奖教案省名师优质课赛课一.. 5页

乌鸦喝水市公开课获奖教案省名师优质课赛课一.. 4页

不说谎幼儿市公开课获奖教案省名师优质课赛课.. 4页

三段六步市公开课获奖教案省名师优质课赛课一.. 4页

三年级下册六单元市公开课获奖教案省名师优质.. 4页

一年级钟表市公开课获奖教案省名师优质课赛课.. 6页

一年级上册人教版美术市公开课获奖教案省名师.. 6页

《蓝色的树叶》市公开课获奖教案省名师优质课.. 5页

《有的人》市公开课获奖教案省名师优质课赛课.. 5页

《天窗》市公开课获奖教案省名师优质课赛课一.. 5页

妊娠合并精神病护理ppt 24页

数字乡村试点方案 3页

消防工程监理评估报告范本 4页

地下车库开荒保洁服务委托合同 3页

WS T 496-2017《临床实验室质量指标》 7页

重庆大学2020年春季学期课程作业高等数学(II.. 63页

讲道大纲 9页

讲章书念的妇人 16页

心思的战场-乔依丝迈尔 50页

沁园春·长沙 2页