1.嵌入式系统的技术方向嵌入式系统按照核心处理器/计算架构可以划分为以下4个方向1.1MCU方向MCU是将处理器内核存储器FlashRAM外部接口UARTSPII2C,ADC,Timer等集成在单一芯片上的微型处理器它强调实时性低功耗低成本通常运行裸机或轻量级RTOS实时操作系统1.2典型芯片举例厂商 典型芯片ST STM32F103NXP LPC1768Microchip ATmega328PTI MSP4302G2553Espressif ESP32,ESP32-C3兆易创新 GD32F1031.2FPGA方向1.FPGA现场可编程门列阵是一种内部包含大量可编程逻辑块可编程互连线和I/O模块的半导体器件用户通过编写HDL代码Verilog/VHDL来定义硬件逻辑实现任意数字电路的功能其核心是硬件可重构并行执行纳秒级延迟兼具ASIC的性能和软件的灵活性2.典型芯片举例厂商 典型芯片Intel(Altera) Cyclone IV/V2.发展生态问题2.1ARM我们日常使用的电脑里面的CPU大多采用x86架构架构就是一种CPU核心类型体系这是桌面和服务器领域最主流的处理器架构而到了嵌入式世界由于对功耗成本体积的要求完全不同CPU核心架构就换了一批“选手:常见的有51ARMPPCMIPS等其中ARM架构的应用范围最广ARM只设计IP核ARM卖的并非实体芯片而是受法律保护的芯片“设计方法”的使用权即其知识产权的使用权Cotex,Cotex-X,Cotex-A,Cotex-R,Cotex-MARM因为需求种类的不同主流提供4种CPU IP核我们未来使用的是Cortex-M系列而未来我们主切Cortex-M类IP核也是市场上入门的主流方式2.2意法半导体终端公司真正需要的是一颗已经封存好即拿即用的完整微型计算机——也就是微控制器MCU它集成了处理器CPU核心存储器输入输出接口等功能意法半导体ST正是这样的角色——他从ARM获得Cortex系列CPU核心授权利用自身在混合信号存储器等方面等专有技术将其设计封装成一颗颗功能完整的MCU其中最著名的便是STM32系列2.3MCU以手机应用处理器为例的这类SoC主要解决的是算力问题以MCU为例的这类SoC主要解决的是控制问题STM32ST意法半导体公司M指MCU32是32位系列有很多子系列FFoundation基础通用STM32F103系列增强型原因是最主流市面上的学习资料是最多的之一2.4开发板企业或者机构会把MCU采购过来然后通过PCB设计制作自己的开发板主要用于教学目的3.STM32工具链选型C语言Keil MDKvscodeSTM32CubeMxHAL库Keil MDK:是ARM公司收购keil后推出的一款专门为ARM Cortex-M,Cortex-R和Cortex-A系列处理器设计的嵌入式软件开发工具STM32CubeMx它的定位是硬件配置与初始化代码生成的图形化工具也就是说他存在的核心意义是将配置可视化动态生成配置代码VS Code现代化代码编辑器通过插件扩展开发环境HAL库提供硬件抽象层API屏蔽寄存器操作提升代码可移植性已完结