Qualcomm高通嵌入式面经

看到网上高通的面经少之又少。

1.linux内核空间和用户空间的通讯方式

2.34、32位的linux的虚拟内存空间的分布情况?高端内存映射区是什么?他的地址是什么?

3、用户态堆栈在系统调用时会发生什么变化吗?

4.map怎么把物理地址返给用户空间

5..伙伴系统如果说申请内存不够会怎么办 回收之后还不够会怎么办

6.如果代码段改了个函数,物理地址不变,需不需要刷新cache,需要刷新哪个cache?

7.驱动如何匹配的,除了compatbile匹配还有什么匹配规则,匹配优先级是什么?

8.内核内存如何拷贝到用户内存

9.arm v8的异常等级,?有几种模式?异常等级有几种?工作模式有哪些?

10.讲些MMU,多级页表,页表存储位置

11.讲下GIC中断状态

12.讲些MMU,多级页表,页表存储位置

13.platform_driver 和 设备树怎么匹配的?

14. 不用device的match,能不能自己实现match

15. 内存缓存区怎么创建的?以及需要做什么来方便流转?

16.你使用fifo调度机制来提高响应速度,你有没有想过内核中也有很多实时线程,会不会影响他们的运行

17.你知道cacheline的结构是怎样的嘛?VIVT有什么缺点

18.pcie bar和io访问有什么区别

英文问题:

1.以后就业方向想从事哪

2.你觉得你跟其他人比,你的优点在哪

3.说说你自己的优缺点

总结:太硬核了,问的问题又广又深入,我感觉像是在招一个经验丰富的工程师,感觉这些题目拿到其他公司能到1-3.

总结下来感觉自己需要学习的东西还有很多,慢慢沉淀吧。还有一些基础问题就没写,主要是重点难点和一些记得比较深的记录下来。

全网最受欢迎的嵌入式面经

文章卖点:

  • 系统梳理: 32篇精华,12w+字,构建完整知识框架,告别零散!
  • 直击考点: 覆盖全部最新面试必问点,复习精准高效!
  • 持续更新: 紧跟市场动态,消除信息差焦虑!

订阅量已破 3100+,价格即将上涨!现在订阅最划算! 早准备,早拿 Offer!

https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论

相关推荐

1.I2C协议时序I2C协议是两线制串行通信协议,物理层包括SCL时钟线、SDA数据线,支持一主多从架构核心时序包括起始信号:scl为高电平,sda从高到低跳变,标志通信开始scl为高电平,sda从低到高跳变,标志通信结束数据传输时:scl高电平时,sda必须稳定,低电平时sda可变化,准备下一位,每个字节八位,高位在前接收方在第 9 个时钟周期拉低 SDA 表示应答,不拉低为非应答主设备通过控制scl和sda生成起始信号,发送从设备地址(7位地址+1位读写位),等待应答后传输数据,最后停止信号结束2.I2C 协议的应用场景和实现我在项目中用 I2C 连接过温湿度传感器(如 SHT30)和 EEPROM,传感器通过 I2C 将采集的数据传给 MCU,EEPROM 通过 I2C 存储配置参数,3.Linux 下 I2C 驱动编程的三层结构回答:linux下I2C驱动为核心层、总线层、设备驱动层核心层:提供通用api,管理总线和设备的匹配关系,是连接总线层和设备驱动层的桥梁总线层(控制器驱动):对应具体I2C控制器,实现硬件时序,负责将核心层的抽象请求转化为实际的 SCL/SDA 电平操作设备驱动层(外设驱动):针对具体 I2C 设备(如传感器),定义i2c_driver结构体,实现probe(初始化设备)、remove(清理)等函数,通过核心层 API 与设备通信。4.platform 与设备树的区别platform总线:是Linux内核为无物理总线的片上外设(GPIO、定时器)设计的虚拟总线设备树:是一种文本文件,用树形结构描述硬件信息(外设、引脚、中断),替代传统板级C代码,驱动通过属性与设备树节点匹配核心区别:platform 是 “驱动 - 设备” 匹配机制,设备树是 “硬件信息描述工具”;现代内核中,platform 设备通常由设备树自动生成5.Linux 下如何获取设备树中的硬件信息内核通过of函数解析设备树,查找节点,6.TCP 与 UDP 的区别,Socket 编程步骤及差异TCP服务器编程步骤:socket创建TCP套接字bind绑定ip和端口listen监听连接accept阻塞等待客户端连接,返回新套接字recv收发数据close关闭连接UDP无需listen、accept、connect收发用sendto,需指定目标地址,UDP无连接概念,一个套接字可与多个地址通信7.IO复用:select、poll、epoll区别三者均用于单线程管理多个I/O流,8.Linux 字符设备驱动设计流程,read/write 实现及应用访问方式定义file_operations结构体,实现open/read/write/release等操作函数,注册字符设备:通过cdev_init初始化cdev,cdev_add注册到内核,分配设备号(alloc_chrdev_region),创建设备文件:通过class_create和device_create自动生成/dev/xxx(替代手动mknod。read从设备读取数据到用户空间,内核到用户write是从用户空间写入到设备,从用户到内核应用程序访问方式 1打开设备,获取文件描述符2.调用驱动的read函数,数据通过copy_to_user传递到buf3.调用驱动的write函数,数据通过copy_from_user从buf传入内核
查看8道真题和解析
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务