ARM资源记录《AI嵌入式系统:算法优化与实现》第八章(暂时用不到)
1.CMSIS的代码
书里给的5,https://github.com/ARM-software/CMSIS_5
现在有6了,https://github.com/ARM-software/CMSIS_6

这是官网的书,介绍cmsis函数的https://arm-software.github.io/CMSIS_5/Core/html/index.html

2.CMSIS介绍
Cortex-M系列ARM处理器在嵌入式系统中得到广泛应用,不同的Cortex-M ARM处理器配备不同的外部控制器,但执行二进制指令的核心是相同的。为了提高这一系列ARM处理器软件的开发效率,ARM公司从2008年开始,推动并开发了CMSIS软件接口标准。CMSIS是Cortex Microcontroller Software Interface Standard的首字母缩写,它的英文全称表明CMSIS主要面向Cortex-M系列ARM处理器,但现有的CMSIS软件包也提供了少量针对Cortex-A5/A7/A9系列ARM处理器的内容。

3.CMSIS子模块
·CMSIS-Core
CMSIS-Core提供ARM处理器启动时最初运行的代码、处理器内部单元的访问代码以及外设控制器部分代码。这些代码包括处理器、寄存器的基本配置,默认的中断服务程序的代码,时钟中断设置等。这部分代码为后续的软件执行提供一个最基本的运行环境。
·CMSIS-DAP
CMSIS-DAP中的DAP来自英文Debug Access Port的首字母。它规定了ARM处理器和调试器的统一接口,包括调试控制命令、数据格式等信息。CMSIS-DAP同时包括了ARM处理器调试控制固件(firmware)的具体实现,它使得PC端的调试软件通过USB口和ARM处理器通信,并执行调试任务。利用CMSIS-DAP提供的固件可以快速实现一个Cortex处理器的仿真器硬件,如图8-2所示。
关于CMSIS-DAP的细节,请参照https://arm-software.github.io/CMSIS_5,我们在这里不详细展开。

·CMSIS-Zone
对于复杂的ARM处理器架构以及多核ARM处理器,不同软件模块运行在相互分离的不同“空间”。这里的“空间”就是英文单词Zone,它包括了软件模块运行的地址访问范围以及能够访问的外围控制器集合两部分。CMSIS-Zone定义了用于描述不同空间的文件格式,并提供图形化的界面生成这些描述文件。而这些描述文件能够进一步被自动代码生成工具使用,生成各种程序源代码,包括编译链接脚本文件、地址空间定义的头文件、CPU启动时刻的初始化代码、C/C++代码框架等。
·CMSIS-RTOS
CMSIS-RTOS是实时操作系统(Real Time Operating System,RTOS)的接口API,它本身不是RTOS,需要和第三方提供的RTOS一起使用,但它为上层应用提供名称统一的API接口,通过这些API调用底层不同类型操作系统的服务。使用CMSIS-RTOS定义的API接口,使得运行在操作系统上的用户应用程序可以和底层操作系统的类型“无关”,方便应用程序移植到兼容CMSIS-RTOS的不同实时操作系统上。图8-3所示是基于CMSIS-RTOS架构的示意图。

·CMSIS-NN
CMSIS-NN包括和神经网络相关的数学运算代码,其中一部分运算基于CMSIS-DSP实现。它具体包括了神经网络卷积层的卷积运算、激活函数运算、神经网络全连接层的计算、softmax运算等。
·CMSIS-DSP
CMSIS-DSP包括一系列数学运算的实现代码,用于各类信号处理应用,内容包括快速算法、复数运算、矩阵运算、时域/频域变换运算、数据统计、插值等数学运算。它同时也包括和应用相关的滤波运算和电机控制代码。这些代码针对特定的处理器进行了手工优化,因此对于不同的ARM处理器类型有不同的版本,用户程序需要用“宏开关”来选择和所使用的处理器匹配的代码。
·CMSIS-Driver
CMSIS-Driver定义了处理器内置的外部设备控制器的驱动程序API接口,包括描述不同设备操作函数API的头文件以及建议的设备操作流程。使用CMSIS-Driver定义的驱动程序API接口使得用户应用程序能够和设备的具体型号保持相对“独立”,便于软件在不同处理器上移植。需要注意的是,驱动程序API接口仅仅是头文件里的函数申明,而具体的代码实现细节还是需要第三方开发完成。由于CPU外围控制器的多样性,CMSIS-Driver定义的内容随着硬件产品更新而不断扩充。
·CMSIS-SVD
CMSIS-SVD中的SVD是指System View Description,即“系统视图描述”,CMSIS-SVD定义了基于XML文本的处理器外设信息和参数格式,这一格式的文本能够清晰地描述每种Cortex-M处理器的特性,包括处理器型号、总线位宽、外围控制器特性、片内寄存器等。ARM的硬件调试器通过这些描述文件,在调试时为程序员提供处理器状态数据显示。图8-4给出了CMSIS-SVD定义的XML文件的层次化结构,它从高到低定义了ARM处理器的所有参数信息,包括了从器件级、处理器级、外围控制器级、存储器级、寄存器域级和每个位域取值的信息。

