嵌入式开发是个比较大的宽泛的应用开发范畴,有基于智能家居物联网的嵌入式应用,也有车载嵌入式芯片这种功能较为庞大复杂的应用。宽泛源于实际应用需求的多样性带来的所需计算设备的多样性,下面就计算设备和开发环境的相关知识和概念做一下说明和归类,有的内容不一定完全正确,欢迎批评指正以便后续进行勘误。
1、指令集:几种常见的cpu架构和指令集的关系如下:(1)、intel x86架构,CPU可能实现了多个指令集x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3 ,而这些指令集中的指令让cpu完成的动作都比较复杂,所以也称为CISC(Complex Instruction Set Computers 复杂指令集);(2)AMD amd64架构的cpu 兼容了x86指令集还拓增了3D-Now!指令集,用于加强对3D显示的支持。(3)ARM ARMv1~ARMv7架构的cpu实现了Thumb指令集和ARM指令集。这些指令集中的一条指令让cpu完成的动作都比较简单,所以也称为RISC指令集(Reduced Insturction Set Computers 精简指令集)。(4)Atmel AVR系列是一种基于改进的哈佛架构、精简指令集(Reduced Instruction Set Computing, RISC)的微控制器,Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。在此需要注意的是处理器架构和指令集架构的区别。我们常用的嵌入式设备开发板有:(1),基于arduino硬件的微控制器的应用,arduino的开发板作为优秀的硬件开发平台,在嵌入式开发中经常会用到;(2)基于Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯.诺依曼结构,是指令和数据共享同一总线的架构。Kinetis® EA系列32位Arm® Cortex®MCU广泛适用于质量要求和长期供货保证要求都很高的汽车和工业应用。(3)soc片上系统,是为特定的功能设计的完成特定目标功能的系统。
2、单片机和计算机:单片机和CPU是包含关系,单片机通过超大规模集成电路技术将处理器CPU、随机存储器RAM、存储器ROM、输入输出和中断系统、定时器/计数器等功能集成在硅片上。(主要分为CPU、硬盘、内存、主板四部分)单片机主要应用于嵌入式系统,如智能家居、工业控制、汽车电子等领域,因为它们小巧、低功耗、高可靠性。计算机采用存储器与处理器分离的硬件架构,其中存储器与处理器由不同的芯片实现,并通过总线进行通信。而soc是片上系统,是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。如nvidia的orin soc系统就是基于智能驾驶系统及应用构建的片上系统。
3、开发环境:(1),支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件的keil mdk集成开发环境,包括行业领先的ARM C/C++编译工具链等;(2)、arduino集成开发环境Arduino IDE;单片机通常不具备操作系统。简单来说,单片机是一种集成了微处理器、内存、输入输出和其他外设的微型计算机系统。它通常被用于嵌入式系统中,用于执行特定的任务,如控制和监控设备。由于资源有限,单片机通常使用裸机编程,即直接编写和操作硬件的程序,程序员直接管理硬件资源和任务调度,实现输入输出、数据处理、控制等功能,而不依赖于操作系统。上述的IDE编译的程序会烧制到开发板直接启动程序运行。至于带有操作系统的soc甚至异构多核soc上面的开发,一般也会提供专有的开发环境工具实现程序的编写,调试和烧制。
References
- 单片机与CPU、单片机与操作系统、CPU架构与指令集、指令集与操作系统之间的关系,我们常说的ARM是什么_cpu架构-指令集-编译器-操作系统-应用程序-CSDN博客
- Atmel AVR_百度百科 (baidu.com)
- 处理器架构与指令集 – 哔哩哔哩 (bilibili.com)
- soc(系统级芯片)_百度百科 (baidu.com)
- NVIDIA ADAS:英伟达 Orin 芯片介绍_腾讯新闻 (qq.com)
- keil mdk_百度百科 (baidu.com)
- Arduino集成开发环境 – 下载中心 – DJI 大疆创新
- 创龙带您解密TI、Xilinx异构多核SoC处理器核间通讯_芯片核通信-CSDN博客
Leave a Reply