← 返回目录

面经3-嵌入式-芯动科技

第 150 / 152 卷日期:

  1. usb摄像头怎么驱动获取图像?
  2. 对摄像头的参数帧率,曝光,分辨率等有了解吗?
  3. 项目有哪些难点,怎么解决

面经3-嵌入式-芯动科技

@曲突徙薪

芯动科技我投的提前批所以开奖比较早开了37w+10w的期权,BASE大连武汉苏州任选

一面

自我介绍然后简历上写了用过gdb和git随口问了我几个gdb和git的用法。然后是提问

Q1:Arm汇编中bl的意思

A:抱歉,arm汇编我没深入研究过,我用的平台指令集是TI自研的,但我研究过X86的汇编我推测一下。B是跳转的意思,bl的意思可能是小于跳转等于X86汇编的jl,可也能是类似x86的long jump。

这个题答案是小于跳转,没答出来但是面试官说还可以。

Q2:static 修饰的C语言变ᰁ存放在哪里,有什么作用

A:存放在data段,不会被᯿复初始化。

Q3:C语言变ᰁ有几种储存方式

A:存放在stack data heap bss

Q4:变ᰁ未初始化值是多少

A:stack是垃圾值,不确定,全局变ᰁ未初始化是0.

Q5: 什么是ᰀ指针

A:我认为是存放了一个不应该访问地址的指针,比如free之后的指针再次访问,访问了一个未进行初始化的指针,访问了一个函数返回的指向局部变ᰁ的指针。

Q6:外设和处理器交互的方式

A:中断,DMA,普遍嵌入式设备的外设会被映射到地址空间中,所以可以直接通过读写被映射的地址进行交互。

Q7:使用gcc编译一个hello.c的程序使用什么指令

A:gcc hello.c -o hello.out

反问环节

Q:工作中会比较多的使用gdb吗?

A:调试会用到,看你写了所以问你一下

Q:还有有几轮面试

A:一般就两轮,特别优秀的三轮。

A:我们控制这边是用来获取对象的频率响应特性的,就是使用频率成分丰富的信号作为被控对象的输入然后获取被控对象的输出,对输入输出信号做fft分析。

Q2:在线还是离线

A:离线

Q3 简历上写了解决了cache一致性维护讲讲这个

A:实验室用的DSP是八核的一款DSP,测试读写的时候发现自读自写没有问题,但是0核写1核读读取不到正确的数据,查阅芯片手册发现可能是cache的原因,写没有写入下一级的内存,读没有无效化cache。去论坛看了一下相

关的帖子,然后解决了这个问题。主要通过官方提供的两条指令cache_invalid cache_writeback。读的核需要无效化cache,写的核需要writeback写到下一级。

Q4:你还写了解决了多核同步问题,怎么解决的

A:我用的芯片没有像X86提供原子指令,转而提供了一种原子外设,官方叫做硬件信号ᰁ,访问这个外设的时候是原子的,我模拟实现了一把spinlock 访问临界区的时候上锁。

Q5:了解linux吗

A:了解,增加模仿linux写过一个简易版本的操作系统内核。

Q6:我看你简历上没写啊,讲讲你这个内核吧,跑在什么平台上的,都实现了什么功能

A:跑在i386平台,用qemu模拟器模拟的。可以实现内存管理、进程创建、Sytemcall、进程调度还有一个简易版本的内核调度

Q7:从Boot开始吧,讲讲你的内核启动过程和你实现的功能。

A:i386自导bios在启动之后会从0x7c80读取第一条指令执行,所以内核需要使用链接器来修改镜像的地址。启动后会跳转到镜像entry处的地址,这是一个初始化函数,首先会进行内存的初始化,探测剩余的内存大小,申请一

块地址作为page directory,然后对剩余内存按照4kb进行分割,使用链表连接,实现内存池。需要时向内核申请。

我的进程创建时模仿linux fork实现的,利用的是写时拷贝技术,只创建一个新的栈,拷贝父进程的page directory 的映射,但是标记页表为只读不写,如果写会触发缺页中断,然后进行相应的拷贝。调度是就是在可以准备运行的

进程中挑选一个可以准备运行的进程,简单的round-robin算法,后来加入了优先级调度,利用hash-map寻找优先级最高的进程。

Q8:在内存初始化中,怎么探测剩余内存的。

A:镜像在bss段的最后会创建的一个标记叫做end,可以探测一个cmos管知道总共的内存大小,可以间接知道剩余内存的大小。

Q9:为什么对内存进行4kb分割,如何对页表做标记

A:这是i386的MMU要求的吧,因为页表是4kb对齐的所以低12位是零每一个比特位都可以携带信息。

Q10:描述一下fork中你提到的缺页中断的执行步骤

A:首先当写一个标记为不能写的地址时,会触发缺页错误,处理器读取idt获取相应中断向ᰁ的地址,中断向ᰁ是一段汇编指令主要是储存现在寄存器的内容,跳转到isr中。此时错误地址存放在cr2中。跳转到相应的isr,检测缺页

