嵌入式软件工程师常见面试问题

article/2025/8/21 9:25:36

(嵌入式软件工程师面试题)

1、stm32启动方式?

有三种:
从Flash启动,将Flash地址0x0800 0000映射到0x00000000,这样启动以后就相当于从0x0800 0000开始的,这是我们最常用的模式;
从SRAM启动,将SRAM地址0x20000000映射到0x00000000,这样启动以后就相当于从0x20000000开始的,用于调试,笔者基本没用过。
从系统存储器启动(System memory),将系统存储器地址0x1FFFF000映射到0x00000000,这样启动以后就相当于从0x1FFFF000开始执行的,值得注意的是这个系统存储器里面存储的其实是STM32自带的Bootloader代码,这其实是一个官方的IAP,它提供了可以通过UART1接口将用户的代码下载到Flash中的功能,然后将boot0置0,复位单片机,便可以Flash启动。
启动模式选择在这里入图片描述

2.STM32上电到main函数之前做了什么事?

; Reset handler
Reset_Handler    PROC     :定义函数EXPORT  Reset_Handler             [WEAK]IMPORT  __main       : 引入函数IMPORT  SystemInit   : 引入函数LDR     R0, =SystemInit  : 将函数放到R0BLX     R0               : 执行LDR     R0, =__mainBX      R0ENDP

1、初始化堆栈指针SP=_initial_sp,启动方式不同,指向地址不同。
2、初始化PC(通用寄存器指针)指针=Reset_Handler,若果是Flash启动就是0x0800 0000
在这里插入图片描述
3、SystemInit(配置系统时钟)
4、__main(MDK自带的函数),初始化堆栈,.data .bss
5、最终调用main 函数去到C 的世界

**

3.FreeRTOS移植过程?

**
(内核源码,头文件,内存,接口)
1、下载源码
2、拉取FreeRTOSv9.0.0\FreeRTOS\Source的所有.c文件=>>内核源码
3、拉取FreeRTOSv9.0.0\FreeRTOS\Source\portable{\MemMang,\RVDS\ARM_CM3}
4、拉取FreeRTOSv9.0.0\ FreeRTOS\Source\include==》头文件
5、工程中C++配置目录
在这里插入图片描述
6、修改FreeRTOSConfig.h文件,堆栈空间问题,时间节拍
7、修改服务中断函数,stm32f10x_it.c,SysTick_Handler(void)
8、注释掉PendSV_Handler()、SVC_Handler()函数

4.知道volatile关键字吗,解释一下

1、volatile 可以保证对特殊地址的稳定访问(变量地址),
2、到地址去读取
3、告诉编译器不要优化
4、用处:
中断服务程序中修改的变量需要加 volatile;
全局变量;
多任务环境下各任务间共享的标志应该加 volatile;

volatile int a=10;
// 别的任务中中断处理,将a变成了20;,编译器并不知道
int b=a;  // 正常:b=20,b=10;

http://chatgpt.dhexx.cn/article/IRM9ZtM7.shtml

相关文章

嵌入式软件工程师和嵌入式硬件工程师有什么区别

什么是嵌入式硬件工程师 随着嵌入式技术的普及,硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如: 底层驱动…

学软件嵌入式需要学c语言吗,嵌入式软件工程师需要学什么?

随着智能电子设备的普及,市场对嵌入式开发人员需求增多,嵌入式系统无疑成为了当前最热门极具发展前途的IT应用领域之一。很多人想要入门的同学都想学习这个却不知道嵌入式软件工程师需要学什么?今天传智播客就来说说嵌入式软件工程师需要学什么? 现在学习嵌入式就业的前景也…

如何成为嵌入式软件工程师,成为嵌入式工程师赚不赚钱?

自身对嵌入式软件工程师的感想 前言一、嵌入式软件是什么?一、成为嵌入式工程师赚不赚钱?二、嵌入式工程师不赚钱还做他干啥?三、如何学习?四、尝试自己学习新东西五、总结 前言 我所想阐述的事 在看了很多b站的垃圾推荐“”嵌入…

嵌入式软件工程师笔试面试指南目录

文章目录 必读作者简介嵌入式软件工程师笔试面试指南简介如何使用这份资料你可以得到什么嵌入式软件工程师笔试面试指南的价值某外企面试官对这份资料的评价(20210514)收获 oppo 联发科 京东offer应届生的评价(20210430)大疆offer…

