百面嵌入式专栏(面试题)驱动开发面试题汇总1.0

在这里插入图片描述

沉淀、分享、成长,让自己和他人都能有所收获!😄

📢本篇我们将介绍驱动开发面试题 。

1、Linux驱动程序的功能是什么?

  1. 对设备初始化和释放。
  2. 进行内核与硬件的数据交互。
  3. 检测和处理设备出现的错误。

2、内核程序中申请内存使用什么函数?

答案:kmalloc()、kzalloc()、vmalloc()。

解读:

  1. void *kmalloc(size_t size, gfp_t flags);
    ①申请连续的物理内存,这对于要进行DMA的设备十分重要,但大小不能超过128KB,其中有16B是被页描述符占用了。
    ②较常用的flag有GFP_ATOMIC(分配内存的过程是一个原子过程)、GFP_KERNEL(正常分配内存)、GFP_DMA(给DMA控制器分配内存)。
    ③对应的内存释放函数为void kfree(const void *objp)。

  2. void *kzalloc(size_t size, gfp_t flags);
    ①kzalloc()相对kmalloc()只是额外增加了__GFP_ZERO标志,除了申请内存外,还会对申请到的内存内容清零。
    ②对应的释放函数也是kfree()。

  3. void *vmalloc(unsigned l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/256794.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Python进阶] 识别验证码

11.3 识别验证码 我们再开发某些项目的时候,如果遇到要登录某些网页,那么会经常遇到输入验证码的情况,而每次人工输入验证码的话,比较浪费时间。于是,可以通过调用某些接口进行识别。 11.3.1 调用百度文字识别接口 …

华为问界M9:全方位自动驾驶技术解决方案

华为问界M9的自动驾驶技术采用了多种方法来提高驾驶的便利性和安全性。以下是一些关键技术: 智能感知系统:问界M9配备了先进的传感器,包括高清摄像头、毫米波雷达、超声波雷达等,这些传感器可以实时监测车辆周围的环境&#xff0…

网安常用的三个攻击方式

1.渗透测试执行标准(PTES) 渗透测试执行标准由7个部分组成,包括前期交互、情报收集、威胁建模、漏洞分析、渗透利用、后渗透、撰写报告。在中国,渗透测试必须经过授权,否则就违背了网络安全法。前期交互主要指开展渗透…

项目部署小问题记录

1.搭建springboot项目,后台映射进不去(原因为代码和启动类不在一个包下) 2.服务器中,root用户命令提示没有权限 找到要操作的文件,查看属性 lsattr 发现文件有i属性(即不可修改) chattr -i webapps/ 去除掉i属性3.项目放到tomcat中去除上下文 在Host中把appBase置空,增加…

Linux系统之部署File Browser文件管理系统

Linux系统之部署File Browser文件管理系统 一、File Browser介绍1.1 File Browser简介1.2 File Browser功能1.3 File Browser使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、安装File Browser4…

在没有鼠标或键盘的情况下在 Mac 上如何启用蓝牙?

通过这个技巧,小编将向您展示几种无需鼠标或键盘即可在 Mac 上重新启用蓝牙的方法。如果您想开始使用蓝牙配件,但还没有连接,这会很有用。 无需鼠标即可启用蓝牙 蓝牙是iPhone、iPad和 Mac 的标准配置。它确保您可以无线使用各种配件&#…

【CV论文精读】EarlyBird: Early-Fusion for Multi-View Tracking in the Bird’s Eye View

【CV论文精读】EarlyBird: Early-Fusion for Multi-View Tracking in the Bird’s Eye View 0.论文摘要 多视图聚合有望克服多目标检测和跟踪中的遮挡和漏检挑战。多视图检测和3D对象检测中的最新方法通过将所有视图投影到地平面并在鸟瞰视图(BEV)中执…

Linux第46步_通过“添加自定义菜单”来学习menuconfig图形化配置原理

通过“添加自定义菜单”来学习menuconfig图形化配置原理,将来移植linux要用到。 自定义菜单要求如下: ①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。 ②、配置项为“MY TESTCONFIG”,此配置项处于菜单“My test m…

【lesson51】信号之信号处理

文章目录 信号处理可重入函数volatileSIGCHLD信号 信号处理 信号产生之后,信号可能无法被立即处理,一般在合适的时候处理。 1.在合适的时候处理(是什么时候?) 信号相关的数据字段都是在进程PCB内部。 而进程工作的状态…

微信小程序(四十一)wechat-http的使用

注释很详细,直接上代码 上一篇 新增内容: 1.模块下载 2.模块的使用 在终端输入npm install wechat-http 没有安装成功vue的先看之前的一篇 微信小程序(二十)Vant组件库的配置- 如果按以上的成功配置出现如下报错先输入以下语句 …

几个好用的 iphone 手机模板贴图样机

整理了几个好用的 iphone 手机模板贴图,分享一下。 关注订阅号「设计师工作日常」,发送关键词 iphone mockup ,获取下载链接。 [1] 原文阅读 我是 Just,这里是「设计师工作日常」,求点赞求关注!

数据结构——lesson2线性表和顺序表

目录 前言 一、顺序表是什么? 1. 静态顺序表:使用定长数组存储元素 2. 动态顺序表:使用动态开辟的数组存储。 二、接口实现 1.动态顺序表存储 2.基本增删查改接口 (1)初始化顺序表 (2)顺序表摧毁 (3)检查空间 (4)顺序表打印 (5)顺…

Spark编程实验六:Spark机器学习库MLlib编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入 4、超参数调优 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib…

Codeforces Round 925 (Div. 3)

Codeforces Round 925 (Div. 3) Codeforces Round 925 (Div. 3) A. Recovering a Small String 题意:给出一个整数n,为三个26个字母的位置序号的和,输出字典序最小的三个字符的字符串。 思路:直接倒推,顺一遍&…

H12-821_144

144.R1、R2、R3和R4运行OSPF,区域ID如图所示,则是____ABR。(请填写设备名称,例如R1) 答案:R2 注释: ABR需要满足两个条件:连接两个或者两个以上的区域,并且其中有一个区域是区域0。 ABR又有…

扩展速度提高了12倍!AWS Lambda 函数重大改进!

Marcia 是 Amazon Web Services 的首席开发倡导者,在软件行业构建和扩展应用程序方面拥有20年的工作经验。她热衷于设计能够充分利用云并拥抱DevOps文化的系统。最近她发表了一篇博文,带来了一个AWS Lambda重大改进:扩展速度提升了 12 倍&…

springboot182基于springboot的网上服装商城

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

vivado 使用块综合策略

使用块综合策略 概述 AMD Vivado™合成具有许多策略和全局设置,您可以使用这些策略和设置自定义设计的合成方式。此图显示了可用的预定义策略在“合成设置”和“表:Vivado预配置策略”中提供了一个并排的战略设置的比较。您可以使用RTL或中的属性或XDC…

2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 2023年是人工智能大语言模型大爆发的一年,一些概念和英文缩写也在这一年里集中出现,很容易混淆,甚至把人搞懵。 文章目录 前言01 《ChatGPT 驱动软件开…