Cortex微控制器软件接口标准(CMSIS)

Cortex微控制器软件接口标准

目前,软件开发已经是嵌入式系统行业公认的主要开发成本,通过将所有Cortex-M芯片供应商产品的软件接口标准化,能有效降低这一成本,尤其是进行新产品开发或者将现有项目或软件移植到基于不同厂商MCU的产品时。为此,2008年Arm公司发布了Arm Cortex微控制器软件接口标准。 ST有限公司为开发者提供了标准外设库,通过使用该标准库无须深入掌握细节便可开发每一个外设,缩短了用户编程时间,从而降低开发成本。同时,标准库也是学习者深入学习STM32原理的重要参考工具。 CMSIS软件架构由4层构成:用户应用层、操作系统及中间件接口层、CMSIS层和硬件层,如图所示。

其中,CMSIS层起着承上启下的作用:一方面对硬件寄存器层进行统一实现,屏蔽不同厂商对Cortex-M系列微处理器内核外设寄存器的不同定义;另一方面又向上层的操作系统及中间件接口层和用户应用层提供接口,简化应用程序开发,使开发人员能够在完全透明的情况下进行应用程序开发。 CMSIS层主要由以下3部分组成。

(1)核内外设访问层(Core Peripheral Access Layer,CPAL):

由Arm公司实现,包括了命名定义、地址定义、存取内核寄存器和外围设备的协助函数,同时定义了一个与设备无关的RTOS内核接口函数。

(2)中间件访问层(Middleware Access Layer,MWAL):

由Arm公司实现,芯片厂商提供更新,主要负责定义中间件访问的应用程序编程接口(Application Programming Interface ,API)函数,如TCP/IP协议栈、SD/MMC、USB等协议。

(3)设备外设访问层(Device Peripheral Access Layer,DPAL):

由芯片厂商实现,负责对硬件寄存器地址及外设接口进行定义。另外,芯片厂商会对异常向量进行扩展,以处理相应异常。

STM32仿真器的选择

开发板可以采用ST-Link、J-Link或野火fireDAP下载器(符合CMSIS-DAP Debμgger规范)下载程序。ST-Link、J-Link仿真器需要安装驱动程序,CMSIS-DAP仿真器不需要安装驱动程序。

1.    CMSIS-DAP仿真器

CMSIS-DAP是支持访问CoreSight 调试访问端口(Debug Access Port,DAP)的固件规范和实现,以及各种Cortex处理器提供CoreSight调试和跟踪。 CoreSight两个主要功能就是调试和跟踪功能。 (1)调试功能。具体如下: ① 运行处理器的控制,允许启动和停止程序; ② 单步调试源码和汇编代码;③ 在处理器运行时设置断点; ④ 即时读取/写入存储器内容和外设寄存器; ⑤ 编程内部和外部Flash存储器。 (2)跟踪功能 ① 串行线查看器(SWV)提供程序计数器(PC)采样、数据跟踪、事件跟踪和仪器跟踪信息; ② 指令(ETM)跟踪直接流式传输到PC,从而实现历史序列调试、软件性能分析和代码覆盖率分析。 野火fireDAP高速仿真器如图4-21所示。

2.    J-Link

J-Link 是 SEGGER 公司为支持仿真Arm内核芯片推出的JTAG仿真器。 J-Link仿真器如图4-22所示。 J-Link仿真器具有如下特点: (1)JTAG最高时钟频率可达15MHz。 (2)目标板电压范围为1.2~3.3V,5V兼容。 (3)具有自动速度识别功能。 (4)支持编辑状态的断点设置,并在仿真状态下有效。可快速查看寄存器和方便配置外设。 (5)带J-Link TCP/IP 服务器,允许通过TCP/IP网络使用J-Link。

3.ST-Link

ST-Link是ST公司为STM8系列和STM32系列微控制器设计的仿真器。ST-LINK V2仿真器如图4-23所示。 ST-Link仿真器具有如下特点: (1)编程功能:可烧写Flash ROM、EEPROM等,需要安装驱动程序才能使用。 (2)仿真功能:支持全速运行、单步调试、断点调试等调试方法, (3)可查看I/O状态、变量数据等。 (4)仿真性能:采用USB2.0接口进行仿真调试、单步调试、断点调试,反应速度快。 (5)编程性能:采用USB2.0接口,进行 SWIM/JTAG/SWD下载,下载速度快。

