嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。

嵌入式开发常见的技术有哪一些?

      MPU(Micro Processor Unit),叫微处理器,通常代表一个功能强大的CPU,但不是为个人计算机和高端工作站等特定计算目的而设计的芯片核心CPU,而是为嵌入式不同应用场景需求设计的功能更强的CPU。在这里ARM7、ARM9、ARM11、Cortex-A、MIPS、系列的处理器都属于MPU。它们的处理能力比MCU单片机要强很多,但芯片内部并没有集成程序存储运行所必须的外存Flash和内存RAM(但一般会集成一个小容量的Cache),这类处理器如果想要构建一个完整的计算机系统,则需要在外围电路上添加内存(如SDRAM、DDRAM等)和外存(Norflash、Nandflash、eMMC、TF卡等)以及相应的外围电路。

      SoC(System on Chip),指的是片上系统,它是一个将电脑或其他电子系统集成到单一芯片的集成电路。系统芯片可以处理数字信号、模拟信号、混合信号甚至更高频率的信号。系统芯片的集成规模很大,一般达到几百万门到几千万门,常常应用在嵌入式系统中。比如ARM公司设计的就是CPU,他将自己的所设计的Cortex-A76 CPU技术卖给华为公司后,华为就根据该CPU添加上4G/5G通信用的基带芯片以及其它所需要的各种外设控制器,设计出用在华为Mate 20系列上的麒麟980处理器,那这个麒麟980处理器就是SoC.

      DSP(Digital Signal Processing),是指数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器(大部分其他处理器内部只能处理加法运算,而乘法和除法都是由软件实现的),广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。DSP实际应该称为DSPs,即用于DSP处理的专用芯片,它是为运算而生的芯片,他最强大的地方就在与它的数学运算性能,那是由它的指令集直接支持的。它在语音和图像识别,军工等领域有较多的应用。此外现在的智能手机处理器,基本是一个ARM核控制整体运算,一个DSP处理语音编解码,一个GPU负责图像运算,一个基带和天线处理模块负责通信。

      FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机(无论是冯诺依曼结构还是哈佛结构)的顺序操作有很大区别,也造成了FPGA开发入门较难。FPGA开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等多方面着手。