嵌入式方案定制rk3288开发板厂家友坚科技服务于国内外平板电脑品牌商,并为行业客户提供一站式的解决方案;在为客户打造zui具竞争力优势的产品的同时,也实现了自身的价值。
跑分王、游戏王、超清王,rk3288集多种优势于一身,是全球首款arm全新架构内核芯片,还是全球第yi个zui新mali-t76x系列gpu的芯片,以及全球第yi个4kx2k 硬解h.265视频的芯片。
字符驱动步骤
(1)、定义cdev结构、主次设备号和设备类
struct cdev led_cdev; /* 分配cdv ,字符设备用cdev结构来描述*/
static unsigned int major; /* 定义主设备号*/
static struct class *led_char; /* 设备类,用于生产设备节点*/
(2)、申请设备号
dev_t dev_id;
if(major) /* 申请设备号*/
{
dev_id = mkdev(major, 0); /* 将主设备号和次设备号转换成dev_t类型*/
register_chrdev_region(dev_id, 1, led_char); /* 静态分配*/
}
else
{
alloc_chrdev_region(&dev_id, 0, 1, led_char); /* 动态分配*/
major = major(dev_id); /* 提取主设备号;minor(dev_id) 提取次设备号*/
}
注意:一般是先静态申请,如果静态申请失败,再使用动态进行申请
(3)、初始化和注册cdev
cdev_init(&led_cdev, &led_fops); /* 初始化cdev*/ &led_fops是file_operation led_fops
cdev_add(&led_cdev, dev_id, 1); /* 注册cdev*/
(4)、创建设备类和创建设备节点
led_char = class_create(this_module, led_char); /* 创建设备类*/
device_create(led_char, null, dev_id, null, led_node); /* 创建设备节点*/
注意:生成的设备的节点在/dev/led_node 或 fine -name led_node 查找
(5)、file_operations结构
static struct file_operations led_fops = {
.owner = this_module,
.open = led_open,
.read = led_read,
.write = led_write,
.unlocked_ioctl = led_ioctl,
.llseek = led_llseek,
.release = led_release
};
函数:
static int led_open(struct inode *inode, struct file *filp)
static ssize_t led_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
static ssize_t led_write(struct file *file, char __user *buf, size_t count, loff_t *ppos)
static int led_ioctl(struct file *filep,unsigned int cmd, unsigned long arg)
static loff_t led_llseek(struct file *filp, loff_t offset, int whence)
static int led_release(struct inode *inode, struct file *filp)
(6)、注销
device_destroy(led_char, mkdev(major, 0)); /* 删除设备节点*/
class_destroy(led_char); /* 删除设备类*/
cdev_del(&led_cdev); /* 删除cdev*/
unregister_chrdev_region(mkdev(major, 0), 1);
struct mem_dev_t{
struct cdev cdev;
unsigned char mem[max_size];
unsigned char value;
}zfr_dev;
上海嵌入式方案定制rk3288开发板为消费类电子、智能终端、mid、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,尤其适合广告机客户使用!供广大企业用户进行产品前期软硬件性能评估验证、设计参考用;也是高校、培训机构、嵌入式爱好者学习研究的zui佳工具。其丰富的接口、精湛的设计,主要供广大企业用户进行产品前期软硬件性能评估验证、设计参考用;也是高校、培训机构、嵌入式爱好者学习研究的zui佳工具。