4.微控制器调试接口

STM32F4系列微控制器调试接口引脚图如图4-24所示。为了减少PCB(印制电路板)的占用空间,JTAG调试接口可用双排10引脚接口,SWD调试接口只需要SWDIO、SWCLK、RESET和GND四条线。

嵌入式开发环境除Keil MDK外,还有IAR等开发环境,但均为国外公司的产品,我国目前还没有自主知识产权的Arm开发环境,再加上国内的一些高校被禁用MATLAB软件,该事件也警示我国的大学生:必须关心国家建设,立足自力更生,提升自身科技水平,发扬“航天精神”,为我国的科研建设出一份力,开发出如Keil MDK的开发环境,不受国外公司的制约。 大部分人认为工科专业属于自然科学,蕴含较少的意识形态属性,认同科学技术是无国界的。然而在实际生活中,任何一门科学技术的产生、发展和应用都与国家的倡导与需求息息相关,因此从这个角度来看,科学技术也是有国界的,其国界属性主要体现在科技的来源性、科技的权属性以及科技的服务性三个方面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/437637.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react-问卷星项目(4)

项目实战 使用CSS 尽量不要使用内联CSS 内联style代码多&#xff0c;性能差&#xff0c;扩展性差外链css文件可复用代码&#xff0c;可单独缓存文件 元素内联style 和HTMl元素的style相似必须用JS写法&#xff0c;不能是字符串&#xff0c;里面必须是对象 <span style…

进阶数据库系列(十三):PostgreSQL 分区分表

概述 在组件开发迭代的过程中&#xff0c;随着使用时间的增加&#xff0c;数据库中的数据量也不断增加&#xff0c;因此数据库查询越来越慢。 通常加速数据库的方法很多&#xff0c;如添加特定的索引&#xff0c;将日志目录换到单独的磁盘分区&#xff0c;调整数据库引擎的参…

无人化焦炉四大车系统 武汉正向科技 工业机车无人远程控制系统

焦炉四大车无人化系统介绍 采用格雷母线光编码尺双冗余定位技术&#xff0c;炉门视觉定位自学习技术&#xff0c;wifi5G无线通讯技术&#xff0c;激光雷达安全识别技术&#xff0c;焦化智慧调度&#xff0c;手机APP监控功能。 焦炉四大车无人化系统功能 该系统能自动生成生产…

IDTL:茶叶病害识别数据集(猫脸码客 第205期)

Identifying Disease in Tea Leaves茶叶病害识别数据集 一、引言 在农业领域&#xff0c;茶叶作为一种重要的经济作物&#xff0c;其生产过程中的病害防治是确保茶叶质量和产量的关键环节。然而&#xff0c;传统的病害识别方法主要依赖于人工观察和经验判断&#xff0c;这不仅…

Nature Machine Intelligence 基于强化学习的扑翼无人机机翼应变飞行控制

尽管无人机技术发展迅速&#xff0c;但复制生物飞行的动态控制和风力感应能力&#xff0c;仍然遥不可及。生物学研究表明&#xff0c;昆虫翅膀上有机械感受器&#xff0c;即钟形感受器campaniform sensilla&#xff0c;探测飞行敏捷性至关重要的复杂气动载荷。 近日&#xff0…

STM32引脚PB3、PB4、PA15作为输入输出的特殊配置

一、问题描述 简单描述&#xff1a; 最近做的一个项目中&#xff0c;PB3端口配置为输入&#xff0c;不管外部输入是高电平还是低电平&#xff0c;一直读取到的是低电平。 调试过程&#xff1a;在撰写代码过程中&#xff0c;又发现新的问题&#xff0c;Enter按键无法控制屏幕数…

【Python】ftfy 使用指南:修复 Unicode 编码问题

ftfy&#xff08;fixes text for you&#xff09;是一个专为修复各种文本编码错误而设计的 Python 工具。它的主要目标是将损坏的 Unicode 文本恢复为正确的 Unicode 格式。ftfy 并非用于处理非 Unicode 编码&#xff0c;而是旨在修复因为编码不一致、解码错误或混合编码导致的…

