嵌入式 Linux面试基础题

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

请问uboot启动过程都做了些什么?

1、cpu刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构建异常项链表,然后设置cpu为svc(特权)模式,同时关闭FIQ和IRQ(防止突发中断程序跑飞了)
注:在跳转到内核之前,要满足CPU出在SVC模式下。
2、对cp15协处理器进行设置,这里主要是关闭MMU和cache
3、进入到板级初始化阶段,这里会进行时钟、内存、串口的初始化。最后还要关闭看门狗。
4、接下来就是设置栈,为c语言准备运行环境,调用board_init_f,填充gd结构体。
5、对代码重定位,搬运到内存中去,搬运之后,跳转到内存中去执行board_init_r,这里就可以开启cache了,当然也可以不开启。然后初始化其他设备。比如flash、网卡、emmc等。初始化完之后,在执行main_loop

为什么uboot要关掉cache?

1、cpu刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构建异常项链表,然后设置cpu为svc(特权)模式,同时关闭FIQ和IRQ(防止突发中断程序跑飞了)
注:在跳转到内核之前,要满足CPU出在SVC模式下。
2、对cp15协处理器进行设置,这里主要是关闭MMU和cache
3、进入到板级初始化阶段,这里会进行时钟、内存、串口的初始化。最后还要关闭看门狗。
4、接下来就是设置栈,为c语言准备运行环境,调用board_init_f,填充gd结构体。
5、对代码重定位,搬运到内存中去,搬运之后,跳转到内存中去执行board_init_r,这里就可以开启cache了,当然也可以不开启。然后初始化其他设备。比如flash、网卡、emmc等。初始化完之后,在执行main_loop

nandflash和norflash的区别,对norflash的操作方式的理解?

两种芯片的结构不同 NORflash之所以可以片内执行,就是因为他符合CPU去指令译码执行

Linux嵌入式方向的常见面试题 libudev是udev是一种开源实现库,它能根据系统中硬件设备的状态来动态的更新设备文件,包括设备文件的创建、删除等。使用udev后,在/dev目录下就直包含系统中真正存在的设备。udev同时提供了建设接口,当设备的状态发生改变时,监视接口可以发送对应的事件给应用程序。主要管理/dev目录下的设备节点,同时,也接替devfs、hotplug热插拔的功能,处理添加硬件、删除硬件、加载firmware,以及用户空间的行为。 阅读详情

相关推荐

嵌入式面试】2022年嵌入式经典面试题汇总(Linux | 文件IO)

2022年秋招我面试嵌入式MCU开发方向,经过了多场的笔试与面试,在准备的过程中看了非常多的资料,我的汇总的笔记一直写在有道云笔记中,没有分享出来。现在已经到了23年春招了,特此整理后分享出来。资料看过了觉得不错就保存下来了,如果有不对的地方,欢迎批评指正,侵权联删!

一位才工作的工程师,持续学习,持续输出。更多内容,关注公众号“不想脱发的基兄”。 4151

嵌入式面试题目汇总之经典

因为tcp传输的数据满足3大条件,不丢失,不重复,按顺序到达。

嵌入式技术开发 4399

嵌入式面试题 linux操作系统常见面试题(1)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

2401_83704218的博客 1250

嵌入式面试题linux

当一个进程被调度器调度时,操作系统会将进程的上下文保存到进程控制块(PCB)中,然后加载到内存中的适当位置,以便处理器可以正确地执行该进程。在操作系统方面,一些操作系统可能会限制进程可以创建的最大线程数,例如,在一些嵌入式操作系统中,可能只允许创建几个线程。线程的调度由操作系统负责,当一个线程完成了一次调度后,它将返回自己的进程空间,从而执行该进程的其他线程。子进程的内存空间是父进程内存空间的一个副本,当父进程修改了某个内存地址上的数据后,子进程在同样的内存地址上的数据也会发生改变。

qq_52940414的博客 2668

Linux嵌入式软件面试整理

