学习嵌入式路线关系
学习路线(建议)
基础阶段(概念 + 入门实践) 如果这个不学习也不会太大的影响,硬件基础薄弱的可以跳过这个学习
学习 电子基础(电压、电流、电阻、电容、三极管、MOS 管、运放基础电路)。
学习 数字电路(二进制、逻辑门、寄存器、时钟、同步/异步概念)。
了解 单片机的基本概念(什么是 MCU、什么是外设、什么是中断)。
实践:买一块 STM32F103C8T6 最小系统板(俗称蓝牙小板) 或 Arduino UNO,点亮 LED,控制按键。
进阶阶段(MCU 架构与外设编程)
学习 ARM Cortex-M 内核的基本架构(寄存器、指令集、堆栈、中断向量表)。
学习 常见外设驱动:GPIO、UART、I2C、SPI、PWM、ADC、DAC。
学习 RTOS(FreeRTOS) 基本使用:任务调度、队列、信号量。
实践:做一个 串口收发调试器、PWM 控制呼吸灯、I2C OLED 显示屏驱动。
高阶阶段(MCU 应用与优化)
学习 Cortex-M3/M4 DSP 指令(滤波算法、FFT 应用)。
学习 低功耗设计(睡眠模式、时钟管理)。
学习 BootLoader 与固件升级(IAP/OTA)。
实践:
开发一个 温湿度采集+OLED 显示+串口上报 的小系统。
尝试移植 FreeRTOS + TCP/IP 协议栈(比如 LwIP)。
扩展阶段(平台迁移与替代芯片)
学习 STM32 → GD32 平替芯片 的兼容性。
学习 ESP32 系列(WiFi/蓝牙支持),熟悉 IoT 开发。
学习 Linux 驱动开发入门(从单片机向嵌入式 Linux 过渡)。
实践:做一个 GD32 + ESP32 + 传感器 + 云端 的小型 IoT Demo。
最重要的: 上述都不重要,只要你肯学,关注我或者这个专栏,可以看到更多的学习经验。
解惑(常见问题澄清)
单片机的“内设”和“外设”区别
MCU 内部已经集成了外设(例如 UART、I2C、SPI、ADC)。这些并不是“模拟出来的”,而是 硬件模块。
所谓“模拟”只是在软件层面用 GPIO 模拟通信协议(比如用普通 IO 实现软件 I2C),那才叫“模拟外设”。
ARM 架构与 MCU 的关系
ARM 只负责 CPU 内核设计(架构授权),比如 Cortex-M3、Cortex-M4。
STM32、GD32、NXP、TI 等厂家会在 ARM 内核的基础上,加上 自家的外设电路和总线系统,才形成完整的 MCU。
Cortex-M 系列为什么常用于单片机
因为它低功耗、价格低,且带有专门为嵌入式优化的 NVIC(中断控制器)、SysTick(系统时钟),很适合实时控制。
Cortex-A(手机 CPU)偏向操作系统应用,功耗太高。
STM32 与 GD32 平替
GD32F 系列几乎兼容 STM32F 系列的 引脚封装、外设寄存器。
但是底层实现细节会有差别,比如 GD32 的 PLL 时钟源、Flash 加速策略,需要小心。
平替适合 硬件快速修复,但在软件层面可能需要微调。
为什么学习路线要从 STM32 入手
STM32 文档丰富、社区活跃、例程多,适合初学者。
GD32/ESP32 是扩展方向,不适合直接作为第一个学习目标。
关于单片机的概念
单片机(Microcontroller)是一种集成电路芯片,它集成了处理器、存储器、输入/输出接口以及各种功能模块于一身。 并且单片机拥有片类外设硬件和内设文件。其中外设拥有(PWM、I2C、SPI等)。而内设就是代表是MCU模拟出来的。
并且关于MCU还拥有多种架构,而这些架构通常都是某一个公司提前设计好了,其他公司来沿用。比如: ARM、51。
ARM架构
ARM架构描述
ARM是一种芯片架构,由英国的ARM Holdings公司开发和授权,被广泛应用于各种嵌入式系统、移动设备和消费电子产品中。ARM架构被设计成低功耗、高性能、可定制化的特点,能够满足各种应用场景下的需求。其中ARM架构通常设计了下面的一些架构模型:
指令集架构(Instruction Set Architecture):ARM架构是基于精简指令集计算机(RISC)架构设计的,其指令集具有高效的指令执行速度、较小的代码大小和低功耗等特点。ARM架构提供了多个指令集版本,包括32位和64位,不同版本的指令集支持不同的特性和功能,以适应不同的应用场景。
存储器架构(Memory Architecture):ARM架构的存储器架构包括内存、闪存、EEPROM等类型,它们提供了不同的存储特性和使用场景。ARM架构还支持虚拟内存技术,通过虚拟地址和物理地址映射实现了对于内存的更高效的利用,提高了系统的运行效率和稳定性。
总线架构(Bus Architecture):ARM架构的总线架构包括数据总线、地址总线和控制总线等,它们提供了连接CPU、存储器、外设等各个部件之间的通信和数据传输。ARM架构的总线架构是高度灵活和可扩展的,可以适应不同的应用场景和系统需求。
处理器架构(Processor Architecture):ARM架构的处理器架构包括中央处理器(CPU)、图形处理器(GPU)、数字信号处理器(DSP)等。ARM架构的处理器架构具有高性能、低功耗、低成本等特点,可以适应不同的应用场景和设备类型。
安全架构(Security Architecture):ARM架构的安全架构提供了各种安全功能和特性,包括硬件加密、安全存储、安全启动等。ARM架构的安全架构可以保护系统的安全性和稳定性,防止恶意攻击和数据泄露等安全问题。
ARM架构的历史
ARM架构最早由英国的Acorn Computer公司于1983年开发,当时主要用于Acorn的电脑产品中。
1990年,ARM公司独立成立,并开始授权ARM架构的设计和开发。此后,ARM架构逐渐发展成为一种广泛应用于嵌入式系统和移动设备的芯片架构。
随着时间的推移,ARM架构也不断地升级和改进,推出了一系列新的版本和系列,包括ARMv3、ARMv4、ARMv5、ARMv6、ARMv7和ARMv8等版本。每个版本都增加了新的特性和功能,提高了ARM架构的性能、功耗和可定制化能力。
ARM架构的升级和改进也受到了市场需求和技术发展的影响。例如,在移动设备领域,需要更高效的处理器性能和更低的功耗,ARM架构就相应地增加了对大核心、小核心、动态电压调节等技术的支持,提高了性能和功耗的平衡。同时,在工业自动化和物联网等领域,ARM架构也不断地适应新的需求和技术发展,推出了更加灵活和可定制化的处理器系列和解决方案。
ARM架构的应用
ARM公司设计的处理器内核有很多种,根据不同的应用场景和性能需求,可以选择不同的内核进行设计。以下是一些常见的ARM内核:
Cortex-A系列:面向高性能应用领域的内核,主要用于移动设备、智能终端、高端嵌入式系统等领域。Cortex-A系列内核具有高性能、高可扩展性、丰富的外设接口和低功耗等优点。
Cortex-R系列:面向实时应用领域的内核,主要用于工业控制、汽车电子、航空航天等领域。Cortex-R系列内核具有高可靠性、低延迟、强实时性和硬件保护等特点。
Cortex-M系列:面向低功耗嵌入式系统的内核,主要用于智能传感器、便携式设备、家用电器等领域。Cortex-M系列内核具有低功耗、低成本、高效能、易于开发等特点。 (主要使用这个)
ARM7系列:面向嵌入式系统领域的内核,主要用于控制器、存储设备、安全芯片等领域。ARM7系列内核具有低成本、低功耗、高集成度、易于开发等特点。
ARM9系列:面向嵌入式系统领域的内核,主要用于数字音视频、通信、网络设备等领域。ARM9系列内核具有高性能、多媒体处理能力、丰富的外设接口和易于扩展等特点。
Cortex-M系列
上述说到对于单片机都是使用的CortexM来作为开发架构。Cortex-M系列是ARM公司推出的一种面向低功耗嵌入式系统的处理器内核,主要用于智能传感器、便携式设备、家用电器等领域。Cortex-M系列内核具有低功耗、低成本、高效能、易于开发等特点,是目前嵌入式系统领域最受欢迎的处理器内核之一。根据不同的性能和功耗需求,Cortex-M系列内核又分为以下几类:
Cortex-M0系列:面向低功耗、成本敏感型应用,适用于智能传感器、安全芯片、家用电器等领域。Cortex-M0系列内核的主频通常在10MHz-50MHz之间,具有低功耗、低成本、易于开发等特点。
Cortex-M3系列:面向高性能、实时应用,适用于工业控制、汽车电子、医疗设备等领域。Cortex-M3系列内核的主频通常在50MHz-120MHz之间,具有高性能、强实时性和硬件保护等特点。
Cortex-M4系列:基于Cortex-M3系列内核,增加了DSP和浮点运算单元,适用于音视频处理、图像处理、控制算法等领域。Cortex-M4系列内核的主频通常在80MHz-240MHz之间,具有高性能、DSP(Digital Signal Processing)和浮点运算能力等特点。
Cortex-M7系列:基于Cortex-M4系列内核,增加了双精度浮点运算单元和指令预取器等特性,适用于音视频编解码、高速通信等领域。Cortex-M7系列内核的主频通常在200MHz-400MHz之间,具有高性能、低延迟和高精度的浮点运算能力等特点。
————————————————
版权声明:本文为CSDN博主「小猫Wook」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_51394390/article/details/151326771
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|