物流行业中的AI平台架构与智能化应用

随着物流行业的迅速发展&#xff0c;尤其是电商、仓储、运输的需求日益增多&#xff0c;AI技术逐渐成为推动物流企业高效运营、提升服务水平的关键力量。AI平台架构为物流行业的各个环节提供了智能化解决方案&#xff0c;助力物流企业在仓储管理、运输调度、客户服务等方面实现…

Redis: Sentinel工作原理和故障迁移流程

Sentinel 哨兵几个核心概念 1 ) 定时任务 Sentinel 它是如何工作的&#xff0c;是如何感知到其他的 Sentinel 节点以及 Master/Slave节点的就是通过它的一系列定时任务来做到的&#xff0c;它内部有三个定时任务 第一个就是每一秒每个 Sentinel 对其他 Sentinel 和 Redis 节点…

【2023工业3D异常检测文献】Shape-Guided: 基于形状引导和双记忆库的异常检测方法

Shape-Guided Dual-Memory Learning for 3D Anomaly Detection 1、Background 提出了一个以形状为指导的专家学习框架&#xff0c;用于解决无监督3D异常检测的问题。 该方法建立在两个专门的专家模型及其协同作用的基础上&#xff0c;以从颜色和形状模态中定位异常区域。 第…

基于单片机跑步机控制系统设计

** 文章目录 前言概要功能设计设计思路 软件设计效果图 程序文章目录 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…

详细分析BigDecimal基本知识(附Demo)

目录 前言1. 基本知识2. Demo 前言 之所以深入了解这个函数的用法&#xff0c;发现还可这么使用 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更…

多区域OSPF路由协议

前言 之前也有过关于OSPF路由协议的博客&#xff0c;但都不是很满意&#xff0c;不是很完整。现在也是听老师讲解完OSPF路由协议&#xff0c;感触良多&#xff0c;所以这里重新整理一遍。这次应该是会满意的 一些相关概念 链路状态 链路指路由器上的一个接口&#xff0c;链路状…

ChatGPT实时语音将于本周向免费用户推出:OpenAI DevDay 2024详细解读

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…

Windows 环境搭建 CUDA 和 cuDNN 详细教程

CUDA CUDA&#xff08;Compute Unified Device Architecture&#xff09;是由NVIDIA公司推出的一个并行计算平台和编程模型&#xff0c;它允许开发者使用NVIDIA GPU进行通用计算&#xff08;即GPGPU&#xff09;&#xff0c;从而加速各种计算密集型任务。CUDA提供了一套基于C/C…

深度学习:cGAN和pix2pix图像转换

cGAN和pix2pix的基础概念 cGAN cGAN是条件生成对抗网络&#xff08;Conditional Generative Adversarial Networks&#xff09;的简称。 它是一种基于基础GAN&#xff08;Generative Adversarial Networks&#xff09;架构的变体&#xff0c;通过给GAN模型引入额外的信息或条…

【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?

前言&#xff1a; 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要&#xff1a;如何在0实习且没有任何产品相关经验下&#xff0c;如何上岸产品经理~ 目录 一、想清楚为什么…

uniapp 上了原生的 echarts 图表插件了 兼容性还行

插件地址&#xff1a;echarts - DCloud 插件市场 兼容性这块儿不知道后期会不会支持其他浏览器 H5 的话建议可以用原生的不用这个插件

沐风老师3DMAX快速嵌板修改器插件Panelizer使用方法

3DMAX快速嵌板修改器插件Panelizer&#xff0c;一键快速几何体分布工具&#xff0c;基于3dsMax的拓扑修改器&#xff0c;将几何模型散布并对齐到四边形面上的参数化建模工具。 【系统要求】 3dsMax 2018.1 - 2025 【安装方法】 1.将插件安装文件&#xff08;.mcg&#xff09;…

Llama 系列简介与 Llama3 预训练模型推理

1. Llama 系列简介 1.1 Llama1 由 Meta AI 发布&#xff0c;包含 7B、13B、33B 和 65B 四种参数规模的开源基座语言模型 数据集&#xff1a;模型训练数据集使用的都是开源的数据集&#xff0c;总共 1.4T token 模型结构&#xff1a;原始的 Transformer 由编码器&#xff08…