我笔试的是DSP工程师。卷子只有一张纸,正反两页。一共10道题。答案作答在给的空白的纸上。
1定点DSP芯片和浮点DSP芯片是什么?有什么优缺点?
定点DSP和浮点DSP主要是按DSP工作时的数据格式来区分的。数据以定点格式工作的DSP是定点DSP,数据以浮点格式工作的DSP是浮点DSP。浮点DSP能进行浮点运算,一次完成,由硬件实现。定点DSP无法直接进行浮点运算,完成浮点运算需要借助程序来实现。
优点:浮点DSP比定点DSP 的运算范围要大。浮点DSP 的寻址范围也大些。浮点DSP的精度大些。浮点运算速度大。
缺点:定点DSP需要时刻注意运算的溢出。精度不够,定点DSP运算速度慢。
2DSP和通用CPU的最大区别是什么?有什么共同点?
(1)首先是体系结构:CPU是冯诺伊曼结构的,而DSP有分开的代码和数据总线即“哈佛结构”。
(2) 标准化和通用性:CPU的标准化和通用性做得很好,支持 *** 作系统,所以以CPU为核心的系统方便人机交互以及和标准接口设备通信,非常方便而且不需要硬件开发了;但这也使得CPU外设接口电路比较复杂,DSP主要还是用来开发嵌入式的信号处理系统了,不强调人机交互,一般不需要很多通信接口,因此结构也较为简单,便于开发。如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于一个偏重控制一个偏重运算了。
(3)流水线结构:大多数DSP都拥有流水结构,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,这样可以大大提高系统的执行效率。但流水线的采用也增加了软件设计的难度,要求设计者在程序设计中考虑流水的需要。
快速乘法器:信号处理算法往往大量用到乘加(multiply-accumulate,MAC)运算。DSP有专用的硬件乘法器,它可以在一个时钟周期内完成MAC运算。硬件乘法器占用了DSP芯片面积的很大一部分。(与之相反,通用CPU采用一种较慢的、迭代的乘法技术,它可以在多个时钟周期内完成一次乘法运算,但是占用了较少了硅片资源)。
地址发生器:DSP有专用的硬件地址发生单元,这样它可以支持许多信号处理算法所要求的特定数据地址模式。这包括前(后)增(减)、环状数据缓冲的模地址以及FFT的比特倒置地址。地址发生器单元与主ALU和乘法器并行工作,这就进一步增加了DSP可以在一个时钟周期内可以完成的工作量。
硬件辅助循环:信号处理算法常常需要执行紧密的指令循环。对硬件辅助循环的支持,可以让DSP高效的循环执行代码块而无需让流水线停转或者让软件来测试循环终止条件。
3占先式系统和非占先式系统有什么区别?DSP/BIOS 和ucOSⅡ是哪一种?
占先式,当前任务运行中如果有优先级更高的任务进入就绪态,当前任务立即将CPU交给优先级更高的任务。
非占先式:等当前任务执行完后再交给优先级更高的任务。
DSP/BIOS,ucOSII是占先式的 *** 作系统。
4说一下对DSP MAP的认识。
MAP文件是CCS软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。
一、生成方法
MAP文件主要有两种生成方法,一种是由系统自动生成,默认文件名为所建立的项目名(如XXX为项目名)加上map后缀xxxmap,另一种在CMD文件中指定生成MAP文件, *** 作方法为在MEMORY指令前面加上“-m abcmap”,文件名可以任意。
二、文件格式
MAP文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD文件中的MEMORY指令关联,在CMD文件中定义的程序与数据区间定义,在该部分均可以找到对应,与CMD文件不同的时,在MAP文件中加入了一个实际使用的区间,即在程序中实际用到的空间长度。段映射部分与CMD文件中的SECTION指令关联,在该部分程序中所有的段实际映射的起始地址与实际长度均有详细说明。可以具体到程序中PROGMA指定的段和各个单独文件产生的OBJ文件。全局符号可以是程序使用的每一个函数、程序中定义的全局变量均可以在此找到对应的起始地址。MAP文件中采用两种方式列举,一种为按相应地址排列,另一种按全局符号字母排列。
5简单的程序题。看程序,写出输出见过,用C写的。
6 -7和10的16位二进制补码是什么? 写出Q15 025和Q15 05
⑴正数的补码与原码相同。
⑵负数的补码负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。
-7转换成二进制原码是1000000000000111,反码是1111111111111000,补码是反码+1=1111111111111001
10的二进制原码是0000000000001010,是正数,补码和原码一样
DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,l则表示数值为负。其余15位表示数值的大小。
如,二进制数0010000000000011b=8195
二进制数1111111111111100b= -4
数的定标有Q表示法和S表示法两种。
不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;
如,16进制数2000H=8192,用Q0表示
16进制数2000H=025,用Q15表示
7说一下DSP开发的主要步骤。
8写出strcpy的函数原型。
char strcpy(char strDest,const char strSrc)
{
}
9写出创建单链表的函数。
struct stu_info{
int x;
struct stu_info next;
};
void inputstuinfo(struct stu_infohead,int n)
{
}
10 对一个字符串进行重新排列,使字母在前,数字在后,并且字母和数字的相对位置不变。
include<stdioh>
include<stringh>
include<stdlibh>
函数名:fun
参数: chars,int m
函数返回值:chLetter(数组chLetter[N]的数组名)
局部变量:char chLetter[N]; char chNumber[N]; int i,j,k;
char fun(chars,int m)
{
应具备哪些能力最直接的方法,就是去根据各公司,招聘网站的嵌入式软件工程师的应聘要求来分析
我帮你总结下:
1最重要的是C语言编程,以及C,这个与你读程,应用,开发项目,做系统移植息息相关;
2 *** 作系统:LINUX,WINCE等,至少学习过一种,并且还需要对些基础知识有蛮多的了解;
3对ARM,FPGA,DSP等这些硬件比较了解。
这是最常规的条件
当然,一些基本素质,像英语能力,团队协作能管理,也很重要。
嵌入式软件工程师平时的工作就是负责嵌入式软件系统的规划、设计、编码、测试等工作。
嵌入式分为 *** 作系统和硬件两个方面,就业的方向更广、更深,就业机会和入职待遇比普通软件工程师好。开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持 *** 作系统),最初级的硬件驱动程序等。
要求技能和发展方向
嵌入式工程师需要具有C语言或C++语言、汇编语言、 *** 作系统等基础;熟悉模拟电子技术和数字电子技术等硬件知识;了解处理器体系结构。
积累丰富开发经验的嵌入式软件开发工程师可以向嵌入式系统开发工程师发展,从而晋升为产品研发经理或IT项目经理。
对测试理论和方法有一定了解的嵌入式软件开发工程师还可以转作嵌入式系统测试工程师,最终也可发展为IT项目经理。如果想创业,做自已的产品,嵌入式软件开发可以开发出专利产品。
1根据UI设计师提供的设计图,实现一流的Web界面,优化代码并保持在各浏览器下良好的兼容性;
2Web前端表现层及与后端交互的架构设计和开发;
3JavaScript程序模块开发,通用类库、框架编写;
4配合后台开发人员实现产品界面和功能;
5对完成的页面进行维护和对网站前端性能做相应的优化。
具体如下:
1、简介
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
2、汇编程序
汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
3、执行原理
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
电子厂的工程师多半都是电子工程师。电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。硬件工程师主要负责电路分析、设计;并以电脑软件为工具进行PCB设计,待工厂PCB制作完毕并且焊接好电子元件之后进行测试、调试。软件工程师主要负责单片机、DSP、ARM、FPGA等嵌入式程序的编写及调试。FPGA程序有时属硬件工程师工作范畴。其工作内容如下:
1、研究、开发、设计、生产集成电路、半导体分立器件、电真空器件和特种器件;
2、研究、开发、设计、生产阻容元件、敏感元件,磁性器件、石英晶体与器件、电子陶瓷与压电、铁电晶体器件、机电组件、电子线缆、光纤光缆、化学物理电源及激光、红外技术的应用等;
3、研究、开发电子元器件封装技术及其应用;
4、研究、开发电子元器件试验与检测技术及其应用。
5、科技研究。
多年的工作经验之谈,给电子爱好者的一点建议和意见,字字原创尊重作者
1电子行业前景如何,产品利润多少,适不适合创业
电子行业总体向前,但市场饱和,就像我们班进入电子行业80%转行,能坚持几年的20%,最后剩下不到5%,为什么会出现如此状况,因为行业已经饱和,低端电子产品拼成本低,靠量取胜,高端团队合作,技术分工,产品难度系数大,和传统行业如医疗,销售,理发,餐饮,超市没有优势,电子产品使用时间长,不能及时消费,电子产品利润不高,普遍5%-30%,和超市利润差不多,但是超市顾客消费及时,连续性好,餐饮可以在50%左右,医疗行业利润起步可以达到100%,理发技术门槛不高,不需要太多理论起步利润200%以上,这样花同样的代价赚钱,人们不愿意选择电子行业,看看淘宝网的单片机开发板你会觉得技术不受重视,淘宝网上资源丰富的开发板价格56元左右,贵的也就一百多,ADC,DAC,数码管驱动芯片,怎么都觉得这个价不对的
就拿2018年来说,理发市场价20到50元不等,这还是随意理发,不做发型,如果卖个电子产品100,还要除了成本,跟理发利润也差不多,而且而且你如果是创业初期,一个电子产品买了就用好几年,而理发月月都要理,如果都是创业初期,你可能面临库存积压,产品滞销,所以市场周期太长了,就算你有创意也只是短暂的,因为很快有人抄袭你,到时候又是价格战
电子产品回报周期长,创业资金投入大,资金不多的创业只适合见效快,及时消费行业
2学习电子行业难度如何,涉及多少知识,成为大神要多久
模电,数电,单片机,ARM,DSP,FPGA
模电,二极管,三极管,电阻电容,运放电路,比较器
数电,逻辑门,多态门
单片机八位单片机,十六位
ARM 32位处理器,上 *** 作系统
DSP侧重于运算
FPGA可编程逻辑硬件
不可能都会,两条路,高端上 *** 作系统
低端直接 *** 作寄存器,做巧妙
成为大神不是一两天,电子涉及范围广,电路多,记忆反应快,需要一定天赋
3初级程度可以拿多少,直接学什么赚钱,从业年龄可以多少岁,网上的单片机开发板能用在实际运用中么
初级水平工资不高3000到5000,上升到高级工程师的人数少,北上广工资高些,消费水平也高
十多年的经历告诉我,除非电子行业创业成功,否则路走的很辛苦,很多人到了三十五岁就被辞退,比如华为就以老员工成家了假期多,身体跟不上开发强度为理由
要么就以坚强的毅力走下去,要么就另谋他就
人的精力有限,脚踏实地,做好当前
当然什么行业都不容易,但是电子开发行业涉及面太广了,逻辑性太强一个电阻一段代码就可能出问题
兴趣爱好动力并不能一直存在,随着时间变化,当初很多想法都会改变
企业对技术的不重视,看重销售,认为技术都是可以花钱买过来的,工程师就是个手艺人,企业有市场才是关键,这就更加导致了做技术的人少了
综合来看技术不能发财致富,最多可以保持稳定生活,想发财的人就要学习社会通用技能人际交往
如果你决定走电子工程师这条路,千万不要指望大神带你,因为大神很忙,你和他位置不对等,你问的问题太简单,不想和你说,所有的知识都有自己努力研究
记住医疗和销售社会服务行业开始比你低,往后都比你上升快
怎样判断自己的水平有没有达到高级水平,自己做个项目,从硬件到软件,调通一万行代码,说明你的逻辑思维非常强,就算企业不愿意给你高薪,那也不是你的问题
网上的板子只能入门,不可能开发,因为实际开发是多任务同时执行,不能用delay延时函数,效率低
如果你在电子行业混的风生水起,就当我没说过,如果你只是有想法或者试试态度就要认真考虑我讲的
以上就是关于想应聘烽火科技,想问下一般笔试面试都考一些什么内容,谢谢~~硬件研发类全部的内容,包括:想应聘烽火科技,想问下一般笔试面试都考一些什么内容,谢谢~~硬件研发类、嵌入式软件工程师的职业要求、嵌入式软件工程师主要做什么工作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)