摘要:本章以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公司设计的局部:
其中常见的有NVIC中断控制器,内核包含了r0-r15寄存器、pc寄存器等等,所以咱们要查问上图中给出的内核相干外设的信息须要去查阅arm公司提供的参考手册,例如《Arm cortex-M3参考手册》。
ST公司
ST公司向arm公司购买了arm内核的受权,这里举个例子:stm32f103的cortex-m3内核就是一个受权,st公司将购买来的arm内核的设计进行二次开发。
下图为st公司二次开发设计进去的局部:
红框为ARM内核也就是arm公司设计的,其余部分都是st公司二次开发设计进去的,最终被封装到一个彩色的小盒子内并引出引脚供咱们应用。常见的内核内部外设有定时器、GPIO控制器、串口等等,如果咱们须要理解此类设施就须要查阅st公司提供的参考手册,例如《STM32F103参考手册》。
如何查阅手册
① 确定你要查问的“外设”是内核中的还是内核外的,例如中断控制器(NVIC)就是内核中的,“定时器”就是内核外的。
② 内核中的外设通过查阅ARM公司提供的参考手册
③ 内核外的外设通过查阅ST公司提供的参考手册
ARM公司材料下载:
http://infocenter.arm.com/hel...
ST公司材料下载:
https://www.st.com/content/st_com/en.html
如果须要下载材料只需本人注册一个对应网站的账号就能够收费下载了,别再去花钱买材料啦。
点击关注,第一工夫理解华为云陈腐技术~