[信息]

KEIL编译器启动文件与STM32型号及其命名规则(愿版主赏积分)

[复制链接]
2779|4
手机看帖
扫描二维码
随时随地手机跟帖
xyzjacky|  楼主 | 2016-9-27 16:56 | 显示全部楼层 |阅读模式
本帖最后由 xyzjacky 于 2016-9-28 09:40 编辑

一、型号命名规则
STM32在使用keil编程时,会被要求选择对应芯片的启动文件。




为什么要这样做,因为stm32产品线很多,单是stm32好像都有300多个型号,分成以下几类.

1.有超值型
2.基本型
3.USB型
4.增强型
5.互连型的
当我们选择不同的型号,这个固件库如何使用, 只是一些头文件与包含的文件不同,所以这个固件库,这个工程为了支持这么多型号,
就可通过上图来选择,这个很强大.

下面发一个STM32的产品型号,在官网上可以下载到的造型手册.








       上面既然有五大类,那么选择启动文件就要按照其命名规则来看芯片是属于哪一类的:
【命名规则,存储容量】
STM32      F     103     C     6     T     7     xxx   
    1           2        3       4     5     6      7      8   


STM32F103RBT6
第1部分:产品系列名,固定为STM32   


第2部分:产品类型;F表示这是Flash产品,目前没有其它选项
   
第3部分:产品子系列;103表示增强型产品,101表示基本型产品   


第4部分:管脚数目;   
  T=36脚   
  C=48脚   
  R=64脚   
  V=100脚   
  Z=144脚
   
  第5部分:闪存存储器容量:   
  6=32K字节   
  8=64K字节   
  B=128K字节   
  C=256K字节   
  D=384K字节   
  E=512K字节   
  
第6部分:封装信息;
     H=BGA   
     T=LQFP
     U=VFQFPN   
第7部分:工作温度范围;   
  6=工业级,-40~+85°C   
  7=工业级,-40~+105°C   
第8部分:可选项;
此部分可以没有,可以用于标示内部固件版本号。




vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128

关于STM32容量和功能的直观和全面的介绍请见下表




二、启动文件的配置方法
在keil中可以通过两种方式来配置,这两种方法采用其中一种即可。
1、在头文件
stm32f10x.h中通过修改宏定义来配置




上面这张图中有一个宏定义,这个宏定义的作用就是告诉编译器,你选择了哪一种型号的芯片。这段宏定义可以使用的见下:
  /* #define STM32F10X_LD */     /*!< STM32F10X_LD: STM32 Low density devices */
  /* #define STM32F10X_LD_VL */  /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */
  /* #define STM32F10X_MD */     /*!< STM32F10X_MD: STM32 Medium density devices */
  /* #define STM32F10X_MD_VL */  /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */
  /* #define STM32F10X_HD */     /*!< STM32F10X_HD: STM32 High density devices */
  /* #define STM32F10X_HD_VL */  /*!< STM32F10X_HD_VL: STM32 High density value line devices */
  /* #define STM32F10X_XL */     /*!< STM32F10X_XL: STM32 XL-density devices */
  /* #define STM32F10X_CL */     /*!< STM32F10X_CL: STM32 Connectivity line devices */
所以只要在宏定义出,修改为对应芯片系列的类型就OK了。
例如,我选择了一款芯片是STM32F103C8T6,通过查产品资料,知道它是中等密度的产品,即MD,那么我就把宏定义改为
#ifndef __STM32F10x_MD
#define __STM32F10x_MD
即可。




2、在keil编译器工程设置选项中配置
在keil的工程设置的C/C++选项中去配置


以芯片是STM32F103C8T6为例,在上图红框处,添加STM32F10X_MD即可。填写时,与前面的内容使用半角的逗号相隔。


xyzjacky|  楼主 | 2017-3-28 11:24 | 显示全部楼层
发一个我朋友刚才给我的东西:
吉林市风阳新能源设备有限公司工资怎么样?

我在这个网页里找到一个人的评论:http : //www。  kanzhun。com/gsm1831251。html 。你可以看看。说的是吉林市风阳新能源设备有限公司
另外,今天我给招聘网站上的留的号码打电话,电话里的一个人也是像上面那个网页里的人所说的一样,先说你会的这样不行,那样也不行,然后给你提一个问题,要求不能用这个元件,不能用那个元件,并要求你说出一种解决方案。电话里面那个人也自称有六十多岁,是公司的老总,是搞技术出身的。
刚才我在网上搜罗了一下这个公司的资料,几乎没有。唯一能找到的是一个注册信息,信息显示这家公司注册于2010年,当时有11个人。而这个公司在招聘网站上所留的资料显示,他们公司是1000人以上的大型民营公司。然后,我按照他们所给地址(延吉市朝阳川镇东丰村302囯道南侧)在电子地图中搜索,但是那个地点及周边看不到任何有一千人规模的企业。一个千人的企业,竟然没有门牌号,连招聘的邮箱也是新浪的,并且短短5年就从一个11人的公司壮大到上千人的大企业,这些信息很能说明问题。
我的感觉是,这个公司的自我描述远大过他们真实实力。可能是有一点成绩的小公司,但是肯定没有他们自己说那么大。另外,可能是拉到了一些投资,现在在搞扩张。
不过,很不喜欢这位所谓老总面试人的方式。此人应该是个老前辈,也许比我们这些年轻人见识多。但是他这样一开口就埋汰人,别人对这家公司的第一印象就不好了,这是人之常情。不知道他这种埋汰人的面试方式,是不是为了压低工资哦。古人说礼贤下士,下士都需要以礼待之,如此自负与高傲,怎会招揽得到人才。

使用特权

评论回复
aspoke| | 2017-3-28 21:51 | 显示全部楼层
这个在编译环境设置规则了吧

使用特权

评论回复
aspoke| | 2017-3-28 21:59 | 显示全部楼层
宏定义里面可以直接使用引用的寄存器

使用特权

评论回复
TXQDM| | 2017-3-28 22:06 | 显示全部楼层
整理的稍微有点粗狂啊,不过还好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

112

帖子

4

粉丝