首页 > 编程知识 正文

大疆嵌入式软件工程师工资,嵌入式报告

时间:2023-05-06 14:52:07 阅读:13532 作者:887

百度(百度)

紫光

大疆

艾智怡

科大讯飞

cvte

尼奥

大华

乐鑫

联发科

相关文章:

大疆嵌入式面试总结

题型:单选、多选、填空题、答疑、编程

单选,多选和填空

)1)缓存还是寄存器快

CPU —寄存器缓存内存

)波特率以什么为单位,比特率以什么为单位

波特意味着每秒传输一个符号,而一位意味着每秒传输一位(位)。

在实际应用中,作为最常用的串行通信协议的一个例子,前置条件包括:一个开始位、八个数据位、零个奇偶校验位、一个停止位,即,8、n、1; 8数据位、1停止位、无奇偶校验位。

分析此条件,表示传输1字节(8位)的数据时,发送1字节的数据需要总线进行10个电平转换,串行总线需要10位。

假设每秒可以发送9600位,则使用9600/10,则每秒可以发送960字节数据,每发送1字节所需的时间为1/960~=0.00104166…s~=1.041666

此时,可以得出以下结论:以9600波特率,约1ms即可发送1字节的数据。

)3)对ARM处理器异常的理解

外部中断、内部异常、系统调用都是

)4)掌握Cotex_M的基础知识

)5) LDR R0,=0x12345678是否直接给R0赋值

将0x12345678地址中的值存储在r0中。

)6) IO密集型知识

)7)支持优先级继承的调度程序是否动态更改任务的优先级?

)8) git命令相关知识

)9)什么不是实时操作系统

需要注意的是,带有RT的基本上是实时操作系统

WIN、Linux都是时分操作系统

(10 ) ARM_V8是否支持64位?

大致而言,ARMv8体系结构采用64位兼容32位方法,就像AMD和Intel的做法一样。 您可以在32位模式下运行APP应用程序,也可以在64位模式下运行。

) 11 ) NEON、PMIPB等操作

) 12 ) SPI有几种工作模式

SPI总线有四种工作方式(SP0、SP1、SP2、SP3 ),其中使用最广泛的是SPI0和SPI3方式。

) 13 )堆栈空间的大小会不会影响编译的nxddh固件的大小

就是这个。 好久没听说过了

) 14 ) 00编译优化缺省情况下不优化吗

(15 )在线在线基础知识及其作用

在c/c中,为了解决频繁调用的小函数大量消耗堆栈区域(堆栈内存)的问题,特别引入了inline修饰符作为内联函数。 堆栈空间是程序的本地数据,也就是函数中数据所在的内存空间。

) 16 )图像的大小和码率是什么? 带宽需要多少Gbps

) 17 ) VTOR作用,正常中断只堆栈R0-R3数据,PRIMASK作用

VTOR中断向量表偏移寄存器

cortex-M3中断调用过程

进入堆栈

发生中断后,在执行中断服务函数之前,硬件会自动将xPSR、PC、LR、R12和R3‐R0共8个寄存器推入适当的堆栈中(中断前使用的MSP和中断前使用的MSP )

(18 )内联函数的作用

避免函数调用开销

) 19 ) ARM Cotex -M是哈佛系统吗? -A冯诺依曼体系?

部分arm(Cortex-m系列)为哈佛结构,其他arm(Cortex-m )为冯诺依曼结构(或更准确地说为混合结构)。

6520 ) I2S总线相关知识

I2S的特征

支持全双工通信和半双工通信。 (单工数据传输仅支持数据的单向传输。 半双工数据传输可以双向传输数据,但在某个时间点,数据只能单向传输。 这实际上是切换方向的单一通信。 由于全双工数据通信可以同时双向传输数据,所以全双工通信是两种单工通信方案的组合,发送设备和接收设备都需要独立的发送和接收能力。

支持主站/从站模式。 (主模式)主CPU作为主CPU向从站(装载设备)发送和接收数据。 从站模式:主CPU作为从站,收发主机(装载设备)的数据。 主从的区别其实是触发器的作用,主站主动触发,从站只能被动响应触发器。 )

I2S总线上有三条数据信号线。

1、连续串行时钟:

对应于数字音频的各位数据,SCK有1个脉冲。 SCK的频率=2采样频率采样位数。

2、选择ws:(wordselect )字段(频道)

用于切换左右频道的数据。 WS的频率=采样频率。

命令选择线表示正在传输的通道。

WS用“1”表示正在传输左通道的数据。

WS为“0”,表示正在传输右通道的数据。

WS

可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。
3、SD: (serial data) 串行数据
用二进制补码表示的音频数据。 I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。

(21)I2C主机发送__作为初始信号
起始信号:SCL为高电平期间,SDA线由高电平向低电平的变化

问答:
(1)栈空间大小多大,往一个数组写4K btye数据栈会不会溢出?如果会还有哪些情况会溢
出?如果不会溢出会发生什么问题?
自行测试linux的栈的默认空间在7~8Mbyte之间接近8M,通过ulimit -s可以知道理论值是8M
但是栈的空间是不固定的,我们可以用ulimit -s 10240 更改其栈空间,单位KByte
当然不同系统的默认栈值可能不一样,比如win系统的栈不到1M

对于堆内存来说,可以申请的内存非常大,几乎可以申请超万个G我也不知道为什么。
当一个进程退出后,不管是正常退出或者是异常退出,操作系统都会释放这个进程的资源。包括这个进程分配的内存。

(2)写一个宏定义,给一个结构体成员地址,返回结构体的首地址

编程题:
(1)给一个正整数n,求从1-n这些数字总共出现’1’的次数
(2)求圆周率的N位精度,这个N可能非常非常大

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。