当前位置: 首页 > news >正文

遂宁网站开发4399小游戏大全网页版

遂宁网站开发,4399小游戏大全网页版,做培训网站前端,方又圆网站建设第一章-非RTOS bootloader工作流程 MCU启动流程 通信协议#xff0c;SPI IIC MCU怎么选型#xff0c;STM32F1和F4有什么区别 外部RAM和内部RAM区别#xff0c;怎么分配 外部总线和内部总线区别 MCU上的固件#xff0c;数据是怎么分配的 MCU启动流程 IAP是怎么升级的…第一章-非RTOS bootloader工作流程 MCU启动流程 通信协议SPI IIC MCU怎么选型STM32F1和F4有什么区别 外部RAM和内部RAM区别怎么分配 外部总线和内部总线区别 MCU上的固件数据是怎么分配的 MCU启动流程 IAP是怎么升级的突然断电怎么办 挑了麦轮项目因为大疆RM也是麦轮面试官看样子比较感兴趣 为什么用的CAN总线 你说一下spi和 i2c和 UART的 各自的工作方式优缺点 你知道怎么判断栈溢出吗 能简单说一些你用过的stm32的一些芯片的配置吗CPU主频flash和RAM分别都是多大的 你在stm32上都做过哪些开发 你开发过哪些驱动吗 你了解整个SPI的通信过程吗SPI有几根线分别是什么你使用SPI的时候速率配置的是多少 有使用过DMA吗解释一下什么是DMA SPI有4种模式你知道是那4种模式吗 你在开发调试过程中有遇到过哪些难以解决的问题可以分享一下吗 .你有做过一些比较大型的软件开发吗就是一些比较大的功能需要做一些设计、分层的东西。 我说了其中一个项目分层驱动层、中间层和应用层。 中间层的设计你考虑了哪些因素 堆和栈有什么区别 先问点iicspi基础知识速率工作模式。 ARM体系结构。然后被逮住问7种异常是什么没答全中断触发到返回的具体行为CM3权威指南里有中断嵌套如何实现NVIC相关中断机制的具体实现还在答中断具体行为他问的应该是两级向量表如何查找中断部分结束。 c知识指针与引用的区别 答了点单指令多数据流感觉不感兴趣又说了流水线冲突与解决反问cache-miss什么情况分支预测什么原理高级计算机结构课上内容。看来芯片方向看重体系结构的知识课上学的终于有用了。 之后我就把自己的优势定位在ARM体系结构和CPU原理/OS任务切换与调度原理/静态链接知识这里推荐《程序员的自我修养》。 笔试考了DMA与中断传输的比较 画项目框图、我开始把所有项目叙述和重点问题全部写纸上每天背一遍。 什么叫软硬实时、m4内核双堆栈机制、顺便答了arm模式切换和上下文切换bootloader链接原理 在职学姐告诉我应该答不喜欢华为的文化。 大华股份、算法工程化岗。提前准备了一些ucos移植arm指令集流水线和静态链接的知识事实证明准备的方向很对他很感兴趣。 问了ucos移植的细节提到了一种并发的指令集 最后问我的优势劣势分别是什么答优势是对底层原理的理解和对编译器的了解劣势是不懂Linux。 中断机制大概有多少中断可修改向量表吗通常不可有例外又问m4内核的双堆栈机制。BL指令的跳转范围32MB。 静态链接深挖强弱符号的东西最后说我对底层还是比较了解。 IIC与SPI的不同片选方式异步同步IIC读写方向如何区分地址位最后一位的高或低 9轴数据的意义答了姿态解算中队数据的融合。 手撕代码环节特意找了个最简单的给我牛客原题链表表示的两数相加 问信号量进入临界区的操作为什么关中断可以保护临界区cpsr如何保存。 问静态链接预处理是什么编译选项-g是什么意思如何使用ar生成库文件这块不熟会不会gdb不会。那就说说makefile一条指令的格式.c生成.o什么选项.o生成.elf什么选项.o与.elf的区别联系举个区别的例子。 项目直接画个框图给他说的熟的不能再熟了。然后提问中断机制这就进入了我的“模板”然后重点问了流水线效率问题为什么中断返回PC要减4拿出试卷让我答没写完的题。然后让结合项目代码分析如何避免流水线冲突调整指令执行顺序分支预测增加部件 静态链接也是熟的不能再熟的东西是我亮点之一。 老生常谈叙述中断机制bootloader模板开启引出流水线 如果使用C导致MCU资源不够如何解决答直接操作寄存器 相关的通信协议I2C;SPI;串口有没有用过 讲一下串口通信协议串口通信如何校验原理 有没有遇到过IO口输出电压稳定的问题如何解决的 项目中有没有用到I2C主要用在哪方面讲一下选择I2C的原因 静态局部变量与局部变量的区别(很基础) 为什么局部变量未定义时每次初始化的结果是不确定的是个真随机数还是个伪随机数我答与栈的工作过程有关 那么嵌入式中栈的工作机制是什么不会 我连续调用同一个函数两次他的局部变量初始化结果是否会一致 远程网络升级嵌入式他就问我你有考虑过你的固件安全性问题吗如果有其他人通过网络途径下载一个非官方的固件包你怎么去判断 C语言问题 函数指针了解么在哪里有用到 struct字节对齐了解么 什么是大端小端 内存分配函数了解么如果系统中只有10K内存而我要分配12K能分配成功吗如果能那么将分配到的区域用memset进行初始化会成功吗 除了堆区程序运行的内存中还有哪些区域 C问题 智能指针有了解吗容器了解吗vector实现的机制是怎么样的迭代器有了解吗讲解一下你的理解、 嵌入式单片机一面 1和32架构的区别 \3. Stm32处理中断的过程 \4. 保护现场保护什么东西寄存器和堆栈 \5. 要保护那些寄存器 \6. Stm32是要中断嵌套的吗什么时候需要什么时候不需要 \7. Cortex-m系列使用浮点会对stm32中断效率产生什么影响不清楚 \8. 对嵌入式哪方面比较深刻研究比较深入的 \9. Uart是怎么样的接口 \10. Uart异步不需要时钟那为什么还要设定波特率 \11. Spi跟uart在使用上有什么区别 \12. Spi和uart需不需要区分主从 \13. Spi的从是否可以主动读写主的数据怎么做到的 \14. 写iic、spi、uart驱动需要哪些注意的地方 \15. Iic、spi、uart接收方式有三种轮询中断和DMA如果是中断收到的数据要谁去申请谁去释放 \16. 中断里数据往一个buffer去放这个buffer要谁去申请 \17. 如何保证buffer读和写的互斥 static用法变量存储位置 C语言编译后的内存分布 volatile变量作用修饰哪些变量为什么这些变量要用volatile修饰 SPI四种模式 串口发送一个字节多少位 在做硬件驱动的时候碰到的比较困难的问题 项目中有制定通讯协议就问有出现过什么通讯错误出现错误了怎么办通讯丢失怎么办 STM32启动过程 C为什么有指针还要引用 一些总结摘抄‘ 作者DJI小迷弟 链接https://www.nowcoder.com/discuss/794763?channel-1source_idprofile_follow_post_nctrack 来源牛客网 C/C static作用变量加入static以后在内存中存储位置的变化。volatile作用C为什么有指针还要引用为什么不和JAVA一样抛弃指针delete和delete[]的区别虚函数是用来干嘛的虚函数机制怎么实现的虚表指针在内存中的存放位置C多态怎么理解C有哪些多态的典型例子叙述程序编译都包含哪些阶段每个阶段干了什么CMake是如何包含文件目录的全局变量和局部变量在什么地方堆栈如何申请资源C语言编译后的内存分布我连续调用同一个函数两次他的局部变量初始化结果是否会一致函数调用的过程你说静态局部变量存储在静态区那么静态区的创建和消失是在什么时候?我在windows里面运行了多个进程其中一个进程执行完了他的静态区会如何处理多进程的内存管理问题静态局部变量与局部变量的区别为什么局部变量未定义时每次初始化的结果是不确定的是个真随机数还是个伪随机数嵌入式中栈的工作机制是什么struct字节对齐了解么容器了解吗vector实现的机制是怎么样的迭代器有了解吗讲解一下你的理解内存分配函数了解么如果系统中只有10K内存而我要分配12K能分配成功吗如果能那么将分配到的区域用memset进行初始化会成功吗 处理器架构 作者DJI小迷弟 链接https://www.nowcoder.com/discuss/794763?channel-1source_idprofile_follow_post_nctrack 来源牛客网 处理器架构 51和32架构的区别MCU可以运行Liunux吗为什么STM32启动过程上电开始-main执行的过程中断响应执行流程中断上下文指的什么保存中断上下文是完成的什么操作以STM32为例都有哪些寄存器被保存STM32 F1和F4的区别Cotex-M系列使用浮点运算对STM32中断效率会产生什么影响STM32常见寄存器:R13(SP,堆栈指针)R14(LR连接寄存器)R15PC程序计数器作用什么是大小端模式 常见硬件接口协议/总线 SPI SPI有哪四种工作模式 2IIC 3UART Uart异步不需要时钟那为什么还要设定波特率 4FSMC 5AXI 四旋翼中的姿态解算算法是如何运行的两个部分一个是数据滤波一个是姿态解算Mahony。 PID算法的实现是库还是自己写自己写的算法不难难的是参数调试 讲一下PID算法的实现过程 简单说一下spi协议spi协议最大传输速度。什么是平衡二叉树为什么要这样设计平衡二叉树 链表和数组的区别优劣 IIC协议的最大通信速率、你觉得什么因素限制了IIC速度 问stm32使用了哪些外设协议 答串口、iIC、spi、pwm 问stm32使用了哪些外设协议 答串口、iIC、spi、pwm 问做项目时stm32芯片的选型 答外设数量、内存大小。 问stm32程序出问题如何解决 答通过keil里的debug功能端点、单步调试。 问一些传感器的数据采集如何保证实时性 答通过在通用定时器的中断中释放信号量同步任务、ucos系统的延时函数实现。 问如何调试PID参数仿真还是实测 答配合上位机软件在室内场地实际调试参数。 问在飞行器遥控中蓝牙通讯的距离对数据传输有无影响 答调试时飞行器与上位机的距离较近没遇到这个问题。 下面大华单片机的题目 如何使用软件实现iic spi有哪些信号线 从大一到大三写的代码多少行手写内存复制函数提问s与d重叠时如何处理 说一说c标准库的一些函数名给我整懵了 深圳小米 操作系统的中断上半部和下半部 中断中不能执行什么函数 手写笔试题求斐波那契数列 看程序回答输出。指针相关的题 南京地平线 询问飞行器项目询问 飞行器项目的姿态解算算法使用解算算法的优点相比于卡尔曼算法的优点。实时操作系统的实时性是如何实现的。主要是考察对项目的掌握程度。 星宸科技 首先是一个技术官针对笔试提问、一步步引导我做出笔试题。然后提问了一些C语言的知识内存管理等RTOS的信号量、竞争等。 随后是主管面试画图解释C语言实现动态内存分配。 ARM相关的 ARM是32位地址空间是 ARM是32位地址空间是2的32次幂4G地址空间。所有的外设FLASH,RAM,SD卡等等都映射到这4G的空间上。比如大部分ARM7都把RAM映射到0x40000000,所以对RAM的操作就在0X40000000开始的地址上。FLASH从0X0开始。使用FLASH还要考虑地址重映射就是选择片内FLASH或片外FLASH。 FLASH一般是8位或16位当它接到32位的ARM上时地址位就会错位。对于16位FLASHFLASH的A0要接ARM的A1。对于8位FLASHFLASH的A0要接ARM的A0。ARM的A0对应8位ARM的A1对应16位ARM的A2对应32位如果FLASH是32位那么FLASH的A0接ARM的A2. STM32启动方式和程序存储 https://blog.csdn.net/weixin_42279760/article/details/121063006 此文档主要介绍在stm32程序下载与运行时FLASH和RAM的使用情况 1.背景介绍 因为stm32内部有两个存储空间一个是片上的FLASH一个是片上的RAM其中FLASH相当于硬盘其空间一般较大; RAM相当内存,其空间一般较小。不过使用者可以通过 BOOT1/BOOT0 引脚选择程序是在FLASH或RAM中运行RAM运行执行效率较高。 2.存储概况 以stm32f103zet6为例此芯片的FLASH的起始地址为0x08000000,SIZE 0x80000共512K字节RAM的起始地址为0x20000000SIZE 0x10000共64K字节因为不同的SRAM芯片的型号不同但是在stm32中的起始地址都是0x20000000SIZE。除此之外还有一块为系统存储器起始地址为0x1FFFF000,SIZE 0x7FF共2K字节其中内置了ST提供的Boot Loader,可以通过该Boot Loader下载程序到FLASH详细部分在此不做讨论。 3.编译生成信息分析 Keil5 编译生成 compiling stm32f10x_tim.c… linking… Program Size: Code7632 RO-data336 RW-data72 ZI-data55640 FromELF: creating hex file… After Build - User command #1: CopyHex_Flash.bat 1 2 3 4 5 6 上图为Keil5工程编译生成信息这些信息都代表着程序占用的空间。 Code表示程序代码部分所占空间 Ro-data表示程序定义的常量所占空间eg:const定义数据类型 RW-data表示已初始化的全部变量所占空间 ZI-data表示未初始化的静态和非静态全局变量以及堆栈所占空间 在以下三种情况中FALSH和RAM的占用情况 运行时程序占用FLASH的大小 SIZE Code RO-data RW_data 运行时程序占用RAM的大小 SIZE RW-data ZI-data 烧录时程序占用FLASH的大小 SIZE Code RO-data RW-data 4.疑问解析 程序运行时RW为什么既在FALSH中出现又在RAM中出现呢 这是因为FALSH部分属性为只读的而RAM的属性虽然是读写但是里面的数据不能掉电保存因此在烧录STM32程序的时候只能先将RW-data保存到flash中在上电之后系统再将flash中的RW-data拷贝到RAM中进行读写操作因此在FLASH和RAM中都要留出RW-data的占用空间。 为什么烧录时没有ZI-data放在flash中呢 这是因为ZI-data中的数据都是0没必要包含只有程序运行之前将ZI-data所在的区域这一区域在RAM中一律清零即可。包含进去反而浪费FLASH的存储空间。 STM32F103的RAM和FLASH大小 小米嵌入式面经 1.变量声明和定义的区别 2.const和指针组合有几种情况分别介绍一下。 3.项目中用到了spispi有几种工作模式简单介绍一下。 4.static关键字 5.volatile关键字举几个什么时候需要用到volatile关键字的例子。 6.进程与线程区别通信方式 7.C语言内存分区未定义的全局变存放在哪个区。 剩下问的问题很基础就c语言加操作系统基础太基础了反而记不清了。八股都答出来了所以印象不是很深。 两面总共手撕三个代码 1.删除链表重复节点。剑指offer原题难度中等 2.将字符串里的数字提取出来然后转成数字打印。难度简单应该是leetcode的题掌握数组基础即可记得数字范围很大用long接收 3.一个循环输入满足某某条件跳出结束即可。难度在于用 scanf****!EOF即可牛客有输入练习做多了就会了 百度 北京 嵌入式linux提前批 staticvailateconst关键字。 3.栈和队列。 4.数组和链表。 代码 1.合并两个链表按顺序。 2.去除字符串里面的空格。 马上面1.5h 1.还问项目问里面的难点还问了一下本科的毕设因为写在简历上。 2.也问了static关键字函数里用static定义的变量存在哪个区 3.malloc在函数里定义一个很大的数组应该直接定义还是用malloc? 代码 1.复制链表。 2.判断计算机是大端还是小端。 3.两数之和leetcode第一题。 4.Linux使用多线程实现软件定时功能。 华为 上海无线 嵌入式软件工程师 9.11 笔试 1.有向无环带权图找关键路径。 2.内存分配算法。 3.两个数组给定规则求最长有连续关联数据的子数组。 9.24 一面45min 1.介绍项目问软件部分的结构框架 \2. static关键字 3.大小端字节对齐问网络通信一般是什么字节序 4.存储结构堆和栈的区别还有哪些存储区 5.宏函数和内联函数的区别。#define在编译的那个环节使用 6.问指针问题给出四行代码问含义 int *p[10] int (*p)[10] int* (*p)[10] int (*p)10 7.手撕一个代码给定数组和一个整数k问有多少长度至少为2且元素和为k的倍数的子数组。开始写的方法暴力后面和面试官讨论说出来思路。 当天过了一小时二面45min 1.介绍项目 2.大小端 3.字节对齐问题给一个结构体 struct{ char a; char b; int c; } 问在32位机器上使用sizeof()多大我说8字节面试官说还可能是12字节如果是这种情况 struct{ char a; int c; char b; } 4.数据结构问满二叉树完全二叉树BST二叉搜索树说自己的理解和区别。 5.快排冒泡排序的时间复杂度什么情况下快排时间复杂度比冒泡高 6.手撕一个代码二叉树路径总和位sum的路径有多少不一定从根节点开始但一定从上向下。用两层递归写出来。 7.问对无线通信有什么了解。 malloc分配的内存在哪里。 单片机启动程序在执行main之前的是什么。 keil怎么使用库。 问了堆和栈的区别static关键字。问到malloc()后不释放会怎样。 第二章-RTOS相关 操作系统基础任务调度同步多线程 RTOS 你知道怎么判断栈溢出吗 进程通信有使用过一些锁和同步的东西吗 多个进程在获取不到锁的时候会进入什么状态 A:阻塞。 假设一个低优先的进程A获取先到锁高优先级的进程B获取不到锁那高优先级进程B的进行也会阻塞吗 A:还是会阻塞。 那如果还有一个任务C优先级介于A和B之间那么C任务会去抢占CPU资源吗 会的. 那这样导致B等待资源的时候会越来越长这样的问题有方法可以解决吗因为B的优先级才最高。 A:先把A优先级提高等A释放后再给B。 用什么方式提高A的优先级 RTOS有函数可以提高。 那么A的优先级需要提高到多少 面试过后才突然想起来从问题15-20其实面试官想考的是“优先级反转问题”。但是我当时回答的磕磕绊绊甚至有一些错误。 又问我信号量组织方式 问单片机与嵌入式系统的最大区别在哪里答嵌入式系统可以跑多任务然后逮住OS开始问。任务在内存中的组织方式TCB-用户栈-用户代码上下文切换时任务在内存中是如何变动任务调度点优先级反转如何解决任务抢占如何发生通信机制。 信号量实现的底层原理可不可以用一个全局变量代替信号量的计数值答不可以信号量是临界资源要进临界区问怎么进临界区答关中断保存cpsr他比较满意。 大疆一面问项目反复问上系统的必要性估计是个搞os的根本不懂四轴以前栽过这次答圆了又主动答了中断机制看他不是很感兴趣。最后问我懂不懂os的内存管理答不懂之后就是笔试编程为啥不做答嵌入式对算法只是了解项目里没用到。 二面把四轴的控制流程说了一遍他对四轴还是懂一点但飞控算法没问难道大疆不该很看重这一块吗把所有项目大概都问了一遍无异常。然后问你的劣势在哪答不会Linux又问我图像处理的算法靠本科上课学的还没忘干净的知识答一点中位数滤波边缘滤波想深问我说我只是了解。感觉他不很满意 二面挂了挂的很不甘心我的cpu原理知识还没吐出来呢静态链接也没问arm这块就问了个中断机制。回来反思为什么引不出自己的优势感觉自己所答还是很零散中断就中断os就os指令集就指令集串不起来。后来我**找到一种组织的方式**能从中断入手把arm架构上下文模切换指令流水和程序优化串起来讲形成一个模板只要问到其中某一个知识我就能把全部一串说出来他感兴趣自然再深问。涨了一波经验挂的不亏。 双堆栈机制与模式切换任务调度点与任务在内存中的组织方式TCB-用户栈-用户代码优先级反转与解决死锁的原因然后makefile语法一个。 问CPU知识“模板”用上了。先问m4 的双堆栈与上下文切换17个寄存器的功能LR的作用。顺势答为何中断返回要LR中的值减4然后指令流水、CPU知识就跟着出来了。又问分支预测发生在指令处理的哪个阶段cache的作用回写与写透的区别为什么设计三级缓存。 线程切换是怎么设计的 信号量、互斥量底层是怎么设计的 内存管理是如何设计的 中断管理是如何设计的 你自己设计的OS相比于别人的有哪些创新之处 实时操作系统的调度器设计细节包括调度算法设计和上下文保存中的细节 一个操作系统中哪些地方会调用调度器 一个信号量释放之后在调度下一个线程的时候是如何选择的 如何去评估一个操作系统的实时性是否满足要求如何去测算中断响应时间 MCU上如何设计用户态和内核态如何保障操作系统的安全性 平时做驱动外设的时候有没有遇到过一些棘手的问题如何解决的 这是一个人的 我的项目中freertos创建了几个任务都是干嘛的任务之间如何设计数据交互反正基本上属于让你把项目给他完完整整的介绍清楚 静态局部变量与局部变量的区别(很基础) 为什么局部变量未定义时每次初始化的结果是不确定的是个真随机数还是个伪随机数我答与栈的工作过程有关 那么嵌入式中栈的工作机制是什么不会 我连续调用同一个函数两次他的局部变量初始化结果是否会一致 最后面试官说其实我想问一下你函数调用的过程。 然后你说静态局部变量存储在静态区那么静态区的创建和消失是在什么时候?答创建时根据程序需求在主函数执行之前执行一个准备函数其中进行内存申请消失是随着程序的退出而消失 那么我在windows里面运行了多个进程其中一个进程执行完了他的静态区会如何处理 最后面试官说可能你所接触的都是单进程很少甚至忽略进程这个概念其实我想问的是多进程的内存管理问题。 你任务的优先级是怎么安排的高优先级的的线程RTOS会怎么样处理 相同优先级的几个线程是怎么运行的 对于临界区数据的处理使用互斥锁和自己通过条件来判断哪样更好为什么上下文切换的时候系统做了些什么 Linux问了多线程的处理我只是用树莓派做过小项目就回答了一下在树莓派中我是怎样处理的然后面试官问如果你用的是四核心处理器那么分配300个线程合理吗怎样分配才算合理 面试官还问了多进程但我没用过直接就说没有了解过了。 RTOS中哪里会进行线程调度 线程切换为什么用PendSVC有什么优势 线程优先级反转如何解决? 用了rtos所以详细问了几个线程间的通信和同步并问为什么用这种方式并设置场景让我换别的方案 RTOS采取哪些手段保证他的实时性 操作系统 Freertos支持的任务调度方式详细说下每种方式任务线程间通信方法进程和线程的区别互斥量和信号量的区别优先级翻转如何避免优先级翻转STM32任务切换为什么用PendSVFreeRTOS的内存管理怎么实现的为什么这么做对于临界区数据的处理使用互斥锁和自己通过条件来判断哪样更好为什么 在你的项目中有无接触过信号量、资源争抢的情况无、但我举了一个信号量同步的问题 RTOS的实时性如何保证、RTOS中如何测量任务的运行时间、RTOS的中断如何管理、RTOS的并发竞争、IIC协议内容、
http://www.w-s-a.com/news/417917/