全站分卷索引 · 152 卷
  1. 1代码随想录知识星球精华(最强八股文)第五版(面经篇)
  2. 2后端面经02-美团
  3. 3Java面经02-阿里ICBU
  4. 4Java面经-04-CVET
  5. 5Java面经-06-字节后端
  6. 6Java面经08-用友
  7. 7Java面经09-快手
  8. 83. 计算机网络
  9. 94. 数据库
  10. 105. 算法
  11. 11Java面经11-美团
  12. 121.3 java的4种引用
  13. 132. JVM
  14. 143. 操作系统
  15. 154. 计算机网络
  16. 165. 数据库
  17. 17Java面经13
  18. 18Java面经14
  19. 19Java面经16
  20. 20Java面经17
  21. 21Java面经18
  22. 22二面
  23. 23三面
  24. 24面经19-Java-字节暑期实习
  25. 25字节三面
  26. 26面经21-Java-蚂蚁暑期实习
  27. 27蚂蚁三面
  28. 28MySQL
  29. 29计算机网络
  30. 30拉链法的工作原理
  31. 31确定桶下标
  32. 32扩容 - 基本原理
  33. 33链表转红黑树
  34. 34子进程和线程的区别
  35. 35协程
  36. 36数据库
  37. 37哈希索引
  38. 38计算机网络
  39. 39TCP和UDP的区别
  40. 40面经25-Java-百度二面
  41. 41面经26-Java-京东一面
  42. 42面经27-Spring
  43. 43计算机基础面经28
  44. 44计算机基础面经29
  45. 45计算机网络
  46. 46操作系统
  47. 47任务调度算法
  48. 48数据库
  49. 49计算机基础面经31
  50. 50乐观锁两种实现机制
  51. 51版本号机制
  52. 52死锁相关问题
  53. 53计算机网络
  54. 54拥塞控制的四种方法
  55. 55计算机基础面经32
  56. 56三次握手的流程
  57. 57计算机基础面经33
  58. 58计算机基础面经34
  59. 59异步
  60. 60C++后端
  61. 61面经3-C++-地平线
  62. 62面经6-C++-国电南瑞
  63. 63面经7-c++后端-字节
  64. 64二面
  65. 65面经11-C++-OPPO
  66. 66面经12-C++-商汤
  67. 67SelectDB
  68. 68面经15-C++-中望
  69. 69面经16-C++-米哈游
  70. 70面经17-C++-旷世
  71. 71面经19-C++-蔚来
  72. 72面经20-C++-第四范式
  73. 73面经21-C++-TP-Link
  74. 74面经23-C++-猿辅导
  75. 75面经25-C++-文远知行
  76. 76面经26-C++-百度
  77. 77百度二面
  78. 78百度三面
  79. 79面经27-C++-ZEKU
  80. 80ZEKU哲库HR面
  81. 81面经28-C++-VIVO
  82. 82面经29-C++-TPLINK
  83. 83字节二面
  84. 84HR面
  85. 85面经32-C++
  86. 86TCP的粘包与拆包
  87. 87引入协程的原因
  88. 88面经34-C++
  89. 892. 指针与引用的区别
  90. 902. Nagle 算法与延迟确认
  91. 91数据库
  92. 922. MVCC-多版本并发控制
  93. 93计算机网络
  94. 94面经36
  95. 95面经37
  96. 96面经38
  97. 97面经39-C++-拼多多+字节
  98. 98字节一面【7.27】
  99. 99shopee测开一面【7.29】
  100. 100一、表面上开销
  101. 101面经44-京东二面
  102. 102Go后端
  103. 103二面
  104. 104面经3-Go-字节日常实习
  105. 105字节二面
  106. 106字节三面
  107. 107HR面
  108. 108面经5-Go-字节暑期实习
  109. 109字节二面
  110. 110字节三面
  111. 111面经02-测开-百度提前批
  112. 112二面
  113. 113面经06-测试-海尔智家
  114. 114面经07-测开-蔚来
  115. 115面经09-测试-中望
  116. 116面经10-测开-ZEKU
  117. 117面经12-测试-科大讯飞
  118. 118面经15-测开-美团暑期实习
  119. 119面经16-测开-外企社招
  120. 120Nvidia四面
  121. 121面经2-前端-百度日常实习
  122. 122面经3-前端-得物面经
  123. 123面经4-前端-腾讯健康
  124. 124面经5-前端-字节面经
  125. 125面经6-前端-携程前端
  126. 126面经7-前端-顺丰
  127. 127面经9-前端-比特大陆日常实习
  128. 128面经10-前端-抖音
  129. 129面经11-前端-蔚来/百度/oppo
  130. 130百度提前批
  131. 131面经12-前端-知乎暑期实习
  132. 132知乎二面
  133. 133百度二面
  134. 134面经2-Android客户端-大疆
  135. 135二面
  136. 136面经3-客户端-字节暑期实习
  137. 137字节二面
  138. 138字节二面(深入项目,1h)
  139. 139面经5-客户端-字节
  140. 140面经6-客户端-字节
  141. 141算法
  142. 142面经3-NLP-科大讯法
  143. 143面经4-NLP-科大讯法
  144. 144面经7-游戏算法-莉莉丝
  145. 145面经10-算法
  146. 146面经11-算法-百度pnc暑期实习
  147. 147百度二面
  148. 148抖音一面
  149. 149嵌入式
  150. 150面经3-嵌入式-芯动科技
  151. 151面经4-嵌入式-韶音科技
  152. 152面经6-嵌入式-新华三