STM32F1系列MCU隶属同一ARM CORTEX M3内核,依据其自嵌的Flash 容量大小及互连功能特色,ST 公司将其大致分为
5类器件,分别是小容量器件、中等容量器件、大容量器件、超大容量器件、互联型器件。
小容量器件[low-density devices]: 内部FLASH容量在16-32K Byte的STM32F101、STM32F102、STM32F103器件。
中等容量器件[Medium-density devices]: 内部FLASH容量在64-128K Byte的STM32F101、STM32F102、STM32F103器件。
大容量器件[High-density devices]: 内部FLASH容量在256-512K Byte的STM32F101、STM32F102、STM32F103器件。
超大容量器件[XL-density devices]: 内部FLASH容量在768-1024K Byte的STM32F101、STM32F102、STM32F103器件。
互联型器件Connectivity line devices]: 特指带双CAN和USB OTG功能的STM32F105XX、STM32F107XX系列的器件。
整体上讲,这5类器件软硬件兼容性极高,尤其硬件管脚安排上。相同管脚数、不同容量的器件的管脚安排是完全一致的。
当然这5类器件也存在着一些细微的差异。
关于那些差异,这里仅就平常朋友们常遇到或栽跟头的地方,跟大家作三点分享交流。
1、这几个类型的器件所支持的中断个数及矢量安排有差别。
在工程项目里,所选择的启动文件就不一样。开发时参照器件类型选择 startup_stm32f10x_ld.s /startup_stm32f10x_md.s /startup_stm32f10x_hd.s/startup_stm32f10x_xl.s/startup_stm32f10x_cl.s 的其中之一。
这里出现最多的问题现象就是,在某个器件里跑得好好的程序&