- 3
- 0
- 约1.26万字
- 约 6页
- 2016-10-18 发布于贵州
- 举报
Linux核心制在嵌入式系统中应用的探讨
Linux核心定制在嵌入式系统中应用的探讨
随着硬件的发展,只靠汇编语言已经无法满足嵌入式系统的开发要求了;同时种类繁多的开发平台无论是硬件的还是软件的平台都让人难以挑选;但是可以看到的是一些专用的软件平台必将被历史淘汰;硬件上ARM在嵌入式系统一家独大的局面也必将被打破。INTER也即将发布手机用CPU,AMD已经推出移动和嵌入式设备用的三个系列CPU;所以源代码开放对各种硬件支持良好的LINUX是嵌入式系统开发的必选软件平台;但是由于LINUX是针对台式机笔记本的,所以在各式驱动和内存等的支持上的过多导致相对嵌入式系统来说过分庞大;所以在嵌入式系统的开发中,我们可以对LINUX内核的驱动模块和内存管理上进行删减和定制;(Android系统、虚拟操作系统VMware的最新版本等都是对LINUX内核的驱动和内存管理进行深层次定制修改的LINUX变种)本文主要讨论在LINUX内核中定制开发嵌入式系统的驱动;
对linux的devfs类型的驱动程序的编写可以从以下几大内容理解和入手:
通过分析驱动程序源代码可以发现驱动程序一般可分三部分:
核心数据结构;核心数据和资源的初始化,注册以及注消,释放;底层设备操作函数;
A.核心数据结构
struct file_operations fops 设备驱动程序接口
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *, int datasync);
int (*fasync) (int, struct file *, int);
int (*lock) (struct file *, int, struct file_lock *);
ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
};
block_device_operations 块设备驱动程序接口
{ int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);
int (*ioctl) (struct inode *, struct file *, unsigned,
您可能关注的文档
最近下载
- 监理人员的个人工作总结.docx VIP
- 顶管工作井(D=6500)计算书.docx VIP
- 科雷傲驱使用手册.pdf VIP
- 人教版一年级下册数学全册单元教材分析.doc
- 八篇2025年度民主生活会个人“五个方面”对照检查发言材料.docx VIP
- 专题17.阅读理解CD篇专练(新高考地区专用)-2022届新高考英语基础记忆及题型解题技巧(含答案解析).docx VIP
- 义煤集团宜阳义络煤业有限责任公司提升运输系统改造项目环境影响报告书.doc VIP
- 工程拆除安全责任保证书.docx VIP
- 亚洲象人工辅助育幼技术规范.docx VIP
- 2023年青岛远洋船员职业学院单招英语考试题库及答案解析.docx VIP
原创力文档

文档评论(0)