相关文章:
ARM资源记录《AI嵌入式系统:算法优化与实现》第八章(暂时用不到)
1.CMSIS的代码 书里给的5,https://github.com/ARM-software/CMSIS_5 现在有6了,https://github.com/ARM-software/CMSIS_6 这是官网的书,介绍cmsis函数的https://arm-software.github.io/CMSIS_5/Core/html/index.html 2.CMSIS介绍 Cort…...
微信小程序2
一,视图层 1.什么视图层 框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。 将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。 WXML(WeiXin Markup language) 用于描述页面的结构。 WXS(WeiXin Script) 是小程序的一套脚本语…...
G.711语音编解码器详解
语音编解码利用人听觉上的冗余对语音信息进行压缩从而达到节省带宽的目的。值得注意的是,本文说的是语音编解码器,也就Speech codec,而常用的还有另一种编解码器称作音频编解码器,英文是Audio codec,它们的区别如下。 以前在学校的时候研究了很多VoIP的编解码器从G.723到A…...
蓝桥杯每日一题2023.10.17
迷宫 - 蓝桥云课 (lanqiao.cn) 题目描述 样例: 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 01111011010010001000001101001011100011000000010000 0100000000101010001101000010100000101010101100…...
16.SpringBoot前后端分离项目之简要配置一
SpringBoot前后端分离项目之简要配置一 前面对后端所需操作及前端页面进行了了解及操作,这一节开始前后端分离之简要配置 为什么要前后端分离 为了更低成本、更高效率的开发模式。 前端有一个独立的服务器。 后端有一个独立的服务器。两个服务器之间实时数据交换…...
Probability Calibration概率校准大比拼:性能、应用场景和可视化对比总结
在机器学习中,概率校准(Probability Calibration)是一个重要的概念。简单来说,概率校准就是将分类器输出的原始预测概率转换为更准确、更可靠的概率值。这样做的目的是为了让模型的预测结果更接近实际情况,从而提高模型在特定应用场景中的可用性。 在Python的Scikit-Lear…...
PHP 球鞋在线商城系统mysql数据库web结构apache计算机软件工程网页wamp计算机毕业设计
一、源码特点 PHP球鞋在线商城系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php球鞋在线商城系统 代码 https://download.csdn.net/download/qq_41221322/8843725…...
使用Apache和内网穿透实现私有服务公网远程访问——“cpolar内网穿透”
文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…...
PreparedStatement
使用参数化查询:使用预编译的语句和参数化查询来执行SQL语句,而不是将用户输入直接嵌入到SQL语句中。这将帮助防止恶意输入注入SQL语句。...
CSS3 新增属性-边框圆角-文字阴影-盒子阴影
边框圆角 CSS 边框圆角可以通过 border-radius 属性来实现。该属性用于设置元素的圆角大小,支持四个值分别表示上左、上右、下右和下左四个角的圆角半径大小,也可以使用两个值分别表示上下和左右两个方向的圆角大小,甚至可以只使用一个值来…...
制作.a静态库 (封盒)
//云库房间 1.GitHub上创建开源框架项目须包含文件: LICENSE:开源许可证;README.md:仓库说明文件;开源项目;(登录GitHub官网) 2. 云仓储库构建成功(此时云库中没有内容三方框架)!!! 3. 4.5. //…...
一台服务器,一个新世界
我如何看待服务器 当我拥有一台服务器,我看到的不仅仅是一块硬件,而是一扇打开未来的大门,一个我可以将自己的愿景和创意投射到其中的平台。这台服务器是我的工具,我的画布,我将在其中铸造我的数字梦想。 第一步我要…...
keep-alive 是 Vue 的一个内置组件,用于缓存其他组件的实例,以避免重复渲染和销毁,它可以在需要频繁切换的组件之间提供性能优化
目录 keep-alive 使用 keep-alive 的示例代码: 手动清除组件缓存的示例代码: keep-alive 组件有以下几个优点: keep-alive 的原理: 使用 keep-alive 组件,你可以包裹需要缓存的组件,然后这些组件在切…...
(八)Python类和对象
Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”就是对 Python 这门编程语言的完美诠释。 类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时&am…...
黑客利用人工智能窃取医疗数据的 7 种方式
人工智能被描述为医疗保健行业的一把双刃剑。基于人工智能的系统可以分析大量数据并在早期和可治疗的阶段检测疾病,它们可以比任何人类更快地诊断症状,并且人工智能正在帮助药物开发,使新的救命药物得以识别并将其推向市场速度更快且成本显着…...
OJ第四篇
文章目录 链表分割环形链表有效的括号 链表分割 链接: 链表分割 虽然这个题牛客网中只有C,但是无所谓,我们只要知道C是兼容C的就可以了 至于说这个题的思路,我们就弄两个链表,把小于x的结点放到一个链表中,剩下的放到另一个链表…...
L2-022 重排链表
给定一个单链表 L1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。 输入格式: 每个输入包含1个测试用例。每个测试用例…...
css 特别样式记录
一、 这段代码神奇的地方在于, 本来容器的宽度只有1200px,如果不给img赋予宽度100%,那么图片 会超出盒子,如果给了img赋予了宽度100%,多个图片会根据自己图片大小的比例,去分完那1200px,如图二。…...
多数元素[简单]
优质博文:IT-BLOG-CN 一、题目 给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于n/2的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3…...
34 个高质量免费教育资源
🧑🎓 综合型在线学习网站:21个 🛜 专业类在线教育网站:13个 ⬇️⬇️⬇️ 0 examtopics www.examtopics.cn 专业的AWS等IT认证考试题库 一、综合型在线学习网站 1、Coursera coursera.org 美国斯坦福大学两名计算机…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