什么是嵌入式软件工程师?需具备哪些能力?

计算机嵌入式逐渐被大家认可,然而嵌入式软件工程师到底是什么?做一个好的嵌入式软件工程师又需要具备哪些能力呢?今天尚观教育小编跟大家聊一聊。 1.嵌入式软件工程师是什么? 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组…

嵌入式软件工程师待遇如何?嵌入式开发越老越吃香吗?

嵌入式软件工程师待遇绝对是领先大多数行业的,而且最近两年出现薪资涨幅大,企业依然招不到人的现象。 口说无凭,我们通过招聘平台的数据来看是最靠谱的。 大家好,我是无际。 一个从事嵌入式单片机开发10年的老工程师&#xff0c…

嵌入式软件工程师是干啥的?

文章目录 前言 一、啥是软件? 二、什么是嵌入式软件 三、嵌入式软件如何开发 三、嵌入式软件工程师知识技能 编程语言知识: 自动控制知识: 硬件基础知识: 开发工具使用: 软件架构设计: 软件开发流程&#x…

医药行业集团集采管理平台深化招投标管理,提升企业采购管理水平

新形势下,中国医药行业正面临着新一轮重大转变,国内的政策环境,产业结构和病患需求都在发生快速变化,加速推动医药行业数字化转型已经成为大势所趋,企业的数字化战略需要迎面解决转型性变化和应对被更多敏锐竞争对手超…

SSM医药销售管理系统毕业设计源码042322

SSM医药销售管理系统 摘要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的…

基于ssm医药药品管理系统

开发工具eclipse,jdk1.8 数据库mysql5.7,tomcat8 技术:springmvcspringmybatis(ssm) 主要功能如下: ①登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作; ②信息查询…

云时代下,医药行业管理居然这么简单

摘要:为了持续打造核心竞争力,英克康健联合华为云,基于云数据库RDS for PostgreSQL全新打造了一个高性能、大容量、高可用的SaaS医药管理系统,助力万千药企业务迈上新台阶。 本文分享自华为云社区《云时代下,医药行业管…

SSM医院医药药品管理系统

《SSM医院医药药品管理系统》该项目采用的技术实现如下:jspssm框架(springspringMVCmybaits)Mysql数据库Tomcat服务器 实现了最基本的医药药品管理功能,其中客户即病人与经办人即医生和药品产生联系,即每一个顾客都有…

医药管理信息系统(javaWeb)

信息需求 顾客:对于顾客需要知道他的编号、姓名、电话号码、经办人、录入日期以及已购药品; 经办人:对于经办人需要知道他的编号、姓名、电话号码; 药品:对于药品需要知道它的编号、名称、数量、功效; 查…

医药系统

3.1、设计任务与目标 3.1.1 分析论证:设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。 3.1.2目的意义:在本设计中,首先从数据文件中读出各药品的信息记录&a…

什么是医疗健康管理系统?

健康管理系统是通过物联网、云计算等技术为基础,省时省力,开源节流,在工作中大量就医繁琐程序。通过医疗健康管理系统,就可以省去之间繁琐的程序。随着药品监督制度的完善,国家药监部门针对各医药零售企业推出了严格的…

医药进销存管理系统

医药进销存管理系统 分析部分 药品基本情况表:药品编号,药品条码,药品名称,通用码,拼音码,单位,规格码,剂型,产地,包装数量,有效期,质量标准,经营方式,批号,零售价格,进货价格,批发价格,药品类别,医疗编号客户基本情况表:客户编号,客户名称,拼音码,客户地址,所属地区,邮政编码…

(附源码)ssm医药销售管理系统 毕业设计 042322

SSM医药销售管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的…

医院药品管理系统开源项目-04 【药品管理】

一、创建药品数据 大致上和之前供货商一样,CtrlC复制粘贴修改 1.1 创建pojo实体类 package com.dh.pojo;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotat…

数据库设计——医药销售管理系统

开发环境和开发工具 操作系统:win8.1 开发环境:Mysql、Web 开发工具:Workbench、Eclipse、JDBC 功能需求分析 员工有权查看、添加会员,查看、添加供应商,查询药品(输入药品编号或名称、类别等查询该药…

医院管理系统/医院药品管理系统

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…