文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(下)

1.4.1.2 设备树里使用中断一个外设,它的中断信号接到哪个“中断控制器”的哪个“中断引脚”,这个中断的触发方式是怎样的?这3个问题,在设备树里使用中断时,都要有所体现。① interrupt-parent=<&XXXX>你要用哪一个中断控制器里的中断?② interrupts你要用哪一个中断?Interrupts里要用几个cell,由interrupt-parent对应的....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(下)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(中)

1.2.6 下半部要做的事情太多并且很复杂:工作队列在中断下半部的执行过程中,虽然是开中断的,期间可以处理各类中断。但是毕竟整个中断的处理还没走完,这期间APP是无法执行的。假设下半部要执行1、2分钟,在这1、2分钟里APP都是无法响应的。这谁受得了?所以,如果中断要做的事情实在太耗时,那就不能用软件中断来做,而应该用内核线程来做:在中断上半部唤醒内核线程。内核线程和APP都一样竞争执行,APP....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(中)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(上)

1. Linux系统对中断的处理1.1 进程、线程、中断的核心:栈中断中断,中断谁?中断当前正在运行的进程、线程。进程、线程是什么?内核如何切换进程、线程、中断?要理解这些概念,必须理解栈的作用。1.1.1 ARM处理器程序运行的过程ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),它所用的指令比较简单,有如下特点:① 对内存只有读、....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)Linux系统对中断的处理(上)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)

1.3.4 查询方式APP调用open函数时,传入“O_NONBLOCK”表示“非阻塞”。APP调用read函数读取数据时,如果驱动程序中有数据,那么APP的read函数会返回数据,否则也会立刻返回错误。1.3.5 休眠-唤醒方式APP调用open函数时,不要传入“O_NONBLOCK”。APP调用read函数读取数据时,如果驱动程序中有数据,那么APP的read函数会返回数据;否则APP就会在....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)

1.输入系统应用编程1.1 什么是输入系统先来了解什么是输入设备?常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。什么是输入系统?输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?可以的。Linux系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注