百面嵌入式专栏(面试题)驱动开发面试题汇总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.hqwc.cn/news/457369.html

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

相关文章

亚信安慧AntDB领航分布式数据库的突破之路

随着互联网技术的迅猛发展,大数据时代的到来,数据库的需求不断增长。在这样的背景下,国产分布式数据库正逐渐崭露头角,AntDB作为其中的重要代表,也积极参与到了这场竞争中。作为国内的技术创新者,AntDB不仅…

通过 docker-compose 部署 Flink

概要 通过 docker-compose 以 Session Mode 部署 flink 前置依赖 Docker、docker-composeflink 客户端docker-compose.yml version: "2.2" services:jobmanager:image: flink:1.17.2ports:- "8081:8081"command: jobmanagervolumes:- ${PWD}/checkpoin…

modelsim仿真使用到vivado的IP,该如何使用!

modelsim仿真时,如果使用到了vivado的IP就会报错,本次就告诉大家如何将vivado的IP添加到modelsim中直接仿真。 一、生成ini文件以及IP打包 打开vivado,点击上方的Tools-->Compile Simulation Libraries得到如下界面 simulator&#xff1…

【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境

在后面学习 Flink 相关知识时,会深入源码探究其实现机制。因此,需要现在本地配置好源码阅读环境。 本文搭建环境: Mac M1(Apple Silicon)Java 8IDEAFlink 官方源码 一、 下载 Flink 源码 github 地址:h…

日历功能——C语言

实现日历功能&#xff0c;输入年份月份&#xff0c;输出日历 #include<stdio.h>int leap_year(int year) {if(year % 4 0 && year % 100 ! 0 || year % 400 0){return 1;}else{return 0;} }int determine_year_month_day(int *day,int month,int year) {if(mo…

【刷题日记】最长定差子序列

给你一个整数数组 arr 和一个整数 difference&#xff0c;请你找出并返回 arr 中最长等差子序列的长度&#xff0c;该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下&#xff0c;通过删除一些元素或不删除任何元素而从 arr 派生出来的序…

挑战杯 python+深度学习+opencv实现植物识别算法系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的植物识别算法研究与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;4分 &#x1f9ff; 更多…

ElastAlert 错误日志告警

文章目录 前言一、ElastAlert 概览1.1 简介1.2 ElastAlert 特性 二、ElastAlert 下载部署2.1 安装 Python3 环境2.2 下载 ElastAlert2.3 部署 ElastAlert 三、接入平台3.1 对外接口层3.2 服务层 前言 ElastAlert 是 Yelp 公司基于 python 开发的 ELK 日志告警插件&#xff0c;…

JavaWeb后端——控制反转IOC/依赖注入DI

控制反转&#xff1a;why&#xff0c;目标是要做到控制反转 依赖注入&#xff1a;how&#xff0c;如何实现控制反转&#xff0c;控制反转有很多方法&#xff0c;依赖注入是其中一种方法 控制反转&#xff08;Inversion of Control, IoC&#xff09;和依赖注入&#xff08;Depe…

JavaEE企业级应用软件开发—Spring框架入门学习笔记(一)

一、认识框架 实际开发中&#xff0c;随着业务的发展&#xff0c;软件系统变得越来越复杂&#xff0c;如果所有的软件都从底层功能开始开发&#xff0c;那将是一个漫长而繁琐的过程。此外&#xff0c;团队协作开发时&#xff0c;由于没有统一的调用规范&#xff0c;系统会出现大…

Java+SpringBoot:构建稳定高效的计算机基础教学平台

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

ORM模型类

模型 创建两个表 创建模型类 from django.db import models# Create your models here. class BookInfo(models.Model):name models.CharField(max_length10, uniqueTrue) # 书名pub_date models.DateField(nullTrue) # 发布时间read_count models.IntegerField(default…