历史上的今天
返回首页

历史上的今天

今天是:2024年11月09日(星期六)

正在发生

2021年11月09日 | STM32固件库学习(1)

2021-11-09 来源:eefocus

一、为什么要学习stm32固件库

使用寄存器编程费时、费力、程序移植性差且容易出错。

st公司考虑到上述缺点故推出一套便于编程的API。

stm32固件库的开发的本质是API函数的使用。

举例:使用GPIO点亮一个LED灯(GPIO控制输出一个低电平)


使用寄存器 


先要查找所需的寄存器哪一位是控制那个引脚。那个寄存器控制它的输出等。比较费劲。


使用stm32固件库


stm32固件库提供的API函数,有对GPIO的操作。通过此函数实现对GPIO的控制。


此函数就是对GPIO的相关寄存器操作的封装。


二、CMSIS标准

CMSIS(Cortex Microcontroller saftware Interface Standard):ARM Cortex 微控制器软件标准。


基于Cortex内核的芯片生产厂商有很多,为解决不同生产厂商的Cortex芯片软件兼容问题,ARMVP公司和其他芯片生产厂商指定了CMSIS标准。


CMSIS使用举例:初始化必须使用systemInit()进行初始化。

在 CMSIS 核心层分为 3 个基本功能层:

(1)核内外设访问层 :ARM 公司提供的访问,定义处理器内部寄存器地址 以及功能函数。

(2)中间件访问层 :定义访问中间件的通用 API,由 ARM 提供,芯片厂商 根据需要更新。

(3)外设访问层 :定义硬件寄存器的地址以及外设的访问函数,比如 ST 公司提供的固件库外设驱动文件(stm32f10x_gpio.c 等文件)就是在这个访问 层。

总的来说其实 CMSIS 就是统一各芯片厂商固件库内函数的名称,比如在系统 初始化的时候使用的是 SystemInit 这个函数名,那么 CMSIS 标准就是强制所有 使用 Cortex 核设计芯片的厂商内固件库系统初始化函数必须为这个名字,不能 修改。


三、固件库内文件夹及文件介绍

创建工程必备的两个文件

文件之间的关系

推荐阅读

史海拾趣

Elpida Memory公司的发展小趣事

尽管Elpida Memory已经不复存在,但其在DRAM领域的技术和经验仍然对全球半导体产业产生了深远的影响。Elpida Memory在技术研发、生产管理和市场营销等方面的经验,为后来的半导体企业提供了宝贵的借鉴和参考。同时,Elpida Memory的失败也提醒了半导体企业需要时刻保持警惕和创新精神,以应对日益激烈的市场竞争和技术变革。

电连(ECT)公司的发展小趣事

为了进一步扩大市场份额,ECT积极推进国际化战略。截止2022年初,公司在全球共设立23个分支机构,覆盖了中国台湾、中国香港、韩国、日本、泰国、越南、美国等国家和地区。通过国际化战略的实施,ECT不仅成功将产品推向全球市场,也提升了公司的国际影响力和竞争力。

EZchip Technologies Ltd公司的发展小趣事

在激烈的市场竞争中,产品质量和客户服务是企业赢得客户信任的关键。EZchip一直秉承“质量第一、客户至上”的理念,注重产品的质量控制和客户服务体验。公司采用严格的生产流程和质量控制标准,确保每一件产品都符合高标准、高质量的要求。同时,EZchip还建立了完善的客户服务体系,为客户提供及时、专业的技术支持和售后服务。这些措施不仅提升了产品的竞争力,也赢得了客户的广泛赞誉和信任。

Avic公司的发展小趣事

Avic公司注重提升自主创新能力,不断加大在航空电子技术领域的研发投入。公司建立了一支高素质的研发团队,并积极引进国内外先进的研发设备和技术。这些措施有效提升了公司的创新能力,为公司在航空电子领域的持续发展提供了有力保障。

Cantherm公司的发展小趣事

