文章 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)开发(十五)输入系统应用编程(下)

3. 电容屏的实验数据假设你的开发板上电容屏对应的设备节点是/dev/input/event0,执行以下命令:hexdump /dev/input/event0然后用一个手指点击触摸屏,得到类似如下的数据:在上面的数据中,为了兼容老程序,它也上报了ABS_X、ABS_Y数据,电阻触摸屏就是使用这类型的数据。所以基于电阻屏的程序,也可以用在电容屏上。使用两个手指点击触摸屏时,得到类似如下的数据:为....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(下)
文章 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)开发(十五)输入系统应用编程(上)
文章 2022-12-12 来自:开发者社区

Linux系统下VMware虚拟机安装Win7 ISO操作系统

目录一、环境工具准备二、安装步骤:A 创建新的虚拟机步骤B 重要的一步,否则无法安装C 注意继上一篇linux系统下安装VMware虚拟机的文章后,有遗留问题,那就是将移植的虚拟机操作系统放在本机上无法直接打开的。问题反正也没有解决,但注意前后移植机器上的虚拟机版本是否一致,还有是否少拷贝了文件。我这里没能解决,也就不多哔哔。这里是就认怂重新来过吧——也就是直接在虚拟机上新建安装操作系统。一、环....

Linux系统下VMware虚拟机安装Win7 ISO操作系统
文章 2022-12-11 来自:开发者社区

prometheus监控linux系统-node_exporter

在prometheus安装教程 已经了解到了如何安装prometheusnode_exporter安装node_exporter可以采集主机信息(服务器信息)下载地址:https://github.com/prometheus/node_exporter/releaseswget https://github.com/prometheus/node\_exporter/releases/dow.....

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

嵌入式linux/鸿蒙开发板(IMX6ULL)开发流程(六)烧写整个系统或更新部分系统

1.烧写整个系统或更新部分系统百问网开发了一款烧写软件:100ask_imx6ull_flashing_tool,它的界面如下:使用这软件,只需要一条USB线连接电脑和开发板USB OTG口,只需要点击一个按钮就可以实现某项烧写功能。100ask_imx6ull_flashing_tool是一个GUI前端,它调用NXP官方的烧写工具uuu:Universal Update Utility(又名m....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发流程(六)烧写整个系统或更新部分系统
文章 2022-12-11 来自:开发者社区

Linux系统网络编程——第二十节 多路复用之epoll 模型

epoll相关系统调用1、epoll_create:int epoll_create(int size);(自从linux2.6.8之后, size参数是被忽略的,用完之后, 必须调用close()关闭其返回值是一个文件描述符。调用这个函数的时候,底层(内核层)会帮我们构建出一个epoll模型。epoll模型是什么?先不用管,就先理解它是一个模型就好了,它是有一个整体的、抽象的概念。2、epol....

Linux系统网络编程——第二十节 多路复用之epoll 模型
文章 2022-12-11 来自:开发者社区

Linux系统网络编程——第十九节 多路复用(1)(概念、select、poll)

概念引出我们来思考一个问题:什么叫IO(input output)?读取或者写入(IO)本质就是:等+拷贝。读:等+将数据从内核空间(缓冲区)拷贝到用户空间(缓冲区)写:等+将数据从用户空间(缓冲区)拷贝到内核空间(缓冲区)等是在等什么呢?等某事件就绪。即有数据可读或者可写的时候,或者达到一定的“水位线”的时候。而高效IO即在IO的过程当中,尽可能减少等的比重。那我们应当怎么促使高效IO呢?我们....

Linux系统网络编程——第十九节 多路复用(1)(概念、select、poll)

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

产品推荐

Linux宝库