嵌入式系统开发技术指什么
该如何理解嵌入式开发?
该如何理解嵌入式开发?
嵌入式开发实际上包括三大方向:FPGA(现场可编程逻辑门阵列)、ARM、DSP(数字信号处理)。不知题主是想了解哪个方向的开发。下面简单谈谈三大开发方向。
一、FPGA开发1、FPGA的编程语言FPGA开发的编程语言有两大类:Verilog、VHDL。近几年又推出systemverilog,在verilog基础之上进行扩展、添加(比如支持接口的定义)。
1)、Verilog
verilog与C语言编程风格类似,通俗易懂,有C基础的同学很容易学习verilog。
2)、VHDL
VHDL理解上复杂,不适合初学者,但实际上厂家的IP开发,底层都是基于VHDL的,VHDL逻辑更严谨。
2、FPGA的开发平台不同厂家的FPGA开发,软件开发平台不一样,各有自己的开发工具,而且有很多便宜的开发板,学习资料较多。
1)、altera
软件开发工具:quartus,nios,
2)、xilinx
软件开发工具:ISE、Vivado、SDK、HLS等。
3、FPGA的设计思想自顶向下设计
4、FPGA的应用方向1)、通信
2)、航空航天
3)、汽车
4)、图像处理
5)、医疗器械
5、FPGA对开发者的要求对于FPGA的入门初学者,应该理解数字电路设计、模拟电路设计(大二理工类必修课),能够看懂硬件原理图,根据自身专业方向,选择合适的FPGA开发。
二、ARM开发ARM开发本人接触较少,只是了解大概,题主可以上网搜索。
1、ARM的开发语言——CARM的常用开发语言就是最通俗易懂的C语言(大学生的必修课)
2、ARM的开发方向1)、ARM嵌入式驱动
嵌入式驱动实现底层硬件功能,常用开发于各种板卡驱动,芯片驱动等开发
2)、linux内核
linux内核开发是建立在Linux系统开发,可以根据自身系统需要,来增加或减少linux系统中的内核模块,量身定制。很多智能设备上都用到linux,也驱动开发。
3、ARM的应用领域
应用非常广泛,最常见的就是手机,智能终端,网络芯片,成像,安全等等。
三、DSP开发1、DSPDSP,即数字信号处理,主要做控制设计(低端芯片),算法设计(高端芯片)。对于有单片机基础的同学可以向DSP方向发展。
2、DSP开发平台1)、TI
软件开发工具CCS。
2)、ADI
软件开发工具Blackfin。
3、DSP开发流程DSP的开发流程和C语言的开发一致,包括底层驱动,算法模块设计,系统优化,板载验证。
4、DSP应用DSP应用也是很广泛,C算法设计常用DSP实现。
1)、语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
2)、图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。
3)、军事:保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。
4)、仪器仪表:频谱分析、函数发生、数据采集、地震处理等。
5)、自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。
6)、医疗:助听、超声设备、诊断工具、病人监护、心电图等。
还有很多其他应用领域就不一一介绍,DSP开发适合研究算法的高端人才,需要了解很多算法。
以上是嵌入式开发最基础的了解。
开发系统需要什么技术?
第一:Web开发领域。Web开发是当前一个重要的开发领域,Web开发涉及到的应用领域也十分广泛,可以说有互联网的地方就有Web软件。Web开发分为前端开发和后端开发两大部分,前端开发需要学习三个基本知识,包括Html、CSS和JavaScript,其中JavaScript是重点也是难点。后端开发可以采用众多开发语言,其中比较流行的编程语言包括PHP、Java和Python。另外,Web开发还需要掌握数据库知识以及云计算平台的相关知识(IaaS、PaaS)。
第二:移动端开发。随着移动互联网的发展,目前移动端开发的任务也比较多,移动端开发集中在三个领域,分别是Android开发、iOS开发和各种小程序开发。其中Android开发需要学习Java或者kotlin语言,而iOS开发需要学习OC或者Swift,小程序开发则需要掌握其对应的开发语言,大部分小程序开发语言都属于类前端开发语言,还是比较容易掌握的。
第三:嵌入式开发领域。随着5G标准的落地应用,未来嵌入式开发领域将释放出大量的开发任务,包括大量的可穿戴设备开发等等。嵌入式开发涉及到三方面内容,分别是设备(各种传感器等)、网络和平台,编程语言通常可以从C语言开始学起。
第四:大数据相关领域。随着大数据时代的到来,大数据也成为软件开发的重要部分。大部分大数据相关从业者薪资高,福利待遇好,人才需求大。学大数据相关领域的开发,主要需要掌握Java、Linux、Hadoop、Zookeeper、Mysql、Sqoop、Hive、Oozie、Hbase、Kafka、Spark等课程。