相关文章:

  • 网站ui设计例子怎么做打鱼网站
  • 在1688做公司网站wordpress category
  • 单页面 网站 模板网站代理公司
  • 手机网站底部电话代码网站后台点击添加图片没有反应
  • 龙岩建设局网站声明自学制作网站难不难
  • 济南网站优化小黑godaddy中文网站开发
  • 做微课常用的网站广州seo优化推广
  • 主机屋如何做网站电脑网页游戏大全
  • 工作网站建设中布线费用账务处理特色的重庆网站推广
  • dede 网站地图模板htm写作网站水平哪个最好
  • 服务器上的网站erp教学零基础入门
  • 网站建设58设计资料网站
  • 如何把动态图发网站做头像网页设计实训报告小结
  • 做简历用的网站wordpress版权说明
  • 网站关键词有哪些网站新闻前置审批
  • 怎么自己注册网站义乌做公司网站
  • 做哪种网站赚钱苏州住房城乡建设部网站
  • 镇江做网站学编程学哪一种比较好
  • 华美天一建筑公司网站赚钱做任务的网站有哪些
  • asp网站打开速度慢家乡网页设计教程
  • 网站 设计 深圳书店网站的建设
  • 北京网络营销推广培训哪家好南宁软件优化网站建设
  • flash网站引导页仓库管理系统源码
  • 济南网站制作公司排名营销型网站管理系统
  • 公司网站设计要多少钱用什么做网站的访问量统计
  • 湖北省住房和城乡建设厅门户网站沈阳网络平台推广公司
  • 河南平台网站建设公司网站如何提高转化率
  • 网站及推广wordpress 分享主题
  • 房产网站有哪些如何自己建一个微网站
  • 青岛市黄岛区城市建设局网站手机域名访问网站怎么进入