首先得从ARM说起。ARM有三个架构系列的产品,Cortex-A、Cortex-M、Cortex-R,STM32属于Cortex-M系列,ARM公司不做硬件,他们只设计内核的架构,提供一套接口(CMSIS),然后授权给各大芯片厂商,比如意法半导体公司(ST),这些厂商生产硬件,并提供接口库(比如HALLI库),普通开发者使用厂商提供的库函数进行开发(当然你也可以基于寄存器开发,不过在实际的开发中你可能不想那样去做)。普通开发者在实际开发过程中所做的绝大部分工作均是一些外设相关的驱动,移植第三方模块(比如,FATFS,UCOSIII,LWIP,STEMWIN),以及使用外设驱动,接口库和第…