Cantherm公司在电子行业中以其技术创新而著称。在一次重要的研发项目中,公司团队成功开发了一种新型的散热技术,该技术能有效降低电子设备在工作时产生的热量,从而提高设备的性能和稳定性。这一突破不仅为公司带来了大量的专利和知识产权,还吸引了众多知名电子产品制造商的合作意向,使Cantherm在行业中崭露头角。

东晶(ECEC)公司的发展小趣事

东晶电子自创立以来,始终将技术创新作为公司发展的核心动力。在21世纪初,随着通信技术的迅猛发展,对高性能、高稳定性的石英晶体元器件需求急剧增加。东晶电子凭借其强大的研发团队,成功研发出一系列高精度、高稳定的石英晶体谐振器和振荡器,打破了国外厂商的技术垄断,为中国通信产业提供了关键元器件支持。这一技术突破为公司赢得了市场口碑,也奠定了其在电子行业中的领先地位。

问答坊 | AI 解惑

制作一款高质量的家用报警器

国内目前的社会治安真的让人心寒。年底了,入屋盗窃案件大幅上升。我这几天已经听说过超过20户的门被橇开盗窃。使用如下的简易工具,能在十数秒甚至几秒内打开95%的门锁。 目前市场上有些商品化的报警器,可以实现使用无线发射,通过电话 ...…

查看全部问答>

由月份流量想到的!

不知道个位管理员和版主看啦有什么感想,总体来说对比去年好像有所下降啊,怎么才能够吸引给多的网友的加入,同时留住给多的会员的回访呢,是不是有所行动呢?当然了本月由于还没有统计完,又放假的,估计有所变动,但是不影响总体走势吧!…

查看全部问答>

大家好 pwm是这么做吗?

lways @(posedge CLK) begin COUNT=COUNT+1; if (COUNT[13:4] < PWM_COUNT) PWM_REG=1; else PWM_REG=0; 如果实现20路pwm 的话是在一个always里面判断省资源还是 设置多个 always语句啊???…

查看全部问答>

寻三星芯片开发高手

项目说明: 便携式GPS,需要一位对三星ARM芯片(如:2416、2450)精通的人才。主要负责底层驱动和UI界面、应用程序。跑win ce系统。有意者加QQ详谈。QQ:290328975…

查看全部问答>

u盘文件乱码怎么办?

我的u盘存了很多文件  但今天打开时 发现里面的东西乱码了 是怎么回事  怎么才可以修一下?请大家帮帮忙 谢谢 …

查看全部问答>

VC#智能设备应用程序如何能使用vc2005开发的智能设备ocx? 高手指点

VC#智能设备应用程序如何能使用vc2005开发的智能设备ocx? 高手指点…

查看全部问答>

汽车电子公司招聘嵌入式开发工程师

本公司是从事公交车,旅游车电子配件开发,生产,销售的企业,现需招聘嵌入式开发工程师 工作地点:上海市闵行区 年薪6W-12W,并且享受产品权益金、项目奖 要求 精通数/模电子电路设计,会绘制PCB板,熟悉Linux平台驱动开发,本科以上学历, ...…

查看全部问答>

为什么STC12C5A32S2程序不能烧录进去啊

ORG 00HLJMP MAINORG 30HMAIN:MOV P1,#0FFHMOV P3,#0FFHLCALL YSMOV P1,#06HMOV P3,#0FFHLJMP MAINYS:MOV R0,#64HD1:MOV R1,#64HD2:MOV R2,#18HDJNZ R2,$DJNZ R1,D2DJNZ R1,D1RETEND 就这么个简单的程序为什么烧录不进去啊,反正一点下载就会出现C ...…

查看全部问答>

flash API error #65535

Device may be operating in a low-power mode. Do you want to bring it out of this mode?   这是啥原因啊?…

查看全部问答>

求大家看看程序哪里错了

如果一号工位有球那么抓一号工位的球,如果2号工位有球抓2号工位的球,如果两个工位都有球,抓白球。 帮我改一下,在主函数里面,谢谢了! #include #define uchar unsigned char #define uint  unsigned int uchar code table[ ...…

查看全部问答>