AMBA-APB
目录
1.APB 协议
2.APB信号列表
3.数据传输
3.1写传输(2种)
3.1.1 无等待状态的写传输
3.1.2有等待状态的写传输
3.2写选通信号 (PSTRB)
字节通道映射
3.3读传输(2种)
3.3.1 无等待状态的读传输
3.3.2有等待状态的读传输
时序说明
3.4错误响应
3.4.1 写传输
3.4.2读传输
4.信号有效性
说明:
1.APB 协议
APB(高级外设总线)协议是一种低成本接口,针对最低功耗和接口复杂性最小化进行了优化。APB 的接口不是流水线化的(一次数据传输必须完全完成后,才能启动下一次数据传输。换句话说,APB的操作是逐步完成的,没有重叠或并行的传输阶段),它是一个简单的同步协议。每次传输至少需要两个时钟周期完成。
APB 的接口专为访问外设设备的可编程控制寄存器而设计,外设通常通过 APB 桥接到主内存系统。例如,可以使用从 AXI 到 APB 的桥接器将多个 APB 外设连接到 AXI 内存系统中。APB 传输由 APB 桥发起。APB 桥也称为请求方(Requester)。外设接口响应传输请求,外设也被称为完成方(Completer)。
2.APB信号列表
信号名称 | 来源 | 宽度 | 描述 |
---|---|---|---|
PCLK | 时钟源 | 1 位 | 时钟信号,所有 APB 信号与 PCLK 的上升沿同步。 |
PRESETn | 系统总线复位信号 | 1 位 | 复位信号,低电平有效,通常直接连接到系统总线复位信号。 |
PADDR | 请求方 (Requester) | ADDR_WIDTH (≤32 位) | 地址总线,用于表示字节地址,必须保持稳定直到传输完成。 |
PENABLE | 请求方 (Requester) | 1 位 | 使能信号,指示 APB 传输的第二个周期或后续周期。 |
PWDATA | 请求方 (Requester) | DATA_WIDTH | 写数据总线,传输写入完成方的数据,可为 8 位、16 位或 32 位。 |
PRDATA | 完成方 (Completer) | DATA_WIDTH | 读数据总线,完成方在读周期传输数据,可为 8 位、16 位或 32 位。 |
PSELx | 请求方 (Requester) | 1 位 | 选择信号,用于选择对应的完成方 (Completer),指示数据传输需要访问该外设。 |
PWRITE | 请求方 (Requester) | 1 位 | 方向信号,高电平表示写操作,低电平表示读操作。 |
PREADY | 完成方 (Completer) | 1 位 | 准备就绪信号,完成方可延长传输,用于指示当前传输是否可以完成。 |
PSLVERR | 完成方 (Completer) | 1 位(可选) | 错误信号,高电平表示传输发生错误。 |
PSTRB | 请求方 (Requester) | DATA_WIDTH / 8 | 写选通信号,指示写传输中哪些字节有效。 |
PPROT | 请求方 (Requester) | 3 位 | 保护类型,包括普通、特权、安全访问和数据/指令访问类型。 |
PNSE | 请求方 (Requester) | 1 位 | 保护类型的扩展信号,支持领域管理扩展 (RME)。 |
PWAKEUP | 请求方 (Requester) | 1 位 | 唤醒信号,指示 APB 接口的活动。 |
PAUSER | 请求方 (Requester) | USER_REQ_WIDTH | 用户请求属性信号,最大宽度建议为 128 位。 |
PWUSER | 请求方 (Requester) | USER_DATA_WIDTH | 用户写数据属性信号,最大宽度建议为 DATA_WIDTH / 2 。 |
PRUSER | 完成方 (Completer) | USER_DATA_WIDTH | 用户读数据属性信号,最大宽度建议为 DATA_WIDTH / 2 。 |
PBUSER | 完成方 (Completer) | USER_RESP_WIDTH | 用户响应属性信号,最大宽度建议为 16 位。 |
APB 协议具有两个独立的数据总线:用于读取数据的 PRDATA和用于写入数据的 PWDATA。这些总线的宽度可以是 8 位、16 位或 32 位。读取数据总线和写入数据总线的宽度必须相同。
由于读取数据和写入数据总线没有各自独立的握手信号,数据传输无法同时进行,即不能并发传输。APB 使用非流水线的两阶段传输,包括 设置阶段 (Setup Phase) 和 访问阶段 (Access Phase)。
APB 接口具有单一的地址总线 PADDR,用于读和写的传输。PADDR表示字节地址, 可以与数据宽度不对齐,但其结果是不可预测的。例如,响应方(Completer)可能会使用未对齐的地址、对齐的地址,或者发出错误响应信号。
3.数据传输
所有显示的信号都在 PCLK 上升沿采样
3.1写传输(2种)
- 无等待状态的写传输
- 有等待状态的写传输
3.1.1 无等待状态的写传输
传输阶段描述:
-
设置阶段(Setup phase):
- 在 T1 时刻开始设置阶段,选择信号 PSEL 被置为有效。
- 此时,PADDR(地址)、PWRITE(写方向)以及 PWDATA(写数据)必须有效。
-
访问阶段(Access phase):
- 在 T2 时刻,PENABLE 信号被置为有效,进入访问阶段。
- 在 PCLK 的上升沿,PREADY 由响应方(Completer)置为有效,表示写数据将在 T3 时刻被接收。
- 在整个传输完成之前,PADDR、PWDATA 以及任何其他控制信号都必须保持稳定。
-
传输结束:
- 传输完成后,PENABLE 信号被释放(无效)。
- 如果没有向同一外设进行另一轮传输,PSEL 信号也会被释放(无效)。
3.1.2有等待状态的写传输
访问阶段中的延长: 通过控制 PREADY 信号来延长传输时间。
- 当 PENABLE 信号为高电平(有效)时,响应方可以通过将 PREADY 驱动为低电平(无效)来延长传输时间。
延长期间保持不变的信号:
在 PREADY 信号保持低电平的期间,下列信号保持不变:
- 地址信号(PADDR)
- 方向信号(PWRITE)
- 选择信号(PSELx)
- 使能信号(PENABLE)
- 写数据信号(PWDATA)
- 写选通信号(PSTRB)
- 保护类型信号(PPROT)
- 用户请求属性信号(PAUSER)
- 用户写入数据属性信号(PWUSER)
PREADY 的状态规则:
- 当 PENABLE 为低电平时,PREADY 信号可以取任意值。
- 这保证了那些固定两周期访问的外设可以将 PREADY 信号直接连接为高电平。
3.2写选通信号 (PSTRB)
PSTRB 信号用于在写数据总线上启用稀疏数据传输。每个 PSTRB 对应写数据总线的 1 个字节。当 PSTRB 被拉高时,它表示相应的字节通道包含有效数据。
字节通道映射
- 每 8 位的写数据总线上有一个写选通信号,因此 PSTRB[n] 对应于 PWDATA[(8n + 7):(8n)]。
- 图 3-3 显示了在 32 位数据总线上的这种关系。
对于读取传输,发起者(Requester)必须将所有的 PSTRB 信号拉低。
PSTRB 信号的存在与兼容性: PSTRB 是一个可选信号,一个 APB 外设可能只支持一部分访问类型,具体支持的访问类型需要在文档中说明,这意味着如果文档声明不支持稀疏写入(sparse writes),则所有 PSTRB 信号的组合可能是兼容的。
3.3读传输(2种)
- 无等待状态
- 有等待状态
所有信号都在 PCLK 的上升沿进行采样
3.3.1 无等待状态的读传输
无等待状态的读取传输时序
- 地址信号 PADDR、写入信号 PWRITE、选择信号 PSEL、使能信号 PENABLE 的时序与写传输部分中描述的相同。
- 对于读取传输,响应方(Completer)必须在读取传输结束前提供数据。
时序说明:在无等待状态的读取传输中,数据必须立即响应,不存在额外的延迟等待状态。
3.3.2有等待状态的读传输
图 3-5 展示了 PREADY 信号如何扩展传输。
有等待状态的读取传输时序
- 在访问阶段,如果 PREADY 被拉低,传输将被延长。
- 在 PREADY 保持为低电平期间,以下信号保持不变:
- 地址信号 PADDR
- 方向信号 PWRITE
- 选择信号 PSEL
- 使能信号 PENABLE
- 保护信号 PPROT
- 用户信号 PAUSER
时序说明
- 如图 3-5 所示,在有等待状态的读取传输中,PREADY 可以增加两个周期。然而,实际上可以增加任意数量的附加周期,从零个周期开始。
这意味着在等待状态期间,数据传输可以根据外部设备的响应时间灵活调整,直到传输完成。
3.4错误响应
PSLVERR 可以用于指示 APB 传输中的错误条件,错误条件可能发生在读或写传输中。
PSLVERR 仅在 APB 传输的最后一个周期有效,即当 PSEL、PENABLE 和 PREADY 都为高电平时。建议当 PSEL、PENABLE 或 PREADY 为低电平时,PSLVERR 被驱动为低电平。
发生错误的传输可能会或不会改变外围设备的状态,这取决于具体的外围设备设计。当写传输发生错误时,这并不意味着外围设备中的寄存器没有被更新。当读传输发生错误时,可能会返回无效数据。外围设备没有要求在读错误时将数据总线驱动为全零,请求者接收到读传输的错误响应后,仍然可能使用返回的数据,完成者不能依赖错误响应来阻止读取 PRDATA 上的值。
完成者不需要支持 PSLVERR。如果完成者不支持 PSLVERR,则适当的输入会被连接为低电平。
3.4.1 写传输
图 3-6 显示了一个写传输失败并以错误完成的示例
3.4.2读传输
读传输也可以以错误响应完成,表明没有有效的读数据可用。
3-7 显示了一个读传输以错误响应完成的示例
PSLVERR的映射
当进行桥接时:
- 从AXI到APB:APB上的PSLVERR错误会映射回AXI的RRRESP(读响应)和BRESP(写响应)。
- 从AHB到APB:APB上的PSLVERR错误会映射回AHB的HRESP(读写响应)。
这说明了当APB总线发生错误时,PSLVERR信号会通过桥接机制映射到其他总线(如AXI或AHB)的相应错误响应信号。
4.信号有效性
以下是信号有效性要求
信号 | 始终有效 | 当 PSEL 被激活时必须有效 | 当 PSEL 和 PENABLE 被激活时必须有效 | 当 PSEL、PENABLE 和 PREADY 被激活时必须有效 | 说明 |
---|---|---|---|---|---|
PSEL | ✓ | 选择信号,指示外设被选中进行操作 | |||
PWAKEUP | ✓ | 唤醒信号,可能用于低功耗管理 | |||
PADDR | ✓ | 地址 | |||
PENABLE | ✓ | 指示当前周期是事务的有效部分 | |||
PWRITE | ✓ | 事务是写操作(1)还是读操作(0) | |||
PREADY | ✓ | 目标是否准备好完成事务的信号 | |||
PWDATA | ✓ | 写数据,在有效的写数据线上传输,仅在写操作时有效 | |||
PRDATA | ✓ | 读数据,仅在读操作时有效 | |||
PSLVERR | ✓ | 从设备错误信号,表示事务发生错误 | |||
PPROT | ✓ | 保护信号,指示访问类型(如读/写、用户/特权模式) | |||
PNSE | ✓ | 非安全标志,可能指示事务是否为非安全模式 | |||
PAUSER | ✓ | 暂停或停顿请求信号 | |||
PSTRB | ✓ | 字节使能信号,指示数据的哪些字节有效 | |||
PWUSER | ✓ | 用户定义信号,仅在写操作时有效 | |||
PRUSER | ✓ | 用户定义信号,仅在读操作时有效 | |||
PBUSER | ✓ | 用户定义信号,可能用于附加信息传输 |
说明:
- 始终有效: 表示该信号在任何时刻都必须有效。
- 当 PSEL 被激活时有效: 表示该信号在 PSEL 被激活时必须有效。
- 当 PSEL 和 PENABLE 被激活时有效: 表示该信号在 PSEL 和 PENABLE 都被激活时必须有效。
- 当 PSEL、PENABLE 和 PREADY 被激活时有效: 表示该信号在 PSEL、PENABLE 和 PREADY 都被激活时必须有效。
相关文章:
AMBA-APB
目录 1.APB 协议 2.APB信号列表 3.数据传输 3.1写传输(2种) 3.1.1 无等待状态的写传输 3.1.2有等待状态的写传输 3.2写选通信号 (PSTRB) 字节通道映射 3.3读传输(2种) 3.3.1 无等待状态的读传输 3.3.2有等待状态的读传…...
网安入门之PHP后端基础
PHP 基本概念详解 PHP是一种服务器端脚本语言,常用于动态网站开发和 web 应用程序。以下是 PHP 的基本概念与特点的详细说明: 1. PHP 文件的默认文件扩展名 PHP 文件的扩展名通常为 .php,例如 index.php。PHP 文件可以包含 PHP 代码、HTML…...
windows系统安装完Anaconda之后怎么激活自己的虚拟环境并打开jupyter
1.在win主菜单中找到Anaconda安装文件夹并打开终端 文件夹内有所有安装后的Anaconda的应用软件和终端窗口启动窗口 点击Anaconda Prompt(Anaconda)就会打开类似cmd的命令终端窗口,默认打开的路径是用户名下的路径 2.激活虚拟环境 使用命令…...
【C#特性整理】C#特性及语法基础
1. C#特性 1.1 统一的类型系统 C#中, 所有类型都共享一个公共的基类型. 例如,任何类型的实例都可以通过调用ToString方法将自身转换为一个字符串 1.2 类和接口 接口: 用于将标准与实现隔离, 仅仅定义行为,不做实现. 1.3 属性、方法、事件 属性: 封装了一部分对…...
龙蜥 配置本地yum源8.6----亲测
系统版本: 说明:丫丫的,内网服务安装了个龙蜥操作系统。内网不能访问互联网,所以就需要挂载yum源 用的以前的方法挂载,一直报错 [Couldnt open file /mnt/anolisos/repodata/repomd.xml] yum挂载的时候报错,奇葩!!!,龙蜥的挂载方法好像不一样。 解决: 一、上传并挂…...
Xshell日志录制
步骤 1:设置日志文件位置 打开 Xshell 软件,选择目标会话(或者创建一个新的会话)。右键点击会话名称,选择“属性”。在会话属性窗口中,找到“日志”选项卡。勾选“启用日志记录”。在“文件名”中设置日志…...
vue下载和上传的地址动态ip地址配置方法
vue3结合element-plus实现【下载文件】和【上传文件】的动态ip地址配置 效果图 一、修改【文件上传】静态地址 1、首先引入axios import axios from "/utils/request"; import { getToken } from "/utils/auth"; 定义 const importDialogVisible ref(…...
动手做计算机网络仿真实验入门学习
打开软件 work1 添加串行接口模块,先关电源,添加之后再开电源 自动选择连接 所有传输介质 自动连接 串行线 绿色是通的,红色是不通的。 显示接口。se是serial串行的简写。 Fa是fast ethernet的简写。 为计算机配置ip地址: 为服…...
LeetCode 面试题 17.10. 主要元素
LeetCode 面试题 17.10. 主要元素 数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。 示例 1: 输入:[1,2,5,9,5,9,5…...
Hive之import和export使用详解
在hive-0.8.0后引入了import/export命令。 Export命令可以导出一张表或分区的数据和元数据信息到一个输出位置,并且导出数据可以被移动到另一个hadoop集群或hive实例,并且可以通过import命令导入数据。 当导出一个分区表,原始数据可能在hdf…...
SpringBoot数据字典字段自动生成对应code和desc
效果:接口会返回orderType,但是这个orderType是枚举的类型(1,2,3,4),我想多返回一个orderTypeDesc给前端展示,这样前端就可以直接拿orderTypeDesc使用了。 1. 定义注解 …...
HTML——16.相对路径
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><a href"../../fj1/fj2/c.html" target"_blank">链接到c</a><!--相对路径:-->…...
字——位级运算与有无符号数之间的比较
前言 本文整理和归纳《深入理解计算机系统》这本书的内容,但本文不会继续长篇大论地去将所有内容都总结,而是总结笔者认为容易遗忘或混淆或表述不清的内容。 字 首先字这个概念对于学习过《计算机体系结构》或《操作系统》的同学都不陌生,…...
Python爬虫教程——7个爬虫小案例(附源码)_爬虫实例
本文介绍了7个Python爬虫小案例,包括爬取豆瓣电影Top250、猫眼电影Top100、全国高校名单、中国天气网、当当网图书、糗事百科段子和新浪微博信息,帮助读者理解并实践Python爬虫基础知识。 包含编程资料、学习路线图、源代码、软件安装包等!【…...
‘Optional. get()‘ without ‘isPresent()‘ check
在Java中,Optional类被引入主要是为了解决NullPointerException的问题,它提供了一种更优雅的方式来处理可能为null的情况。Optional.get()方法用于获取Optional实例中包含的值,但如果Optional实例是空的(即没有值)&…...
015-spring-动态原理、AOP的xml和注解方式
强制使用cglib动态代理 spring-AOP的使用...
统计颜色Count Color(POJ2777)题解
有一个长度为L厘米板,L是一个正整数,所以我们可以把它均匀地划分成L个部分,分别从左到右编号为1,2……L,每一个部分长度都为1厘米。现在我们必须给每个部分涂色,一个部分一种颜色,要求完成以下两…...
Nginx 配置 SSL(HTTPS)详解
Nginx作为一款高性能的HTTP和反向代理服务器,自然支持SSL/TLS加密通信。本文将详细介绍如何在Nginx中配置SSL,实现HTTPS的访问。 随着互联网安全性的日益重要,HTTPS协议逐渐成为网站加密通信的标配。Nginx作为一款高性能的HTTP和反向代理服务…...
Day10补代码随想录 理论基础|232.用栈实现队列|225.用队列实现栈|20.有效的括号|1047.删除字符串中的所有相邻重复项
栈和队列理论基础 抽象认识 栈是先进后出(FIFO),队列是先进先出(LIFO) 队首(先进))队尾(后进)栈顶(后进)栈底(先进) 栈(Stack) 只在一端进行进出操作(只在一端进一端出)像个篮球框,取用篮球从一端进出。 /进栈 int a[1000];//足够大的栈空间 int top-1…...
pytorch基础之注解的使用--003
Title 1.学习目标2.定义3.使用步骤4.结果 1.学习目标 针对源码中出现一些注解的问题,这里专门写一篇文章进行讲解。包括如何自定义注解,以及注意事项,相信JAVA中很多朋友业写过,但是今天写的是Python哦。。。 2.定义 在 Python…...
2024-12-30-g++
title: 探秘 g:C 编程的得力编译器 date: ‘2024-12-30’ category: blog tags: gC 编程编译器技术代码生成与优化 sig: compiler archives: ‘2024-12’ author:way_back summary: g 作为专门用于 C 语言的编译器,在 C 开发领域占据关键地位。它凭借对…...
互联网十万个为什么之什么是微服务
微服务(Microservices)是一种软件架构设计模式,它将应用程序分解为小型、自治的服务单元,这些服务单元可以独立部署、扩展和维护,其中每一个服务单元也都是一个微服务。 基于微服务形成的软件架构风格称为微服务架构&…...
mysql子查询
子查询是嵌套在另一个 SELECT, INSERT, UPDATE, 或 DELETE查询的 SQL 查询。子查询可以在 WHERE 子句中、FROM 子句或 SELECT 列表中出现。 以下是一些使用 MySQL 子查询的常见示例: 1.在 WHERE 子句中使用子查询: SELECT * FROM Employees WHERE s…...
智能故障诊断和寿命预测期刊推荐
往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…...
根据语言变化动态更新图片资源方案
根据语言变化动态更新图片资源方案 一、需求描述二、关于 Locale三、实现方案3.1 方案一(不可行)3.2 方案二(不可行)3.3 方案三 一、需求描述 Android 项目中引导页图片包含文字信息,由于应用是适配了三种语言&#x…...
Python世界:数据结构易错点小结
Python世界:数据结构易错点小结 总体list列表tuple元组Stringdict字典mapset 部分笔记汇总,持续刷新中。区别于其他笔记之处在于,主要记录易错点坑点。 总体 数据结构声明辨析 list []tuple () const listditc {} hashset res set(list) 数…...
Linux | Ubuntu零基础安装 nvm 管理nodejs
目录 介绍 项目地址 前置工具 安装 查看环境配置 更新环境变量 查看版本 查看 nodejs包 列表 安装nodejs 查看 nvm 状态 测试 nodejs 介绍 nvm是什么?你可以把它理解成 nodejs的管理软件,方便快速切换nodejs的版本,达到兼容状态 …...
flask后端开发(3):html模板渲染
目录 渲染模板html模板获取路由参数 gitcode地址: https://gitcode.com/qq_43920838/flask_project.git 渲染模板 这样就能够通过html文件来渲染前端,而不是通过return了 html模板获取路由参数...
HAL 库句柄
一、命名方式:句柄是h为首字母,后面接协议名称 比如:huart、hadc、hi2c等 二、句柄类型: 这里拿huart举例,它的类型是UART_HandleTypeDef 进去stm32f1xx_hal_uart.h之后发现句柄的结构定义有部分是灰色的 灰色的当U…...
53.最大子数组和
53.最大子数组和 思路:动态规划 dp[i]表示截止到i的最大连续子数组的和 dp[0]nums[0] dp[i]max(dp[i-1]nums[i],nums[i]) 代码: class Solution { public:int maxSubArray(vector<int>& nums) {vector<int> dp(nums.size());dp[0]…...
计算机网络 (16)数字链路层的几个共同问题
一、封装成帧 封装成帧是数据链路层的一个基本问题。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。封装成帧就是在一段数据的前后分别添加首部和尾部,构成了一个帧。接收端在收到物理层上交的比特流后…...
[OpenGL]使用glsl实现smallpt
一、简介 本文介绍了如何使用 OpenGL,使用 glsl 语言在 Fragment shader 中实现 smallpt。程序完成后可以得到以下渲染结果(samples per pixel, spp 16)。在程序中按下A,W可以左右平移,按下W,S可以前后平移: 二、s…...
数据结构与算法Python版 骑士周游问题与深度优先搜索
文章目录 一、图的应用-骑士周游问题二、图的深度优先搜索 一、图的应用-骑士周游问题 骑士周游问题 在一个88的国际象棋棋盘上,一个棋子“马”(骑士),按照“马走日”的规则,从一个格子出发,要走遍所有棋…...
HIVE数据仓库分层
1:为什么要分层 大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。 我们需要一套行之有效的数据组织和管理方法来让我们的数据体系…...
WOFOST作物模型(3):敏感性分析
目录 一、定义参数范围二、采样生成参数样本三、运行不同参数组下的WOFOST四、计算敏感度与可视化1.敏感度2.二阶交互敏感度五、敏感变量对产量的影响结果可视化一、定义参数范围 使用TAGP(Total Above Ground Production),地上总产量 TSUM1,temperature sum from emergence…...
【2024年-6月-14日-开源社区openEuler实践记录】探索 test - tools:高效测试的开源宝库
开篇引言 大家好,我是 fzr123,在软件开发领域深耕多年,一直致力于探索各种提升效率的工具与技术。今天,我将为大家深入介绍一款在测试领域极具价值的开源项目——test - tools,它为开发者们提供了一系列强大的测试功能…...
go-xorm连接
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql""time""xorm.io/xorm" )func MysqlDbContent() {//数据库基本信息var (userName string "root"password string "12345678"ipAddress string &…...
Java字节分割文件流
使用 Java 通过字节分割大文件并将其以文件流的方式读写的示例代码。这个代码展示了如何将一个大文件分割成多个小文件,并以字节流的方式操作文件。 完整代码示例 import java.io.*;public class FileSplitter {public static void main(String[] args) {// 原始文…...
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
目录 一、toString() 方法是啥? (一)默认的 toString() 方法 (二)toString() 方法的作用 二、为啥要重写 toString() 方法? (一)提高代码的可读性 (二)…...
仙盟系统开发——启动app失败
var 返回 仙盟使者.Cyber_CallApp(VOAPP, 命令, 携带);...
使用ArcGIS Pro自带的Notebook计算多个遥感指数
在之前的分享中,我们介绍了如何使用ArcPy将GEE下载的遥感影像转为单波段文件。基于前面创建的单波段文件,我们可以一次性计算多种遥感指数,例如NDVI、EVI、NDSI等。我这里直接在ArcGIS Pro中自带的Notebook进行的运行。如下图所示,…...
深入Android架构(从线程到AIDL)_认识进程(Process)与IPC架构02
3、 设定IPC通信 -- 使用AndroidManifest.xml文件 在Android框架里,一个应用(程序)套件(Application Package)通常含有多个Java类(Class),这些类可以在同一个进程(Process)里执行;也可以在不同的进程里执行 。通常,一个进程…...
在K8S中,节点状态哪个组件负责上报?
在Kubernetes中,节点状态是kubelet组件负责定期上报的。Kubelet是运行在每个节点上的代理程序,它与Kubernetes Master节点上的控制面板组件紧密协作,以确保节点上的Pod能够正确运行。 kubelet的主要职责之一就是:与Kubernetes API…...
AI 神经网络在智能家居场景中的应用
在科技持续进步的当下,智能家居领域正经历着深刻变革,AI 神经网络技术的融入成为推动这一变革的关键力量,为家居生活带来了诸多显著变化与提升,本文将几种常见的AI算法应用做了一下总结,希望对物联网从业者有所帮助。 …...
C++基础:SGI STL二级空间配置器内存池
2024/12/14-2024/12/ : 这篇稍微写一下阅读SGI STL内存池的收获。 reference: [1] 深度剖析SGI STL二级空间配置器内存池源码 [2] C内存管理:new / delete 和 cookie [3] 侯捷 内存管理 文章目录 一、写在前面二、二级空间配置器解读2.1 从 malloc 和 fr…...
Python简介
Python 是一种高级编程语言,以其简洁易读的语法和强大的功能而广受欢迎。以下是对 Python 的详细简介: python官网:https://www.python.org/ python中文官网:Python中文网 官网 历史与起源: Python 由荷兰人 Guido…...
Linux之ARM(MX6U)裸机篇----7.蜂鸣器实验
一,蜂鸣器模块 封装步骤: ①初始化SNVS_TAMPER这IO复用为GPIO ②设置SNVS_TAMPPER这个IO的电气属性 ③初始化GPIO ④控制GPIO输出高低电平 bsp_beep.c: #include "bsp_beep.h" #include "cc.h"/* BEEP初始化 */ void beep_init…...
手机实时提取SIM卡打电话的信令声音-双卡手机来电如何获取哪一个卡的来电
手机实时提取SIM卡打电话的信令声音 --双卡手机来电如何获取哪一个卡的来电 一、前言 前面的篇章《手机实时提取SIM卡打电话的信令声音-智能拨号器的双SIM卡切换方案》中,我们论述了局域网SIP坐席通过手机外呼出去时,手机中主副卡的呼叫调度策略。 但…...
GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网
记录一些平时接触到的 GPU 知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用 1 术语与基础 1.1 PCIe 交换芯片1.2 NVLink 定义演进:1/2/3/4 代监控1.3 NVSwitch1.4 NVLink Switch1.5 HBM (High Bandwidth Memory) 由…...
Unresolved plugin: ‘org.apache.maven.plugins:maven-site-plugin:3.12.1‘
问题 使用idea 社区办加载项目提示下面问题: Unresolved plugin: org.apache.maven.plugins:maven-site-plugin:3.12.1 问题解决 maven插件地址: https://maven.apache.org/plugins/maven-dependency-plugin/plugins.html Maven 中央仓库地址&#…...