前言
- 想要深入了解HDF框架的话,应该绕不开linux驱动程序的掌握。由于是在看了韦东山老师对openharmony做的移植后,觉得linux驱动的内功还是必须要有的,所以本文章对比linux应用在imx6ull中点亮LED灯。所以先修炼修炼内功。
本文框架图

- 本文的框架图是最近这段时间结合了对3516测试HDF框架,以及imx6ull上linux驱动程序的学习,所得出的,是基于目前社区中所用的比较多的几款板子和openharmony、linux对比所做的图,大佬们觉得这个图有任何问题,欢迎批评指出。
1.驱动程序
1.1 最简单的驱动程序逻辑

- 1.1 如上图所示,首先有个驱动程序入口函数和出口函数分别是module_init(led_init),module_exit(led_exit);
- 1.2 然后分别实现led_open和led_write这两个业务函数去填充file_operations结构体。
- 1.3 最后把file_operations结构体放入register_chrdev函数进行注册,然后放入入口函数中。
- 1.4 因为驱动程序的字符设备需要绑定IO设备去使用,所以在入口函数中调用class_create和device_create。
1.2 完成的实现代码如下:
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <