STM32学习之ARM内核自带的中断
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处
文章目录
- 1. 系统异常(System Exceptions)
- 1.1 复位(Reset)
- 1.2 不可屏蔽中断(NMI,Non - Maskable Interrupt)
- 1.3 硬件错误(HardFault)
- 1.4 存储器管理错误(Memory Management Fault)
- 1.5 总线错误(BusFault)
- 1.6 使用错误(UsageFault)
- 2. 中断控制器相关中断
- 2.1 SysTick定时器中断
- 2.2 PendSV(可挂起的系统服务)
- 2.3 SVC(系统服务调用)
- 3. 代码
- 4. 总结
ARM内核自带了多个中断,不同的ARM内核版本(如Cortex - M0、Cortex - M3、Cortex - M4等)可能会在中断数量和类型上有所差异,但一些常见的中断类型基本是相似的。下面以Cortex - M系列内核为例,介绍一些ARM内核自带的重要中断:
1. 系统异常(System Exceptions)
1.1 复位(Reset)
- 描述:复位异常是系统上电或者按下复位按钮后触发的第一个异常。当发生复位时,处理器会停止当前正在执行的任务,将所有寄存器和系统状态恢复到初始值,然后从复位向量处开始执行程序,通常是启动代码的入口点。
- 优先级:最高优先级,不可屏蔽。
1.2 不可屏蔽中断(NMI,Non - Maskable Interrupt)
- 描述:NMI是一种具有最高优先级的中断,用于处理一些非常紧急且不能被其他中断或异常所屏蔽的事件,例如硬件故障、电源故障等。一旦触发NMI,处理器会立即停止当前正在执行的任务,转去执行NMI的中断服务程序。
- 优先级:固定为最高优先级,不可屏蔽。
1.3 硬件错误(HardFault)
- 描述:当处理器遇到无法处理的硬件错误时,会触发HardFault异常。这些错误可能包括非法指令、内存访问错误(如访问未映射的内存地址)、总线错误等。HardFault异常处理程序通常需要进行错误诊断和恢复操作,以确保系统的稳定性。
- 优先级:较高优先级,通常在系统异常中仅次于NMI。
1.4 存储器管理错误(Memory Management Fault)
- 描述:该异常在访问内存违反了存储器管理单元(MMU)或者内存保护单元(MPU)的规则时触发,例如访问了受保护的内存区域、执行了未授权的内存操作等。通过处理该异常,可以及时发现和处理内存访问错误,提高系统的安全性。
- 优先级:可配置。
1.5 总线错误(BusFault)
- 描述:当处理器在访问总线(如内存总线、外设总线)时发生错误,如总线传输超时、总线冲突等,会触发BusFault异常。该异常处理程序可以对总线错误进行诊断和处理,确保系统的正常通信。
- 优先级:可配置。
1.6 使用错误(UsageFault)
- 描述:UsageFault异常在处理器遇到一些使用错误时触发,例如未定义的指令、协处理器访问错误、除零错误等。通过处理该异常,可以捕获程序中的一些逻辑错误,提高程序的健壮性。
- 优先级:可配置。
2. 中断控制器相关中断
2.1 SysTick定时器中断
- 描述:SysTick是一个24位的递减定时器,它是Cortex - M内核自带的一个系统定时器。SysTick定时器可以用于实现系统的定时功能,例如操作系统的任务调度、延时函数等。当SysTick定时器计数到0时,会触发SysTick中断。
- 优先级:可配置。
2.2 PendSV(可挂起的系统服务)
- 描述:PendSV主要用于操作系统的上下文切换。在多任务操作系统中,当需要进行任务切换时,可以通过设置PendSV异常挂起位来触发PendSV中断,在PendSV中断服务程序中完成任务上下文的保存和恢复操作。
- 优先级:通常配置为最低优先级,以确保其他高优先级的中断可以优先处理。
2.3 SVC(系统服务调用)
- 描述:SVC是一种软件触发的异常,用于实现用户程序与操作系统内核之间的系统调用。用户程序可以通过执行SVC指令来触发SVC异常,从而调用操作系统提供的服务,如内存分配、文件操作等。
- 优先级:可配置。
3. 代码
// 不可屏蔽中断(NMI)处理函数
void NMI_Handler(void)
{// 处理紧急且不能被屏蔽的事件,如硬件故障、电源故障等// 这里可以添加具体的错误处理代码,例如记录错误日志、触发报警等while (1){// 可以添加一些调试信息,如点亮LED表示发生NMIHAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);}
}// 硬件错误(HardFault)处理函数
void HardFault_Handler(void)
{// 处理硬件错误,如非法指令、内存访问错误等// 可以添加错误诊断和恢复操作,例如记录错误状态、重启系统等while (1){// 点亮另一个LED表示发生HardFaultHAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);}
}// 存储器管理错误(Memory Management Fault)处理函数
void MemManage_Handler(void)
{// 处理存储器管理错误,如访问受保护的内存区域等// 可以添加错误处理代码,如记录错误地址、关闭相关外设等while (1){// 点亮特定LED表示发生存储器管理错误HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);}
}// 总线错误(BusFault)处理函数
void BusFault_Handler(void)
{// 处理总线错误,如总线传输超时、总线冲突等// 可以添加错误诊断和恢复操作,如重新初始化总线、记录错误信息等while (1){// 点亮LED表示发生总线错误HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_SET);}
}// 使用错误(UsageFault)处理函数
void UsageFault_Handler(void)
{// 处理使用错误,如未定义的指令、协处理器访问错误等// 可以添加错误处理代码,如检查指令地址、重新初始化相关模块等while (1){// 点亮LED表示发生使用错误HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);}
}// SysTick定时器中断处理函数
void SysTick_Handler(void)
{HAL_IncTick(); // 更新系统滴答计数器// 可以添加定时任务代码,例如每1ms执行一次的任务// 例如:// static uint32_t counter = 0;// counter++;// if (counter % 1000 == 0) {// HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);// }
}// PendSV(可挂起的系统服务)处理函数
// 在操作系统中用于上下文切换
// 这里只是简单示例,实际应用中会更复杂
void PendSV_Handler(void)
{// 可以添加上下文切换代码,如保存和恢复任务上下文// 例如:// save_context();// switch_to_next_task();// restore_context();
}// SVC(系统服务调用)处理函数
void SVC_Handler(void)
{// 处理系统服务调用,如内存分配、文件操作等// 可以根据不同的系统调用号执行相应的操作// 例如:// uint32_t svc_number = __get_MSP() + 26;// switch (svc_number) {// case 0:// // 执行内存分配操作// break;// case 1:// // 执行文件打开操作// break;// default:// break;// }
}
4. 总结
以下是将上述ARM内核自带中断总结成的表格:
中断名称 | 描述 | 优先级 |
---|---|---|
复位(Reset) | 系统上电或复位按钮按下后触发,使处理器恢复初始状态并从复位向量处开始执行程序 | 最高优先级,不可屏蔽 |
不可屏蔽中断(NMI) | 用于处理紧急且不能被屏蔽的事件,如硬件故障、电源故障等 | 固定为最高优先级,不可屏蔽 |
硬件错误(HardFault) | 处理器遇到无法处理的硬件错误时触发,如非法指令、内存访问错误等 | 较高优先级,仅次于NMI |
存储器管理错误(Memory Management Fault) | 访问内存违反MMU或MPU规则时触发,如访问受保护内存区域等 | 可配置 |
总线错误(BusFault) | 处理器访问总线时发生错误,如总线传输超时、冲突等 | 可配置 |
使用错误(UsageFault) | 处理器遇到使用错误时触发,如未定义指令、除零错误等 | 可配置 |
SysTick定时器中断 | SysTick定时器计数到0时触发,用于系统定时功能,如任务调度、延时函数等 | 可配置 |
PendSV(可挂起的系统服务) | 主要用于操作系统的上下文切换 | 通常配置为最低优先级 |
SVC(系统服务调用) | 用户程序通过执行SVC指令触发,用于实现与操作系统内核之间的系统调用 | 可配置 |
相关文章:
STM32学习之ARM内核自带的中断
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
Java 设计模式:工厂模式详解
Java 设计模式:工厂模式详解 工厂模式(Factory Pattern)是一种创建型设计模式,它通过将对象的创建过程封装到工厂类中,避免了直接使用 new 关键字创建对象,从而提高了代码的灵活性和可维护性。本文将介绍工…...
python内置标准模块--OS
内置标准模块–OS 在 Python 中,os 是一个内置标准模块,全称是 Operating System(操作系统)。它的核心作用是与当前操作系统交互,提供对文件系统、进程管理、环境变量等操作系统功能的访问接口 1. os 模块的核心功…...
echart实现动态折线图(vue3+ts)
最近接到个任务,需要用vue3实现动态折线图。之前没有用过,所以一路坎坷,现在记录一下,以后也好回忆一下。 之前不清楚echart的绘制方式,以为是在第一秒的基础上绘制第二秒,后面实验过后,发现并…...
Web3(阶段一:入门)——椭圆曲线
一、快速概览 ECC 是一种基于有限域上椭圆曲线代数结构的公钥加密系统。它提供与 RSA 相当的安全性,但密钥长度要短得多,从而实现更快的计算速度和更低的资源使用率。ECC 广泛应用于各种应用,包括安全通信、数字签名和加密货币。 二、什…...
vue总结
1.vue是什么。 vue是javascript和html结合后的,实现了html的模块开发,并且样式和js互不影响。组件内的javascript逻辑只在组件内有效,当然父类可通过某些方法调用,但是彼此间没有影响。各个组件的样式,通过scope防止了…...
LCR 131. 砍竹子 I
文章目录 题意思路代码 题意 题目链接 思路 代码 class Solution { public:int cuttingBamboo(int bamboo_len) {if (bamboo_len 2)return 1;if (bamboo_len 3)return 2;if (bamboo_len 4)return 4;int x bamboo_len / 3;int ans pow(3, x);int y bamboo_len % 3;if …...
游戏引擎学习第210天
回顾并为今天的工作做准备 今天我们,进行一些编码工作。这部分的编码内容对那些对代码架构感兴趣的人非常有帮助,我认为今天的编码内容会很有教育意义,尤其是在展示一些代码转化的过程中,希望大家能够从中获得一些启发。 接下来…...
40--华为IPSec VPN实战指南:构建企业级加密通道
🛡️ 华为IPSec VPN实战指南:构建企业级加密通道 “当数据开始穿盔甲,黑客只能望’密’兴叹” —— 本文将手把手教你用华为设备搭建军用级加密隧道,从零开始构建网络长城! 文章目录 🛡️ 华为IPSec VPN实战…...
go游戏后端开发28:胡牌算法实现
红中麻将胡牌逻辑开发文档 一、字牌与封牌的字典表构建 在开发红中麻将胡牌逻辑时,首先需要构建非字牌和封牌的字典表。在构建双层表时,需进行判断:若牌为风牌且索引 i 大于 6,则不进行处理。这是因为风牌包含东南西北中&#x…...
CNN注意力机制的进化史:深度解析10种注意力模块如何重塑卷积神经网络
🌟 引言:注意力为何改变CNN的命运? 就像人类视觉会优先聚焦于重要信息,深度学习模型也需要"学会看重点"。从2018年SENet首提通道注意力,到2024年SSCA探索空间-通道协同效应,注意力机制正成为CNN…...
字符串与字符数组的对比
在 C 语言中,字符串 和 字符数组 密切相关,但又有重要区别。以下是它们的对比: 1. 基本定义 字符数组 (char array) 是一个固定大小的数组,元素类型是 char。可以存储字符序列,但不一定以 \0 结尾。例如:…...
mapbox进阶,模仿百度,实现不同楼栋室内楼层切换
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️fill-extrusion 三维填充(白膜)图层样…...
OpenCv高阶(一)——图像金字塔(上采样、下采样)
目录 图像金字塔 一、上下采样原理 1、向下取样 2、向上采样 3、图像金字塔的作用 二、案例实现 1、高斯下采样 2、高斯金字塔中的上采样 3、对下采样的结果做上采样,图像变模糊,无法复原 4、拉普拉斯金字塔(图片复原) 图…...
如何避免“过度承诺”导致的验收失败
如何避免“过度承诺”导致的验收失败?关键在于: 评估可行性、设置合理目标、高频沟通反馈、阶段性验收、做好风险管理。其中设置合理目标至关重要,很多团队往往在项目初期为迎合客户或领导而报出“最理想方案”,忽略了资源、技术及…...
Python爬虫第7节-requests库的高级用法
目录 前言 一、文件上传 二、Cookies 三、会话维持 四、SSL证书验证 五、代理设置 六、超时设置 七、身份认证 八、Prepared Request 前言 上一节,我们认识了requests库的基本用法,像发起GET、POST请求,以及了解Response对象是什么。…...
mysql里面的TIMESTAMP类型对应java什么类型
在MySQL中,TIMESTAMP类型用来存储日期和时间值,显示为YYYY-MM-DD HH:MM:SS格式。在Java中,可以使用java.sql.Timestamp类来对应MySQL中的TIMESTAMP类型。 在Java的POJO(Plain Old Java Object)中,如果你想要…...
Java核心技术面试题
Java面试题分享 通过网盘分享的文件:面试题等2个文件 链接: https://pan.baidu.com/s/1Xw0PzkfAmL8uesYBvrW2-A?pwdpebt 提取码: pebt 一、Java基础篇 1. OOP面向对象 面向对象编程(OOP)是一种编程范式,它利用“类”和“对象”来…...
【技海登峰】Kafka漫谈系列(十)SpringBoot整合Kafka之生产者Producer
【技海登峰】Kafka漫谈系列(十)SpringBoot整合Kafka之生产者Producer spring-kafka官方文档: https://docs.spring.io/spring-kafka/docs/2.8.10/reference/pdf/spring-kafka-reference.pdf KafkaTemplate API: https://docs.spring.io/spring-kafka/api/org/springframewo…...
【简单理解什么是简单工厂、工厂方法与抽象工厂模式】
一、简单工厂模式 1.简单工厂模式 通过一个工厂类集中管理对象的创建 ,通过参数决定具体创建哪个对象。 #适合对象类型较少且变化不频繁的场景,缺点是违反开闭原则(新增产品需修改工厂类) 开闭原则(对扩展开放对修改关闭) :当…...
C++之nullptr
文章目录 前言 一、NULL 1、代码 2、结果 二、nullptr 1、代码 2、结果 总结 前言 当我们谈论空指针时,很难避免谈及nullptr。nullptr是C++11引入的一个关键字,用来表示空指针。在C++中,空指针一直是一个容易引起混淆的问题,因为在早期版本的C++中,通常使用NULL来…...
Java List<JSONObject> 中的数据转换为 List<T>
从方法的功能推测,T 应该是一个具体的 Java Bean 类型,用于将 List<JSONObject> 中的数据转换为 List<T>。以下为你详细介绍如何传递泛型 T 以及如何实现该方法。 import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; im…...
下【STL 之速通pair vector list stack queue set map 】
上一篇 【STL 之速通pair vector list stack queue set map 】 queue note priority_queue pq; 使用的还是很方便的 #include <iostream> #include <queue>using namespace std;int main() {// Queue 示例queue<int> q;q.push(10);q.push(20);q.push(30);…...
安装大数据分析利器Spark
大数据分析利器Spark:部署模式与实践全解析 在大数据领域,Spark是一个热门的开源框架,今天就带大家深入了解Spark及其常见部署模式。Spark是基于内存的快速、通用、可扩展的大数据分析计算引擎,诞生于伯克利大学。与Hadoop相比&a…...
遨游科普:三防平板是指哪三防?有哪些应用场景?
在工业4.0与数字化转型的浪潮中,平板电脑早已突破消费娱乐的边界,成为工业生产流程中不可或缺的智能终端。但是,传统消费级平板在复杂工业环境中的“脆弱性”——屏幕易碎、接口易进尘、机身惧水等问题——严重制约了其在专业领域的深度应用。…...
9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明
9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明 文章目录 9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明1. RabbitMQ 消息队列的 “ 幂等性 ” 的问题1.1 RabbitMQ 消息队列的“幂等性”的概念 2. Rabbi…...
k8s创建一个pod,查看状态和详细信息,进入pod,以及删除这个pod
在 Kubernetes(K8s)中,可以使用 kubectl 命令行工具来完成创建 Pod、查看状态和详细信息、进入 Pod 以及删除 Pod 的操作。以下是具体步骤: 创建一个 Pod: 假设你有一个简单的 nginx Pod 的 YAML 配置文件 nginx…...
从盲目清运到精准调度:一个AI芯片引发的智慧环卫升级
在深圳某科技园区的清晨,环卫工人老张发现一个奇怪现象:往常需要逐个检查的50个智能垃圾桶,今天系统自动标注了7个待清运点位。这背后是搭载全志T113-i处理器的智能垃圾桶系统在发挥作用,通过AI视觉识别将垃圾满溢检测准确率提升至…...
MQTT协议:IoT通信的轻量级选手
文章总结(帮你们节约时间) MQTT协议是一种轻量级的发布/订阅通信协议。MQTT通信包括连接建立、订阅、发布和断开等过程。MQTT基于TCP/IP,其通信过程涉及多种控制包和数据包。ESP32S3可以通过MQTT协议接收消息来控制IO9引脚上的LED。 想象一…...
Docker 入门指南:基础知识解析
1. 引言 1.1 为什么学习 Docker 1.1.1 Docker 的优势 环境一致:在不同环境中(开发、测试、生产)保持一致的运行环境。快速部署:容器启动速度快,适合微服务架构。资源隔离:容器之间相互隔离,避…...
【安当产品应用案例100集】043-安当物联网数据安全传输方案
一、需求背景 物联网(IoT)技术在当前世界各行业中的应用越来越广泛,数据安全和安全数据传输、鉴权成为了物联网解决方案不可或缺的一部分。如何通过有效的安全措施来保护物联网设备的数据传输和鉴权,确保数据在设备和服务器之间或…...
C#/.NET/.NET Core技术前沿周刊 | 第 33 期(2025年4.1-4.6)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐…...
Django视图详解
前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 一、Django视图是什么? 视图(View) 是Django处理HTTP请求的核心组件。它接收一个HttpRequest对象,处理业务逻辑,并返回一个HttpResponse对象(…...
【区块链+ 人才服务】北京师范大学区块链底层链平台 | FISCO BCOS 应用案例
北京师范大学是教育部直属重点大学,2018 年 6 月,北京师范大学成立知识区块链研究中心,致力于区块链基础技术及其在教育领域的应用研究。 2020 年6 月18 日, 北京市人民政府办公厅发布《北京市区块链创新发展行 动计划(2020—202…...
java设计模式-模板方法模式
模板方法模式 编写制作豆浆的程序,说明如下 1)制作豆浆的流程选材添加配料浸泡放到豆浆机打碎 2)通过添加不同的配料,可以制作出不同口味的豆浆 3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 4)请使用模板方法模式完成 说明…...
同步通信、异步通信、并行传输和串行传输
同步通信、异步通信、并行传输和串行传输是通信与数据传输领域的关键概念,它们既相互关联又有本质区别。以下是详细解释和对比: 1. 核心概念分类 通信方式:描述数据传输的时序和协调规则。 同步通信(Synchronous Communi…...
JVM生产环境调优实战
案例三:JVM频繁Full GC优化 1. 项目背景(Situation) 在云中万维跨境支付的反洗钱系统中,我们负责对海量交易数据进行实时规则校验,以确保符合监管要求。系统日均处理交易量超过500万笔,峰值QPS达到3000&a…...
Python: sqlite3.OperationalError: no such table: ***解析
出现该错误说明数据库中没有成功创建 reviews 表。以下是完整的解决方案: 步骤 1:创建数据库表 在插入数据前,必须先执行建表语句。请通过以下任一方式创建表: 方式一:使用 SQLite 命令行 bash 复制 # 进入 SQLit…...
JVM考古现场(十七):鸿蒙初辟——从太极二进到混沌原初的编译天道
"此刻正是奇点编译的第3.1415926秒!伏羲的算筹正在撕裂冯诺依曼架构的次元壁!诸君请看——这JVM堆内存中正在孕育盘古的元神!" 目录(终极扩展) 第一章:太极二进——内存模型的阴阳交缠 第二章&a…...
Python 字典和集合(字典推导)
本章内容的大纲如下: 常见的字典方法 如何处理查找不到的键 标准库中 dict 类型的变种set 和 frozenset 类型 散列表的工作原理 散列表带来的潜在影响(什么样的数据类型可作为键、不可预知的 顺序,等等) 字典推导 自 Python 2.7 …...
【AI】prompt engineering
prompt engineering ## prompt engineering ## prompt engineering ## prompt engineering 一、定义 Prompt 工程(Prompt Engineering)是指在使用语言模型(如 ChatGPT、文心一言等)等人工智能工具时,设计和优化输入提…...
小刚说C语言刷题——第18讲 循环之while和do-while语句
昨天我们讲了循环语句中的for语句,它主要用于循环次数已知的情况,但是对应循环次数未知的情况,我们又怎么办?这就要用到while和do-while语句了。 1.while语句 (1)语法格式 while(条件表达式) { 循环体; } (2)执行过程 当执…...
[Mysql]buffersize修改
1、找到my.cnf文件位置 ps -ef|grep mysqld 2、编辑my.cnf cd /etc/my.cnf.d vim my.cnf 一般修改为内存的50%~70% 3、重启服务 systemctl restart mysqld...
自定义数据结构的QVariant序列化 ASSERT failure in QVariant::save: “invalid type to save“
自定义数据结构放入QVariant,在序列化时抛出异常 ASSERT failure in QVariant::save: “invalid type to save” 自定义数据结构如struct MyData,除了要在结构体后面加 struct MyData { ... } Q_DECLARE_METATYPE(MyData)如果需要用到流的输入输出&…...
带约束的智能优化算法
带约束的智能优化算法 约束条件和优化问题(可改)粒子群算法麻雀搜索算法鲸鱼优化算法灰狼优化算法免疫优化算法人工蜂群算法沙猫群算法萤火虫算法资源 约束条件和优化问题(可改) 粒子群算法 麻雀搜索算法 鲸鱼优化算法 灰狼优化算法 免疫优化算法 人工蜂群算法 沙猫群算法 萤火…...
【硬核实战】从零打造智能五子棋AI:JavaScript实现与算法深度解析
🌟【硬核实战】从零打造智能五子棋AI:JavaScript实现与算法深度解析🌟 📜 前言:当传统棋艺遇上人工智能 五子棋作为中国传统棋类游戏,规则简单却变化无穷。本文将带你用纯前端技术实现一个具备AI对战功能…...
使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南
使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南 本文档详细介绍如何使用 kind 创建 Kubernetes 集群,并在其上使用 Helm 部署 StarRocks 集群(非高可用模式)。同时也包括如何访问 StarRocks 集群并导入数据。 目录 前提条件参考文档…...
华为OD全流程解析+备考攻略+经验分享
华为OD全流程解析,备考攻略 快捷目录 华为OD全流程解析,备考攻略一、什么是华为OD?二、什么是华为OD机试?三、华为OD面试流程四、华为OD薪资待遇及职级体系五、ABCDE卷类型及特点六、题型与考点七、机试备考策略八、薪资与转正九、…...
数据库中的数组: MySQL与StarRocks的数组操作解析
在现代数据处理中, 数组 (Array) 作为一种高效存储和操作结构化数据的方式, 被广泛应用于日志分析, 用户行为统计, 标签系统等场景. 然而, 不同数据库对数组的支持差异显著. 本文将以MySQL和StarRocks为例, 深入解析它们的数组操作能力, 并对比其适用场景. 文章目录 一 为什么需…...
Qt 交叉编译详细配置指南
一、Qt 交叉编译详细配置 1. 准备工作 1.1 安装交叉编译工具链 # 例如安装ARM工具链(Ubuntu/Debian) sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf# 或者64位ARM sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu 1.2 准备目标…...