- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这段时间都在忙驱动了,几个有代表性的简单的外围接口,写写,让我知道什么是所谓的驱动!
完全原创,若有转载,请标记出处,若有什么疑问,请联系我三峡大学
感谢网上朋友的热心帮助,解决了几个硬件方面的疑问!
/************** mymem.c ************************************/
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include linux/config.h
#include linux/modversions.h
#include linux/module.h
#include linux/sched.h
#include linux/kernel.h
#include linux/init.h
static int __init abc_init(void)
{
printk(3yixiuge\n);
return 0;
}
static void __exit abc_exit(void)
{
printk(1byebye!\n);
}
module_init(abc_init);
module_exit(abc_exit);
MODULE_LICENSE(GPL);
arm-linux-gcc –DMODULE –D__KERNEL__ -I /usr/JX2410/linux/include –c mymem.c-o mymem.o
把生成的mymem.copy到/usr/nfs下面
nfs的配置:
vi /etc/exports
/usr/nfs 192.168.*.*(rw,sync)
Service nfs start
然后在超级终端输入mount :/usr/nfs /mnt/nfs
cd /mnt/nfs
insmod mymem.o
rmmod mymem
一个最简单的驱动编译运行过程就完成了!
Service vsftpd start 是ftp的启动命令
Vi /etc/profile 是修改编译器路径的命令
Vi /etc/inittab是修改启动模式的命令
Source file 是使修改了的文件生效的命令
把测试程序下载到板子上面去后,要用./test来测试.
74HC273是个集成的D锁存器,其中Q(n+1)=D,由时钟信号来控制翻转
74LVCH244是个数据锁存器,当nOE为0时,才把数据传输到另外一端
74LVCH245是个集成的数据方向传输器,当DIR为1时,数据传输方向为A-B,反之是B-A
JXARM9-2410-1LED的驱动程序/light.c
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include linux/ioport.h
#include linux/config.h
#include linux/module.h
#include linux/kernel.h
#include linux/init.h
#include linux/miscdevice.h
#include linux/sched.h
#include linux/delay.h
#include asm/hardware.h
#include config/arch/s3c2410.h
#include linux/spinlock.h
#include linux/poll.h
#define DEVICE_MAJOR 250
#define DEV_NAME light
static int light_open(struct inode *inode,struct file *filp);
static int light_release(struct inode *inode, struct file *filp);
//static ssize_t light_read(struct file *filp,char *buffer,size_t count,loff_t* ppos);
static int light_write(struct file *filp,const char *buffer ,size_t count,loff_t *ppos);
//static int light_ioctl(struct inode *inode,struct
文档评论(0)