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