基础概念

编程语言

  • C语言

  • 汇编语言

硬件设备

  • 微控制器(MCU):也叫单片机-单芯片微型计算机,

    • 市面常见品牌与系列有:

      • AVR

      • STM32

      • PIC

      • ESP32

  • 开发板:集成微控制器及其外围设备

    • 市面常见开发板:

      • Arduino:基于AVR微控制器,适合初学者。

      • STM32 Nucleo:基于STM32微控制器,适合中级开发者。

      • ESP32 DevKit:适合物联网开发。

      • Raspberry Pi:虽然主要是微型计算机,但也可以用作高级嵌入式系统开发。

  • 固件烧录与调试:用于微控制器编程和调试的硬件设备

    • 常见硬件有:

      • ST-Link:用于 STM32 微控制器的编程和调试,通过 SWD 或 JTAG 接口工作。

      • USBasp:用于 AVR 微控制器的编程,通过 SPI 接口工作。

  • 电缆和连接线:

    • USB线

    • 杜邦线

  • 电源

开发环境(IDE)

  • Arduino IDE:用于Arduino开发板的编程。

  • STM32CubeIDE:用于STM32微控制器的开发。

  • PlatformIO:支持多种嵌入式平台的开发环境。

  • Keil MDK:用于ARM微控制器的开发。

什么是开发板

阶段总结

以上仅浅显记录嵌入式开发所需基础知识概述,想要真正掌握嵌入式开发并非易事,其中还需深入了解计算机体系结构、处理器架构(如ARM、AVR、PIC等),指令集架构和基本的汇编语言编程(令人头大)、数字电路和模拟电路(如电阻、电容、二极管和晶体管的工作原理),基本的电路设计和分析技能。操作系统层面,任务调度、中断处理、进程和线程管理等。高级嵌入式系统,还要了解RTOS(实时操作系统),FreeRTOS、RT-Thread等。硬件层面,传感器和执行器、通信协议、电路设计和PCB设计。低功耗设计等等。不过兴趣是最好的老师,人生苦短做你感兴趣的事情