Linux驱动的GPIO中断编程主要有以下几个步骤:1、通过GPIO号获取软件中断号(中断编程不需要设置GPIO输入输出,当然申请GPIO,设置输入也没问题)intgpio_to_irq(unsignedintgpio)参数含义gpioGPIO引脚编号2、注册中断处理函数,设置中断触发方式(上升沿、下降沿等)intrequest_irq(unsignedintirq,irq_handler_thandler,unsignedlongflags,constchar*name,void*dev)参数含义irq软件中断号(通过gpio_to_irq获取)handler中断处理函数flags中断触发方
由于我买的是正点原子的IMX6ULL阿尔法开发板,但是我是看韦东山老师视频学习的驱动所以这里我烧录的方法是按照韦东山老师的课程来的这里给出烧写Linux系统用到的工具链接:https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ提取码:af6w下载解压后,可以看到烧写工具烧写Linux系统到SD卡中由于我这边使用韦东山老师的工具烧写到EMMC总是失败所以尝试烧写到SD卡中,成功!1、将IMX6ULL的启动方式通过拨码开关调到USB模式(按照板子上丝印的指示即可)2、将miniusb线插到USBOTG口上(正点原子IMX6ULL阿尔法左下角上面那个USB口)
1.硬件:使用正点原子的IMX6ULLLinux开发板开发板底板原理图版本:V2.1核心板原理图版本:V1.6LCD:MSP2402(ICILI9341)2.查找可用引脚开发板上引出的引脚是在JP6上,只看JP6会发现没有可用的SPI引脚,但是查看底板原理图中与核心板相连的位置会发现其实JP6上的UART2的TX/RX/CTS/RTS四个引脚正好可以复用为ECSPI3的MISO/MOSI/CLK/SS0四个引脚,SPILCD还需要三个IO口作为Reset/DC/背光的控制引脚,如下图所示(但是我是偷懒了,将背光引脚直接接的V3.3)3.添加支持SPILCD的设备树节点(不废话,直接上干货)
1 硬件资源创龙科技SOM-TLIMX6U是一款基于NXPi.MX6ULL的ARMCortex-A7高性能低功耗处理器设计的低成本工业级核心板,主频792MHz,通过邮票孔连接方式引出Ethernet、UART、CAN、LCD、USB等接口。核心板经过专业的PCBLayout和高低温测试验证,稳定可靠,可满足各种工业应用环境。SOM-TLIMX6U核心板板载CPU、ROM、RAM、晶振、电源、LED等硬件资源,并通过邮票孔连接方式引出IO。图1核心板硬件框图图2图31.1 CPU核心板CPU型号为MCIMX6Y2CVM08AB,MAPBGA封装,工作温度为-40°C~105
一、APP与驱动之间传输数据/*驱动从APP获取数据*/unsignedlongcopy_from_user(void*to,constvoid*from,unsignedlongn)/*驱动传输数据到APP*/unsignedlongcopy_to_user(void*to,constvoid*from,unsignedlongn)二、使用copy_to_user、copy_from_user在APP与hello驱动之间传输数据测试方式:./hello_test/dev/hello1234abcAPP向驱动程序写入数据./hello_test/dev/helloAPP从驱动程序读出刚才写入的
通过GPIO子系统函数点亮LED1、GPIO子系统函数1.1确定led的GPIO标号,查看内核中的gpiochip查看gpiochip,以正点原子的IMX6ULL阿尔法开发板为例[root@100ask:/sys/class/gpio]#cat/sys/kernel/debug/gpio查看原理图,发现led接的引脚是GPIO1_IO3,对应/sys/kernel/debug/gpio中的gpiochip0组,gpiochip0组从0开始算起,所以GPIO1_IO3对应的标号就是0+3=3了(可是实际操作中设置为4才能点亮LED,这里不知道是什么道理,懂得朋友麻烦评论区指点一下)1.2请求GP
文章目录1.APP怎么读取按键值1.1妈妈怎么知道孩子醒了1.2APP读取按键的4种方法1.2.1查询方式1.2.2休眠-唤醒方式1.2.3poll方式1.2.4异步通知方式1.2.4.1异步通知的原理:发信号1.2.4.2应用程序之间发信号示例代码1.2.5驱动程序提供能力,不提供策略1.APP怎么读取按键值APP读取按键值,需要有按键驱动程序。为什么要讲按键驱动程序?APP去读按键的方法有4种:①查询方式②休眠-唤醒方式③poll方式④异步通知方式通过这4种方式的学习,我们可以掌握如下知识:①驱动的基本技能:中断、休眠、唤醒、poll等机制。这些基本技能是驱动开发的基础,其他大型驱动复杂的
文章目录一、CAN总线协议1.简介2.电气属性3.通信原理①数据帧的帧格式:②总线同步③总线竞争④数据保护二、Linux下CAN的操作1.硬件连接①CAN电平转换器②扩展板使用CAN2.查询can信息3.开启/关闭can4.发送/接收can数据5.设置can参数三、CAN的回环测试四、CAN的应用编程1.程序代码2.makefile3.程序测试一、CAN总线协议1.简介控制器局域网总线(CAN,ControllerAreaNetwork)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一,是ISO国际标准化的串行通信协议。CAN协议用于汽车中各种
文章目录1.驱动进化之路:设备树的引入及简明教程1.1设备树的引入与作用1.2设备树的语法1.2.1Devicetree格式1.2.1.1DTS文件的格式1.2.1.2node的格式1.2.1.3properties的格式1.2.2dts文件包含dtsi文件1.2.3常用的属性1.2.3.1#address-cells、#size-cells1.2.3.2compatible1.2.3.3model1.2.3.4status1.2.3.5reg1.2.3.6name(过时了,建议不用)1.2.3.7device_type(过时了,建议不用)1.2.4常用的节点(node)1.2.4.1根节点1
文章目录1.根文件系统内容与制作1.1最终结果1.2根文件系统的内容1.3根文件系统的制作1.3.1Makefile分析1.ROOTFS目标:2.编译APP1.3.2演示2.正式版本的init进程2.1测试版本2.2正式版本2.2.1配置文件1.分析配置文件2.示例3.配置文件执行过程Ps:这个鸿蒙系列是韦东山老师录制的视频和开发手册为基础,请大家支持韦老师。这个专栏是:1.学习的笔记记录。2.整理和知识点汇总。3.个人做的项目经验汇总。1.根文件系统内容与制作1.1最终结果本章节做的修改会制作为补丁文件:05_openharmony_rootfs.patch假设目录openharmony中是