谁来分享下STM32的程序框架?

谁来分享下STM32的程序框架?,第1张

首先我对框架的看法:框架是为了方便我们程序员开发 减少代码量,及代码质量的工具 。框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。\x0d\x0a\x0d\x0a也就说档轮,程序框架更多的从代码可用性角度来定义,对于应用层,这样的概念很多,比如java开发框架,net框架等等,在单片机含慧里面,我认为:可能更多的框架应该是面向硬件 *** 作行为,即做好单片机基本硬件模块的 *** 作函数,封装成一个API函数,然后再你main route里面使用这些API函数的接口,建立与外界的联系。\x0d\x0a\x0d\x0a我一般的做法是:\x0d\x0a\x0d\x0a1.做好基本数据结构的重定义,比如typedef一些基本数据类型,使之能够通用。。\x0d\x0a\x0d\x0a2.做好所有端口的映射,因为单片机谈蠢答的管脚是很多是复用的,做好这些cross-pin,对于复用很有帮助。。\x0d\x0a\x0d\x0a3.做好涉及部件接口的 *** 作函数接口,比如IIC总线,做好IIC总线 *** 作的代码,包括read,write函数;\x0d\x0a\x0d\x0a4.做好基本的通用函数接口,比如延时功能,串口调试功能,这些功能接口尽量做到与通用匹配,比如使用delay_ms(),sprintf等等;\x0d\x0a\x0d\x0a5.每一个接口对应一个C文件和H文件,这样组织框架很容易,而且也容易寻找不同接口包含在那些文件里面。。\x0d\x0a\x0d\x0a其他的,就是自己的一些开发习惯了吧。。

ARM处理器:英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

cortex架构:ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。

arm内核和cortex架构的区别:

1、构架不一样:

arm内核:RM处理器本身是32位设计,但也配备16位指令集。

cortex架构:属于ARMv7架构,这是到2010年为毕启止ARM公司最新的指令集架构。

2、应用领域不一样:

arm内核:在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指祥游令却不经常使用,在程序设计中只占20%。

cortex架构:于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。

扩展资料:

cortex架构的特点:

Cortex-A15 和 Cortex-A7 都支持 ARMv7A 架构的扩展,从而为大型物理地址访问和硬件虚拟化以及处理 AMBA4 ACE 一致性提供支持。同时,这些都支持big.LITTLE 处理。

ARM在Cortex-A系列处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用,这里就不再介绍。

需要指出的是,单从命名数字来看Cortex-A7似乎比A8和A9低端,但是从ARM的官方数据看,A7的架构和工艺都是仿照A15来做的谨数销,单个性能超过A8并且能耗控制很好。另外A57和A53属于ARMv8架构。

参考资料来源:百度百科-cortex

参考资料来源:百度百科-ARM

简掘镇激单说:

固件库又叫做firmware lib,ST官方做了两套,早期是标准库,后面是HAL库,其实就是程序框架。

单片机开发一般包括:驱动开发 + 应用程序

驱动开发就是控判袜制单片机片内外设,如存储、通信接口(uart spi iic等)、定时器等

应用程序就是用户逻辑代码。

ST官方提供的库主要是帮我们简化编程,抽象底层 *** 作,使我们更专注用户程序开发。比如:

我们要控制GPIO,那么我们可能需要去查看寄存旅弊器、配置时钟使能、上下拉、驱动能力、输入输出、中断方式、管教复用等,这些很琐碎很容易出错,但是使用库函数调用函数就OK了。

还有一个巨大的好处是:程序移植性更好!!!

ST很良心,当然大牛也可以自己实现自己的库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12540997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存