如何找stm32的资料?

举报
樊心昊 发表于 2020/06/26 18:01:00 2020/06/26
【摘要】 摘要:本章以stm32f103作为案例向大家讲解arm公司和st公司的关系以及我们在对stm32开发时需要如何正确的查找手册。ARM公司和ST公司的关系这里要从一块芯片的生产说起,比如我们要生成一款芯片,我们可以自己涉及内核,涉及好了之后就叫XXX架构芯片,但是一般情况下不会这么做,因为设计内核十分复杂,我们可以向出售内核的公司购买内核来使用即可。目前市面上主流的内核有ARM架构内核对应“精...

摘要:本章以stm32f103作为案例向大家讲解arm公司和st公司的关系以及我们在对stm32开发时需要如何正确的查找手册。

ARM公司和ST公司的关系

这里要从一块芯片的生产说起,比如我们要生成一款芯片,我们可以自己涉及内核,涉及好了之后就叫XXX架构芯片,但是一般情况下不会这么做,因为设计内核十分复杂,我们可以向出售内核的公司购买内核来使用即可。

目前市面上主流的内核有ARM架构内核对应“精简指令集”和x86架构内核对应“复杂指令集”。

为什么架构决定了指令集?因为设计架构的本质就是搭建一些逻辑电路,这些电路决定了遇到特定的二进制数据(指令),就执行相应的操作。

这里以ARM指令集为例,mov r0, r1 将r1寄存器中的数据读到r0寄存器中,STM32芯片看到的就是一串长度为4字节的二进制数据,内核中的“门电路”会将这串二进制数据解析并进行一连串的操作(将r1寄存器中的数据读到r0寄存器中),所以内核的架构就决定了指令集,越复杂的内核支持的指令集就越多,并且一条指令能处理的事情就越多。

指令集是不是越复杂越好?其实并不是这样,复杂指令集带来了一些的问题:功耗太大、发热量大、80%指令不常用等等问题,所以我们要根据芯片的用途来权衡采用什么内核。

这里说一个鲲鹏服务器的案例:鲲鹏服务器采用的就是基于ARM架构的CPU,这样做的原因:

1、ARM指令集在鲲鹏所处的领域完全够用,即使需要处理一个arm指令不支持的操作,只需将多条指令一起指向就可以完成该操作。

2、x86架构的CPU随着核心内的门电路越来越多,因为工艺的问题和散热的问题等,慢慢的达不到了“摩尔定律”,所以采用ARM架构的CPU并且用平行运算的“众”核思想可以基于沿着“摩尔定律”走。

3、学术研究发现了复杂指令集中有80%的指令都不太常用,所以用精简指令集不会造成浪费。

4、华为有ARMv8的永久授权。

ARM架构

Arm架构由ARM公司设计并提供授权,其对应指令集为“精简指令集(RISC)”,我们的手机、智能电视等产品所采用的主控多半都是arm架构内核的。

X86架构

       X86架构由Intel公司设计,具有代表的产品就是我们电脑中使用的i5、i7等等CPU,其对应指令集为复杂指令集,这意味着一条复杂指令集中的指令可以完成多条精简指令集才能完成的操作,但是也面临很多问题。

ARM公司

       ARM公司是一家通过出售arm内核授权盈利的公司,自己从不生成芯片,他将内核的设计图等等资料提供给购买了内核授权的公司,让其自己去二次开发并生产芯片。下图为arm公司设计的部分:

image.png

       其中常见的有NVIC中断控制器,内核包括了r0-r15寄存器、pc寄存器等等,所以我们要查询上图中给出的内核相关外设的信息需要去查阅arm公司提供的参考手册,例如《Arm cortex-M3参考手册》。

 

ST公司

       ST公司向arm公司购买了arm内核的授权,这里举个例子:stm32f103的cortex-m3内核就是一个授权,st公司将购买来的arm内核的设计进行二次开发。

下图为st公司二次开发设计出来的部分:

image.png

红框为ARM内核也就是arm公司设计的,其余部分都是st公司二次开发设计出来的,最终被封装到一个黑色的小盒子内并引出引脚供我们使用。常见的内核外部外设有定时器、GPIO控制器、串口等等,如果我们需要了解此类设备就需要查阅st公司提供的参考手册,例如《STM32F103参考手册》。

如何查阅手册

    确定你要查询的“外设”是内核中的还是内核外的,例如中断控制器(NVIC)就是内核中的,“定时器”就是内核外的。

    内核中的外设通过查阅ARM公司提供的参考手册

    内核外的外设通过查阅ST公司提供的参考手册

 

ARM公司资料下载:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0099c/index.html#

ST公司资料下载:

https://www.st.com/content/st_com/en.html

如果需要下载资料只需自己注册一个对应网站的账号就可以免费下载了,别再去花钱买资料啦。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。