嵌入式Linux软件工程师面试题一,同步和异步有啥区别? 二,TCP与UDP有啥区别? 三,进程和线程有啥区别? 一答案: 同步(Sync):所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(比如系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。 这种情况下,用户不能关闭界面,如果关闭,那么迁移程序也会中断,用户体验不好。 异步(Async):将用户请求放入消息队列,并反馈给用户,比如系统迁移程序已经启动,提示你可以关闭...

weixin_42145502的博客 7432

20道嵌入式经典面试题(附答案)

但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也跟着死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。而线程是共享进程中的数据,使用相同的地址空间,因此,CPU切换一个线程的花费远比进程小很多,同时创建一个线程的开销也比进程小很多。因为在 嵌入(inline)操作符 变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。

Linuxer_Martin 1695

嵌入式笔/面试嵌入式软件基础和真总结——单片机与Linux

嵌入式笔/面试嵌入式软件基础和真总结——单片机与Linux

瓜洲的博客 4184

收藏几个关于linux面试题

Linux嵌入式开发常见面试题 嵌入式 Linux面试基础 先粘贴两个日后有遇到新的,在来更新

ice_masters的博客 163

嵌入式面试嵌入式面试Linux驱动篇

本文系统梳理了嵌入式Linux驱动开发面试中的15个高频考点,涵盖内核基础、设备模型、字符设备驱动等核心内容。通过对比用户/内核空间差异、剖析系统调用机制、详解platform总线工作原理,以及展示字符设备驱动的完整注册流程,帮助开发者深入理解Linux驱动开发的关键技术。文章特别强调现代嵌入式开发中设备树的应用,并提供了面试加分回答技巧,是备战嵌入式驱动岗位的实用指南。

欢迎来到兰舟比特的博客! 2625

Linux驱动开发面试题整合

Linux 驱动常见面试及答案 八个常见的Linux驱动面试题 Linux驱动面试题总结 嵌入式校招面试题 BSP开发工程师面试笔试集 海康面试题 面试题,详细 BSP开发流程讲解

qq_40904479的博客 3722

面试嵌入式必看

笔试 现在去面试时,有些公司会先让你做一份笔试。里面大部分的目是C语言的目,偶尔会有一点数据结构或者操作系统的目。如果是嵌入式Linux可以会涉及一些操作系统知识和Linux指令,比如内存管理单元。如果只是单片机方面的,大部分都是C语言,C语言的目一般和计算机等级考试的差不多。指针方面的需要重点复习一下。网上找一些练习一下就OK了,其实很多公司的目也是网上找的。难度一般不会很大。 面试...

weixin_42832780的博客 435

从机械到嵌入式:跨专业求职者的逆袭之路与技术转型策略

本文分享了机械工程师如何成功转型嵌入式开发的技术策略与求职经验。通过系统化学习路径、项目实践、知识体系构建和面试准备,帮助跨专业求职者在秋招中脱颖而出。重点解析了嵌入式开发的核心技术栈和面试八股文准备技巧,为转型者提供实用指南。

nginx7reverse的博客 1017

嵌入式BSP经典面试题100道

BSP(Board Support Package,板级支持包)是针对特定硬件平台的软件支持包,介于操作系统和硬件之间。BSP主要作用:硬件抽象:为操作系统提供统一的硬件接口初始化支持:完成硬件的初始化配置驱动支持:提供板载外设的驱动程序启动支持:实现系统的启动流程资源管理:管理硬件资源的分配和使用硬件抽象层是屏蔽硬件差异的软件层,为上层软件提供统一接口。HAL的作用:可移植性:使上层软件不依赖具体硬件模块化:分离硬件相关和无关代码可维护性:硬件变更不影响上层软件标准化。

xwb1040885790的博客 657

常见Linux嵌入式开发C语言笔试面试题资源下载

常见Linux嵌入式开发C语言笔试面试题资源下载 去发现同类优质开源项目:https://gitcode.com/ 资源介绍 本仓库提供了一个资源文件,内容为“常见Linux嵌入式开发C语言笔试面试题”。该资源文件旨在帮助准备Linux嵌入式开发C语言笔试和面试的开发者,提供一系列常见且有代表性的目,帮助大家更好地理解和掌握相关知识点。 资源内容 资源文件中包含了以下内容: 基础知识:涵盖C...

gitblog_06637的博客 374

嵌入式C语言面试核心要点与实战解析

C语言作为嵌入式开发的核心语言,其指针操作、内存管理和硬件寄存器访问等特性是面试重点考察内容。在嵌入式系统中,volatile关键字防止编译器优化错误,内存对齐提升访问效率,位操作直接控制硬件寄存器。通过实现内存拷贝函数、GPIO配置等典型代码案例,考察候选人对底层硬件的理解深度。中断处理机制和UART/I2C/SPI通信协议是嵌入式系统实时性和外设交互的关键技术。掌握这些核心概念不仅能应对80%的嵌入式C语言面试题,更能为实际开发中的内存优化、驱动编写等场景提供解决方案。

weixin_29163857的博客 211

【10年嵌入式专家揭秘】真正靠谱的学习路线图[特殊字符]

10年嵌入式专家分享高效学习路线,从基础到进阶分四阶段:1)C语言+51单片机打基础(3-4个月);2)STM32开发+RTOS实战(4-6个月);3)Linux驱动+硬件底层深入(5-7个月);4)求职冲刺(2-3个月)。关键建议:每阶段做项目、读英文手册、参与开源、写技术博客。配有详细学习资料,适合不同基础的学习者系统掌握嵌入式开发技能。

