找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3189|回复: 0
打印 上一主题 下一主题
收起左侧

STM32F1系列产品的器件类型界定及相关话题

[复制链接]
跳转到指定楼层
楼主
ID:98618 发表于 2015-12-6 23:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

整理:Miler Shao

  
今天冬至,也是个节日,祝大家节日快乐,尤其一直耕耘在调试一线的工程师们。

  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 的其中之一。

这里出现最多的问题现象就是,在某个器件里跑得好好的程序,尤其跟中断有关的代码,移植到另外一个器件时发现不听使唤而异常。

2、这几个类型的器件内部flash的页大小[page size]有所不一样。在涉及flash编程时要特别注意这点。其中小容量器件、中等容量器件的page size 1K,而大容量器件、超大容量器件、互联型器件的page size 2K

这里容易出现的问题就是针对某个器件做的IAP,换到别的器件时结果就异常了。

3、互联型器件跟其它同时具有CANUSB外设的器件在使用上有差异 。

互联型器件的CANUSB外设可以同时开启使用,而其它同时具有CANUSB外设的器件不可以同时使用CANUSB外设,因为
在这些器件里 ,
CANUSB是共享一个缓冲区。

  相比前面两点,这个问题相对咨询得少些。不过如果不明了这点,假设哪位工程师因为产品功能调整或成本考虑,从互联型器件换为某大容量器件时,恭喜,估计又要折腾一把。顺便提下,互联型器件的时钟树跟其它器件也略有不同,移植时也稍微留意下。

  几小点抛砖引玉似的跟大家分享下,任何一个地方若是你忽略了,都可能被折腾得够呛。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表