ARM/Linux嵌入式面经(三三):大疆
嵌入式工程师考察主要蕴含:C/C++,处理器的架构,操作系统(linux或嵌入式实时操作系统),常见硬件接口协议/总线,文件存储系统等几方面
文章目录
- 1)C/C++
- static作用,变量加入static以后在内存中存储位置的变化。
- static的作用
- 变量加入static后在内存中存储位置的变化
- 面试官可能的追问
- volatile作用
- volatile的作用
- 示例代码
- 面试官的追问
- C++为什么有指针还要引用,为什么不和JAVA一样抛弃指针
- 为什么C++有指针还要引用?
- 为什么C++不和JAVA一样抛弃指针?
- 面试官可能追问的问题:
- delete和delete[]的区别
- `delete`
- `delete[]`
- 示例
- 面试官可能的追问
- 虚函数是用来干嘛的?虚函数机制怎么实现的?虚表指针在内存中的存放位置?
- C++虚函数是用来干嘛的?
- 虚函数机制怎么实现的?
- 虚表指针在内存中的存放位置?
- 面试官可能的追问
- C++多态怎么理解?C++有哪些多态的典型例子?
- C++多态的理解
- C++多态的典型例子
- 1. 虚函数实现多态
- 2. 纯虚函数与抽象类
- 面试官可能的追问
- 叙述程序编译都包含哪些阶段,每个阶段干了什么?
- 面试官可能的追问
- CMake是如何包含文件目录的
- 使用`include_directories()`
- 使用`target_include_directories()`
- 面试官可能的追问
- 全局变量和局部变量在什么地方?堆栈如何申请资源?
- 全局变量和局部变量的存储位置
- 堆栈如何申请资源
- 面试官可能的追问
- C语言编译后的内存分布
- C语言编译后的内存分布
- 面试官可能的追问
- 我连续调用同一个函数两次,他的局部变量初始化结果是否会一致?(函数调用的过程)
- 完整且有深度的回答
- 面试官可能追问的几个相关问题
- 你说静态局部变量存储在静态区,那么静态区的创建和消失是在什么时候?
- 静态区的创建和消失时机
- 面试官可能的追问
- 我在windows里面运行了多个进程,其中一个进程执行完了,他的静态区会如何处理?(多进程的内存管理问题)
- 回答
- 面试官可能的追问
- 静态局部变量与局部变量的区别?为什么局部变量未定义时,每次初始化的结果是不确定的?是个真随机数还是个伪随机数?
- 静态局部变量与局部变量的区别
- 为什么局部变量未定义时,每次初始化的结果是不确定的?是个真随机数还是个伪随机数?
- 面试官可能的追问
- 嵌入式中栈的工作机制是什么?
- 栈的工作机制
- 面试官的追问
- struct字节对齐了解么?
- struct字节对齐概述
- 字节对齐的作用
- 字节对齐的规则
- 示例分析
- 面试官的追问
- 容器了解吗?vector实现的机制是怎么样的?
- 容器了解吗?
- vector实现的机制是怎么样的?
- 迭代器有了解吗?讲解一下你的理解
- 迭代器的理解
- 面试官的追问
- 内存分配函数了解么?如果系统中只有10K内存,而我要分配12K,能分配成功吗?如果能,那么将分配到的区域用memset进行初始化,会成功吗?
- 回答内存分配函数及其相关问题
- 面试官可能的追问:
- 2)处理器架构
- 51和32架构的区别
- 51架构与32位架构(以ARM为例)的主要区别
- 面试官可能追问的问题
- MCU可以运行Liunux吗,为什么?
- 为什么MCU可以运行Linux?
- 挑战与限制
- 面试官追问
- STM32启动过程(上电开始->main执行的过程)
- STM32启动过程
- 面试官可能提出的追问
- 中断响应执行流程,中断上下文指的什么,保存中断上下文是完成的什么操作,以STM32为例,都有哪些寄存器被保存
- 中断响应执行流程
- 中断上下文
- 保存中断上下文的操作
- STM32中被保存的寄存器
- 面试官可能追问的问题
- STM32 F1和F4的区别
- 一、内核与性能
- 二、外设与功能
- 三、存储与资源
- 四、功耗与效率
- 面试官可能追问的问题:
- Cotex-M系列使用浮点运算对STM32中断效率会产生什么影响
- 浮点运算对STM32中断效率的影响
- 1. Cortex-M系列内核的浮点运算能力
- 2. 对中断效率的影响
- 3. 优化建议
- 面试官可能追问的问题
- 什么是大小端模式
- 大小端模式定义
- 大小端模式的应用场景
- 面试官可能追问的问题
- 3)操作系统
- Freertos支持的任务调度方式,详细说下每种方式
- 1. 抢占式调度(Preemptive Scheduling)
- 2. 时间片轮转调度(Round-Robin Scheduling)
- 总结
- 任务(线程)间通信方法
- 常用的任务(线程)间通信方法
- 进程和线程的区别
- 进程和线程的区别
- 面试官可能的追问
- 互斥量和信号量的区别
- 一、定义与用途
- 二、特性与行为
- 三、使用场景
- 四、面试官可能追问的问题
- 优先级翻转,如何避免优先级翻转
- 一、优先级翻转的避免策略
- 二、面试官可能追问的问题
- STM32任务切换为什么用PendSV
- 一、PendSV的优势
- 二、STM32任务切换的具体过程
- 三、面试官可能追问的问题
- FreeRTOS的内存管理怎么实现的?为什么这么做?
- 实现方式
- 为什么这么做
- 面试官可能追问的问题
- 对于临界区数据的处理,使用互斥锁和自己通过条件来判断,哪样更好,为什么?
- 使用互斥锁的优势
- 自己通过条件来判断的劣势
- 面试官可能追问的问题
- 4)常见硬件接口协议/总线
- (1)SPI
- 问题1:
- 问题2:
- 问题3:
- (2)IIC
- 问题1:
- 问题2:
- 问题3:
- 问题4:
- (3)UART
- 问题1:
- 问题2:
- 问题3:
- (4)FSMC
- 问题1:
- 问题2:
- 问题3:
- (5)AXI
- 问题1:
- 问题2:
- 问题3:
1)C/C++
static作用,变量加入static以后在内存中存储位置的变化。
static作用及变量加入static后在内存中存储位置的变化
static的作用
在C/C++等编程语言中,static关键字有着多重作用,主要根据它被应用到的上下文环境(如全局变量、局部变量、函数等)而有所不同。但总体来说,static主要提供了两个核心功能:
-
隐藏:当
static用于全局变量时,它限制了该变量的作用域仅在其被声明的文件内部,避免了不同文件中同名全局变量的冲突,实现了对变量的隐藏。 -
持久性:无论
static用于局部变
相关文章:
ARM/Linux嵌入式面经(三三):大疆
嵌入式工程师考察主要蕴含:C/C++,处理器的架构,操作系统(linux或嵌入式实时操作系统),常见硬件接口协议/总线,文件存储系统等几方面 文章目录 1)C/C++static作用,变量加入static以后在内存中存储位置的变化。static的作用变量加入static后在内存中存储位置的变化面试官…...
《DevOps实践指南》笔记-Part 2
一篇文章显得略长,本文对应第3-4章。前言、第1-2章请参考Part 1;第5-6章、附录、认证考试、参考资源等内容,请参考Part 3。 流动的技术实践 持续交付:降低在生产环境中部署和发布变更的风险。包括:打好自动化部署流水…...
树莓派智能语音助手实现音乐播放
树莓派语音助手从诞生的第一天开始,我就想着让它能像小爱音箱一样,可以语音控制播放音乐。经过这些日子的倒腾,今天终于实现了。 接下里,和大家分享下我的实现方法:首先音乐播放模块用的是我在上一篇博文写的《用sound…...
【sgCreateCallAPIFunctionParam】自定义小工具:敏捷开发→调用接口方法参数生成工具
<template><div :class"$options.name" class"sgDevTool"><sgHead /><div class"sg-container"><div class"sg-start"><div style"margin-bottom: 10px">参数列表[逗号模式]<el-too…...
完整版:NacosDocker 安装
第一步:先直接通过命令安装 Nacos docker run --name nacos2.2.3 -d -p 8848:8848 -e MODEstandalone f151dab7a111 第二步:创建 Docker 挂载目录 # 创建 log 目录 mkdir -p /root/nacos 第三步:将 Docker 容器的文件复制到挂载目录中 …...
mysql RR是否会导致幻读?
除了rr级别的当前读,都会幻读 mysql不同隔离级别: 而对于RC级别的语句级快照和RR级别的事务级快照的之间的区别,其实是由read_view生成的时机来实现的。 RC级别在执行语句时,会先关闭原来的read_view,重新生成新的r…...
一篇进阶Python深入理解函数之高阶函数与函数式编程
当我们深入探讨了函数的作用域与闭包,了解到函数不仅是代码的执行单元,还能通过闭包完成数据的封装与保护.接下来,我们将进一步挖掘函数的强大特性,尤其是高阶函数与函数式编程,帮助你更全面地理解 Python 中函数的特性与应用. 高阶函数 高阶函数是指接受一个或多个函数作为参…...
python中Web开发框架的使用
Python 的 Web 开发框架种类繁多,常见的有 Django 和 Flask 这两个框架。它们各有优点,适合不同类型的 Web 应用开发需求。下面,我将详细介绍这两大主流框架的使用方法,让你快速上手 Python 的 Web 开发。 1. Django Django 是一…...
【AI视频】Runway:Gen-2 运镜详解
博客主页: [小ᶻZ࿆] 本文专栏: AI视频 | Runway 文章目录 💯前言💯Camera Control(运镜)💯Camera Control功能测试Horizonta(左右平移)Vertical(上下平移࿰…...
Python “函数” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业
本文主要是作为Python中函数的一些题目,方便学习完Python的函数之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、实战题、填空题,答案在第五章。 在做题之前可以先学习或者温习一下Python的函数,推荐…...
[产品管理-15]:NPDP新产品开发 - 13 - 产品创新流程 - 具体产品的创新流程:精益生产与敏捷开发
目录 前言: 一、集成产品开发IPD模型——集成跨功能团队的产品开发 1.1 概述 1、IPD模型的核心思想 2、IPD模型的主要组成部分 3、IPD模型的实施步骤 4、IPD模型的优点 1.2 基于IPD系统的组织实践等级 1.3 IPD的优缺点 二、瀑布开发模型 1、定义与特点…...
FB仿真模拟PID曲线数据
为了能直观的理解PID的参数调整与曲线数据的变化关系,使用FB写了一个模拟PID曲线数据的程序。 PID类如下: Type PIDController Private : kp_ As Double //比例增益 ki_ As Double //积分增益 kd_ As Double …...
【变化检测】基于ChangeStar建筑物(LEVIR-CD)变化检测实战及ONNX推理
主要内容如下: 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、ChangeStar模型训练与预测 4、Onnx运行及可视化 运行环境:Python3.8,torch1.12.0cu113,onnxruntime-gpu1.12.0 likyoo变化检测源码:https://github.c…...
kafka动态认证 自定义认证 安全认证-亲测成功
kafka动态认证 自定义认证 安全认证-亲测成功 背景 Kafka默认是没有安全机制的,一直在裸奔。用户认证功能,是一个成熟组件不可或缺的功能。在0.9版本以前kafka是没有用户认证模块的(或者说只有SSL),好在kafka0.9版本…...
航空航司reese84逆向
reese84逆向 Reese84 是一种用于保护网站防止自动化爬虫抓取的防护机制,尤其是在航空公司网站等需要严格保护数据的平台上广泛使用。这种机制通过复杂的指纹识别和行为分析技术来检测和阻止非人类的互动。例如,Reese84 可以通过分析访问者的浏览器指纹、…...
【HTTP】请求“报头”,Referer 和 Cookie
Referer 描述了当前这个页面是从哪里来的(从哪个页面跳转过来的) 浏览器中,直接输入 URL/点击收藏夹打开的网页,此时是没有 referer。当你在 sogou 页面进行搜索时,新进入的网页就会有 referer 有一个非常典型的用…...
使用sqoop报错
报错一: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf 这个错误表示在执行与 Hive 相关的操作时,程序无法找 org.apache.hadoop.hive.conf.HiveConf 这个类。这个类是 Hive 的配置类,它用…...
一个简单的基于C语言的HTTP代理服务器的案例
一个简单的基于C语言的HTTP代理服务器的案例。这个代理服务器可以接收客户端的HTTP请求,并将请求转发到目标服务器,然后将服务器的响应返回给客户端。 1. 代理服务器的主要代码 #include <stdio.h> #include <stdlib.h> #include <stri…...
Linux学习-Ansible(二)
基本配置 #主机清单文件 [rootharbor ansible]# cat hostlist [web] 192.168.29.161 192.168.29.162 [es] 192.168.29.171 192.168.29.172 192.168.29.173 #查看所有被管理的主机 [rootharbor ansible]# ansible all --list-hostshosts (5):192.168.29.161192.168.29.162192.1…...
[SDX35]SDX35硬件使用512MB内存,实际只初始化256MB问题分析及解决方案
SDX35 SDX35介绍 SDX35设备是一种多模调制解调器芯片,支持 4G/5G sub-6 技术。它是一个4nm芯片专为实现卓越的性能和能效而设计。它包括一个 1.9 GHz Cortex-A7 应用处理器。 SDX35主要特性 ■ 3GPP Rel. 17 with 5G Reduced Capability (RedCap) support. Backward compati…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
