linux 中LED的驱动
一、相关知识点(涉及接口、结构体、调用关系等) 一个软件系统可以分为以下四层:应 用程序、库、内核、驱动 ,借用韦老师一副图,如下图: 即:应用层开发的功能,各个接口会通过库、通过内核调用到底层驱动程序的对应接口,从而执行对应的功能。 1.1 裸机开发步骤与驱动开发过程对比 1.1.1 裸机开发步骤 裸机开发时,我们需要按照如下过程进行开发。 步骤: 1、看电路图,查清楚led在哪个管脚,对应哪个GPIO口 2、看芯片手册,查看需要配置的相关寄存器地址——(主要查看需要配置哪些寄存器可以将GPIO配置成输出模式,地址可以在map地址映射章节找到) 3、看芯片手册,查清楚怎么样能将GPIO配置成输出高电平或低电平。 4、编译代码,烧写到板卡中,重新上电 1.1.2 Linux系统下LED驱动开发步骤 备注:裸机开发与带操作系统的驱动开发对寄存器的操作不同,裸机开发直接操作寄存器地址即可,而带linux操作系统时,必须要进行地址映射(有相关接口可以直接使用),映射完成后,再进行操作即可。 步骤: 1、撰写基本字符驱动框架代码(字符驱动代码框架实现步骤详见第2节:基本驱动框架实现流程) 2、看电路图,查清楚led在哪个管脚,对应哪个GPIO口 3、看芯片手册,查看需要配置的相关寄存器地址——(主要查看需要配置哪些寄存器可以将GPIO配置成输出模式,地址可以在map地址映射章节找到) 4