richxu20250501的博客 603

华为测试面试通关指南:从基础理论到车载自动化实战

软件测试工程师的面试考核正在发生深刻变化,单纯的功能验证已无法满足企业对质量保障体系的要求。以华为为代表的头部厂商,愈发重视候选人对测试理论、自动化框架、性能分析及专项测试领域的综合理解。从接口自动化到持续集成,从Linux日志定位到数据库查询优化,构建系统化的测试思维是职业进阶的基石。在智能汽车与通信设备快速迭代的背景下,车载测试、性能测试与安全测试等专项能力成为差异化竞争点。理解测试模型与用例设计方法论,掌握Jenkins与Tessy等工具链的联动实践,熟悉连接数测试与内存分析的排查思路,这些知识共同构

weixin_28841265的博客 313

2026最新最全C/C++面试、C++八股文(附带免费下载链接)

《代码随想录知识星球精华(第四版)最强八股文》是一套程序员面试备考资料,包含基础篇、C++篇、算法篇、面经篇和浓缩速记手册。该资料系统整理了计算机网络、操作系统、数据库、C++核心语法、STL源码、多线程、算法型等高频考点,并提供标准答思路和真实面经经验。特别适合嵌入式/C++开发者,既能夯实基础理论,又能掌握解技巧和面试策略。资料采用分类编排方式,可根据自身情况选择重点突破或全面复习,帮助考生高效备战技术面试,提升offer获取成功率。

m0_70077949的博客 567

2026年诺瓦星云嵌入式面试题82道带详细答案

摘要 本文系统整理了嵌入式开发工程师面试中的技术要点,涵盖硬件外设、通信协议、电路设计、单片机架构、编程基础、数据结构、操作系统、Linux开发、网络协议及项目协作等九大模块。重点解析了SPI、I2C、UART三种通信协议的核心差异与应用场景(如SPI适用于高速外设,I2C适合低速传感器,UART用于调试透传),详细说明了ADC类型、DMA配置、RTC中断等硬件关键技术,并探讨了PID控制、蓝牙通信等实用方案。同时包含C语言static关键字、链表/数组区别、死锁处理等软件基础,以及交叉编译、TCP/UDP

Open 34
上一篇: qca9533 openwrt 启动信息
下一篇: plc(Power Line Communication)通信测试程序
viewsky11
博客等级 码龄15年 651粉丝 253原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值