自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gkxg001的博客

孤云出岫,去留一无所系,朗镜悬空,静躁两不相干。能干扰到我们的,只有我们自己。

  • 博客(94)
  • 资源 (12)
  • 收藏
  • 关注

原创 ramdisk内存虚拟盘(一)——前世今生

摘要:1990年代,为解决内核体积爆炸和驱动加载的"鸡与蛋"问题,Linux引入了ramdisk技术作为启动阶段的"驱动跳板"。从1995年的rd.c到1999年的initrd,再到2004年的initramfs,该技术逐步优化:从固定大小的块设备演变为基于内存文件系统的动态方案。2007年后,tmpfs在日常使用中取代了传统ramdisk,而brd模块仍保留用于特定场景。这段发展历程表明:内存作为临时存储介质,在速度、安全性和资源管理上需要权衡取舍,最终initra

2025-08-15 19:32:29 331

原创 vim+cscope+ctags代码阅读工具使用说明

摘要:本文介绍了在远程服务器上使用Vim+cscope+ctags高效阅读Linux内核源码的配置方法。首先需要安装vim、cscope和universal-ctags工具,并生成内核源码索引文件。详细讲解了.vimrc配置,包括代码导航快捷键(F5-F8)、窗口管理和代码折叠等设置。文章对比了cscope和ctags的功能差异,cscope擅长函数调用关系查找,而ctags更适合快速跳转定义。还提供了进阶优化建议,如使用cscope增量更新、安装cscope_maps.vim插件以及结合LSP实现智能跳转

2025-07-14 19:41:55 957

原创 openharmony5.0.0 sensor子系统详解(一)

OpenHarmony传感器子系统提供统一框架访问各类传感器数据,采用分层架构设计: 驱动框架层(HDF Core) - 提供传感器通用模型和基础驱动框架 传感器驱动层 - 实现具体传感器硬件操作(如加速度计、陀螺仪等) HDI接口层 - 定义标准化硬件抽象接口 传感器服务层 - 管理系统服务、数据处理和分发 传感器框架层 - 为应用提供统一API接口 系统支持JS和Native开发,具备权限控制、高效IPC和电源管理功能,实现从硬件到应用的完整数据流处理。

2025-06-25 10:57:05 1211

原创 openharmony5.0.0编译及VMware安装与Ubuntu系统配置说明

本文详细介绍了VMware Workstation Pro 15的下载、安装及Ubuntu系统在虚拟机中的部署过程。内容包括:从官网获取VMware软件及许可证密钥的步骤;通过安装向导完成VMware的基本配置;创建虚拟机时处理器、内存及磁盘空间的参数设置;Ubuntu 20.04镜像的获取方法;以及系统安装过程中的语言选择、分区配置等关键操作指引。该教程为后续OpenHarmony系统的编译环境搭建提供了基础平台支持,适合开发者在本地快速构建Linux开发环境。

2025-06-11 22:09:40 1661

原创 Linux5.10内核stmmac驱动框架深度解析

本文基于OpenHarmony 5.0.0系统,分析RK3568开发板的Linux 5.10内核网络驱动框架。通过硬件原理图与设备树对照,梳理了以太网驱动(stmmac)的实现脉络。硬件上由CPU、MAC控制器和PHY芯片组成,采用RGMII接口通信。设备树详细定义了gmac0节点(地址0xfe2a0000)的寄存器、中断、时钟等配置,并包含MDIO总线对PHY寄存器的管理。分析涉及引脚复用配置、AXI总线参数以及接收/发送队列设置,为后续网络服务(netmanager)研究奠定基础。

2025-06-11 16:27:27 2411

原创 RK3568 GMAC手册内容(中文)

摘要:本文详细解析了Rockchip RK3568芯片中的千兆媒体访问控制器(GMAC)技术文档,主要包括以下内容:1. GMAC概述:支持RGMII和RMII接口,符合IEEE 802.3标准,具备DMA控制器和多种网络协议支持;2. 功能特性:涵盖MAC发送/接收特性、MTL事务层功能及DMA模块特性,包括流量控制、时间戳支持等;3. 接口说明:详细描述了RMII和RGMII接口的时序特性;4. 寄存器描述:列出了数十个关键控制寄存器的功能定义;5. 编程指南:提供了完整的初始化流程和操作规范

2025-06-05 15:33:45 1642 1

原创 openharmony5.0.0中kernel子系统编译构建流程概览(rk3568)

在梳理openharmony对linux内核做了哪些更改时,简单梳理了下kernel部分的编译构建流程,并根据源码做了简单论证。分享出来,希望对大家有所帮助。系统版本开发板:dayu200编译环境:ubuntu22。

2025-06-03 17:37:43 1483

原创 RK3568DAYU开发板-平台驱动开发--UART

本文介绍了基于OpenHarmony 5.0.0开发的UART驱动案例,适用于dayu200开发板。内容包含UART基础知识、驱动开发和应用开发三部分。首先阐述了UART异步串行通信原理,包括2线和4线连接方式;其次详细说明了UART驱动开发的核心接口和实现步骤,重点分析了UartHostMethod结构体成员函数的功能;最后介绍了UART应用开发的主要API接口及其功能。该案例为开发者在OpenHarmony平台上实现UART设备驱动和串行通信应用提供了完整参考。

2025-05-29 19:58:25 1149

原创 RK3568DAYU开发板-平台驱动开发:I2C驱动(原理、源码、案例分析)

本文介绍了基于OpenHarmony 5.0.0系统的I2C驱动开发案例,重点阐述了I2C总线原理和驱动开发流程。文章首先概述了I2C总线的特点和工作机制,包括其主从模式、数据传输方式等。接着详细说明了I2C驱动的分层架构(接口层、核心层、适配层)和关键开发接口,包括I2cMethod和I2cLockMethod的实现要求。最后提供了I2C应用开发的主要API接口说明,包含控制器打开/关闭和数据传输等核心操作。该案例为在OpenHarmony系统上开发I2C驱动提供了完整的技术参考。

2025-05-28 16:05:29 1280

原创 i2c-tools使用的介绍及示例(i2cdetect,i2cdump, i2cget、i2cset、i2ctransfer)

本文介绍了Linux下常用的I2C调试工具集i2c-tools的使用方法,包括i2cdetect、i2cdump、i2cget、i2cset和i2ctransfer五个工具。这些工具可用于查询I2C总线上的设备、读取/设置寄存器值等操作。文章详细说明了每个工具的基本语法和常用参数,并给出了具体示例,如扫描总线设备(i2cdetect)、查看寄存器值(i2cdump)、读写寄存器(i2cget/i2cset)以及多字节传输(i2ctransfer)等实际应用场景。这些工具是Linux驱动开发中与I2C设备交互

2025-05-28 16:04:17 804

原创 RK3568DAYU开发板-驱动平台驱动案例--PWM

OpenHarmony PWM驱动开发与应用指南本文介绍了OpenHarmony系统下的PWM驱动开发与应用。PWM(脉冲宽度调制)技术广泛应用于马达控制、背光调节等领域。系统采用独立服务模式,每个设备独立发布服务。开发过程包含四个步骤:驱动入口实例化、属性文件配置、控制器对象实例化和调试。应用层通过PwmOpen、PwmSetConfig等接口操作PWM设备,支持设置周期、占空比、极性等参数。文章详细说明了核心层钩子函数、PWM接口功能及使用方法,为OpenHarmony平台PWM功能开发提供了完整指导

2025-05-27 17:44:44 1213

原创 RK3568DAYU开发板-平台驱动开发:ADC驱动

本文介绍了基于OpenHarmony5.0.0的ADC平台驱动开发,主要包括:ADC驱动基础知识:介绍了ADC功能及OpenHarmony中采用统一服务模式的分层架构设计;驱动开发要点:详细说明了ADC核心层钩子函数功能、开发步骤和API接口;程序实现:包括代码目录结构、配置文件说明及应用程序的一般调用流程;开发环境:基于dayu200开发板,Ubuntu22编译环境实现ADC设备管理功能。该驱动采用统一服务模式,通过核心层集中管理多个控制器,提高了资源利用效率。

2025-05-27 14:33:30 1398

原创 RK3568DAYU开发板-平台驱动开发:GPIO驱动

本文介绍了基于OpenHarmony5.0.0标准系统的GPIO驱动开发。主要内容包括:1)GPIO基础概念及其分层架构(接口层、核心层、适配层);2)GPIO驱动框架的核心钩子函数定义及功能说明;3)应用程序常用API接口;4)开发案例的代码目录结构和关键配置文件。文章详细解析了GPIO模块的工作原理,并提供了标准化的开发流程指导,适用于在OpenHarmony平台下进行GPIO外设驱动的开发部署。

2025-05-26 18:23:05 1124 5

原创 记录一下学习鸿蒙操作系统的艰辛历程(安利一本书)

作为一名野路子开发人员,我在研究OpenHarmony时遇到了不少困难,主要因为对整体框架缺乏清晰理解,且相关资料不够系统。尽管华为提供了源码和简单说明,但探索过程依然艰难。直到我重新审视了《鸿蒙操作系统设计原理与架构》这本书,才发现它由华为设计团队参与编写,详细阐述了鸿蒙操作系统的架构设计和核心原理。这本书为我提供了宏观视角,帮助我更好地理解OpenHarmony,减少了探索中的弯路,思路也更加清晰。

2025-05-22 10:58:49 739 14

原创 rtty操作记录说明

整理资料发现了几年前做的操作记录,分享出来,希望对大家有用。rtty-master:rtty客户端程序,其中buffer\log\ssl为源码的子目录,从git上下载https://github.com/zhaojh329,rttys-master:为rtty的服务端程序,是go编写的。rttys编译的时候出问题了,对go不熟悉,应该是少控件,就没再继续编译,github。

2025-05-13 21:23:28 651

原创 linux调试内核工具实证记录—sysrq-trigger

/proc/sysrq-trigger 是 Linux 内核提供的一个强大的调试工具,允许用户通过写入特定命令来触发系统请求(SysRq)功能,类似于 Windows 系统中的 Ctrl+Alt+Delete。本文以 Ubuntu 18.04.6 LTS 系统为例,介绍了该工具的基本功能和使用方法。首先,用户需确保 SysRq 功能已启用,可通过 cat /proc/sys/kernel/sysrq 查看状态,并通过 echo 1 | sudo tee /proc/sys/kernel/sysrq 启用。

2025-05-13 15:57:53 1179

原创 openharmony5.0.0中C++公共基础类测试-线程相关(一)

文件、路径、字符串相关操作的能力增强接口读写锁、信号量、定时器、线程增强及线程池等接口安全数据容器、数据序列化等接口各子系统的错误码相关定义包含强化线程能力、线程池、线程安全Map、线程安全栈与队列、线程安全阻塞队列强化线程能力:提供例如启动线程、同步通知、异步通知等功能的接口线程池:提供线程安全的线程池功能。线程安全是对于线程池本身而非池内线程而言的。维护一个任务队列,一个线程组。使用者向任务队列中注册需要进行的任务,线程组执行任务队列中的任务。线程安全Map。

2025-04-23 16:20:16 1313

原创 std::lock_guard的介绍(包含使用示例)

是 C++11 标准库中提供的一个模板类,用于简化互斥锁的管理,它利用了 RAII(资源获取即初始化)技术,确保在作用域结束时自动释放锁。

2025-04-23 10:39:26 1053

原创 std::condition_variable的使用说明(详细解释和使用示例)

是 C++ 标准库中用于线程间通信的同步原语。它允许一个或多个线程等待某个条件为真。通常与std::mutex一起使用,wait和wait_for。

2025-04-15 18:13:41 673

原创 编程助手fitten code使用说明(超详细)(vscode)

这两年 AI 发展迅猛,作为开发人员,我们总是追求更快、更高效的工作方式,AI 的出现可以说改变了很多人的编程方式。AI 对我们来说就是一个可靠的编程助手,给我们提供了实时的建议和解决方,无论是快速修复错误、提升代码质量,或者查找关键文档和资源,AI 作为编程助手都能让你事半功倍。

2025-04-08 14:10:26 5151

原创 在openharmony中编译部署早期vi工具(附带vi工具源码)

为了验证下openharmony中对文件的操作和原始的linux有没有什么区别,发现默认的镜像中没有编译文件的工具(例如vi、Nano等),所以从[网上找了个比较早期的vi工具的源码,进行部署验证。

2025-04-02 16:19:46 1013 1

原创 在openharmony中部署helloworld应用(超详细)(命令行)

基于OpenHarmony标准系统编写的基础程序类:HelloWorld

2025-04-02 10:49:04 536 1

原创 openharmony5.0.0中通过ps命令查看到的进程信息的说明(包含进程列表)

如下命令查看进程信息,为了简化说明此处只留下了一个最具有代表性的进程进行说明

2025-03-31 17:08:12 611

原创 linux中调整进程优先级参数(nice值)的介绍和使用说明

在 Linux 系统中,**nice值**是一个用于调整进程优先级的参数。它允许用户或系统管理员控制进程占用 CPU 时间的比例。nice值的范围是从 `-20` 到 `19`,默认值是 `0`。以下是 nice 值的具体含义和作用

2025-03-31 17:03:45 804

原创 通过一个led点灯的demo来熟悉openharmony驱动编写的过程(附带hdf详细调用过程)

本应用程序(led_rgb)是在上实现直接**通过消息机制与内核驱动进行交互,设置RGB三色灯的亮灯行为**。我从网上随便找了个demo测试了一下,坑了三天......,整个状态如下图,同时也迫使我深度梳理了一下整个流程框架。直到绝望的时候,翻书找思路的时候**找到了答案**。。。最绝的是想分享的时候从码云上找了下原作者的demo,发现**人家有相关问题的说明**。实际经验分享完毕,下面开始说细节

2025-03-26 14:59:36 1041

原创 openharmony中hilog实证记录说明(3.1和5.0版本)

每次用这个工具hilog都有一些小用法记不清,需要花一些时间去查去分析使用方法,为了给丰富多彩的生活留出更多的时间,所以汇总整理共享来了。它来了它来了~~~~~~~~~开始是想通过3.1来汇总的,但实际测试发现openharmony3.1和openharmony5.0的区别还是比较大的,所以中间又采用的5.0的版本,又使用3.1版本的可以查看附件的简单说明。

2025-03-20 17:04:52 1170

原创 openharmony5.0中HDF驱动框架源码梳理-服务管理接口

要想大概了解一个公司,我们可能只需要知道它的运行逻辑即可,例如我们只需要知道它有财务有研发有运营等,财务报销、研发负责产品等即可,但是如果想深入具体的了解的话我们就要了解都有什么部门(对象)、各部门都包含哪些职责(对象方法)以及各部门都包含哪些关键人员(子对象)以及他们的职责(子对象方法),根据这个逻辑我大概整理了openharmony 5.0的HDF框架中包含的关键对象以及对应的方法,便于更深的理解HDF的实现。

2025-03-14 10:03:43 914

原创 openharmony5.0中HDF驱动框架源码梳理-驱动加载流程

要想大概了解一个公司,我们可能只需要知道它的运行逻辑即可,例如我们只需要知道它有财务有研发有运营等,财务报销、研发负责产品等即可,但是如果想深入具体的了解的话我们就要了解都有什么部门(对象)、各部门都包含哪些职责(对象方法)以及各部门都包含哪些关键人员(子对象)以及他们的职责(子对象方法),根据这个逻辑我大概整理了HDF框架中包含的关键对象以及对应的方法,便于更深的理解HDF的实现

2025-03-11 11:03:32 1078

原创 OpenHarmony5.0分布式系统源码实现分析—软总线

本文将深入分析 OpenHarmony 5.0 中分布式软总线的实现原理,包括其架构设计、核心功能、实现机制以及实际应用。(**只包含了软总线的一些核心内容,对于整体的框架还在整理中,例如分布式数据如何管理的、分布式的任务调度等等好多东西还没理清楚**)

2025-03-10 16:43:30 2757

原创 OpenHarmony 软总线中组网模块(bus_center)和发现模块(discovery)傻傻分不清楚

OpenHarmony 中,组网模块(bus_center)和发现模块(discovery)傻傻分不清楚

2025-03-07 17:07:12 647

原创 openharmony5.0中hdc工具的主要功能(mark一个坑了半天的小注意事项)

好久之前在测试openharmony的开发板时使用过hdc工具,印象中是比较顺利,所以也没有做相关的记录,但今天想传个文件,由于系统中没有自带ssh等网络协议,所以就想用hdc直接传一下,但死活没通过,半天后尝试换了下终端

2025-03-05 15:08:40 1037

原创 openharmony5.0中hdf框架中实现驱动程序的动态加载和管理的技术细节分析

在分析openharmony的hdf框架的设备驱动加载器(IDriverLoader)时发现在创建实例时会首先判断一下是否完成了驱动入口的构建(HdfDriverEntryConstruct),如果没有构建会重新构建,这与我开始以为的不一致(我一直以为是采用的linux内核方式,只是由hdf来将驱动注册进去),oh将这部分由hdf框架接管了。下面我便将这部分实现驱动程序的动态加载和管理的技术细节进行分析

2025-02-24 16:57:32 1416

原创 openharmony5.0的hdf框架中如何实现host、device的动态管理

在阅读openharmony的hdf框架中发现在DeviceTokenClnt、HdfHostInfo、HdfDeviceInfo等结构体中以node成员变量(struct HdfSListNode node)为开头,开始不明白具体含义,后经梳理业务明白它是用来实现动态管理信息(在系统启动或运行时对进行添加、删除和遍历操作),具体实现的技术细节不复杂,和linux内核的contaner_of函数类似,但是在hdf中出现的频次实在是有点高了,所以想着还是单独拎出来举个例子增强一下理解。

2025-02-21 15:12:25 533

原创 openharmony中HDF驱动框架源码梳理-驱动消息机制

HDF框架提供统一的驱动消息机制,支持用户态应用向内核态驱动发送消息,也支持内核态驱动向用户态应用发送消息,用于当用户态应用和内核态驱动需要交互的场景。

2025-02-20 16:39:44 1545 3

原创 Linux 内核中用于唤醒处于可中断等待状态的进程的函数wake_up_interruptible(一个小示例demo)

在分析openharmony的hdf框架时看到了linux内核态的进程唤醒函数(wake_up_interruptible),在网上搜了一下大家更多的关注了它的原理,而我只想让大家瞬间理解它的用途,所以写了一个小demo作为示例,不一定能实际用哈,只是让大家理解这个函数的用法

2025-02-20 14:28:02 678

原创 linux系统中调度策略(SCHED_BATCH、SCHED_DEADLINE、SCHED_IDLE、SCHED_FIFO、SCHED_RR、SCHED_OTHER)的介绍

在 Linux 系统中,除了常见的 `SCHED_FIFO`、`SCHED_RR` 和 `SCHED_OTHER` 调度策略外,还有 `SCHED_BATCH`、`SCHED_DEADLINE` 和 `SCHED_IDLE` 等调度策略,它们各自适用于不同的场景。以下是对这些调度策略的介绍以及如何更改它们的方法

2025-02-20 10:35:18 1279

原创 openharmony中HDF驱动框架关键流程说明-观察者模式

在分析openharmony 5.0的HDF驱动框架时我们会发现用了很多面向对象的思想,例如类继承、接口、单例类等,本来应该是好事情,但使用时对象之间的关系交错复杂,不太符合linux内核分层分模块的思路,导致整体理解起来比较困难,再加上"C/S设计模式”和“观察者设计模式"更导致系统理解起来比较麻烦,本文便针对观察者模式这个问题做梳理

2025-02-18 09:40:34 1176

原创 观察者模式说明(C语言版本)

观察者模式主要是为了实现一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面使用C语言实现了一个具体的应用示例

2025-02-17 16:26:29 902

原创 openharmony中hdf框架的设备节点(HdfDeviceNode)和设备实例(HdfDevice)的区别

设备节点(HdfDeviceNode)和 设备实例(HdfDevice)是两个重要的概念,而且非常容易混淆,它们在设备管理和驱动加载过程中扮演不同的角色。以下是它们的区别和联系

2025-02-17 14:09:20 1132 2

原创 对openharmony HDF驱动框架的C/S设计模式和单例类的说明

在分析openharmony的HDF驱动框架时我们会发现用了很多面向对象的思想,例如类继承、接口、单例类等,本来应该是好事情,但使用时对象之间的关系交错复杂,不太符合linux内核分层分模块的思路,导致整体理解起来比较困难,再加上"C/S设计模式”和“观察者设计模式"更导致系统理解起来比较麻烦,本文便针对C/S设计模式和单例类这个问题做梳理。

2025-02-14 16:00:15 1163

socket测试工具,实现了tcp、udp的客户端和服务端的功能,并可通过shell终端重复发送接收消息或文件

此版本为适配openharmony5.0.0系统的版本,在此版本https://gitee.com/tccxy/socket-tool/tree/master上进行的变更

2025-04-09

vi的简易版本的源代码可以在GitHub上找到,一个较为简单的版本是vi-1.18,这个版本的vi相对简单,适合学习和研究

vi的简易版本的源代码可以在GitHub上找到,一个较为简单的版本是vi-1.18,这个版本的vi相对简单,适合学习和研究。

2025-04-02

gn源码工程中快速入门的demo

gn快速入门demo,此demo基于gn源码工程中的simple_build,根据快速入门手册,做了简单的调整。

2024-12-03

FAT中文(磁盘上的几个分区的简单介绍)

word版本,磁盘上的数据按照其不同的特点和作用大致可分为 5 部分:MBR 区、DBR 区、FAT 区、DIR 区和 DATA 区。我们来分别介绍一下

2018-10-09

linux指令大全

linux指令大全 初学者的参考资料 linux的基本操作方法

2015-09-10

机器人标准

机器人标准,可做开发的参考标准

2017-05-06

RTL8211F-CG手册中英文,中文为简单翻译,仅供参考

瑞昱的RTL8211F-CG/RTL8211FD-CG/RTL8211FI-CG/RTL8211FDI-CG是高度集成的网络收发器,遵从10Base-T, 100Base-TX, and 1000Base-T IEEE 802.3 标准。提供了网络物理层的基本收发功能,适用于超5类网线,其中RTL8211FI 和 RTL8211FDI是工业级的。 RTL8211F (I)/RTL8211FD (I)使用最先进的DSP技术和模拟前端(AFE),以通过UTP电缆实现高速数据传输和接收。在RTL8211F (I)/RTL8211FD (I)中实现了交叉检测和自动校正、极性校正、自适应均衡、串扰消除、回波消除、定时恢复和错误校正等功能,以提供10Mbps、100Mbps或1000Mbps的鲁棒传输和接收功能.

2024-07-09

跟我一起写makefile

make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。此文档为makefile的PDF文件,有想了解内容的可以看下我的博客,有写。但有些人不喜欢在线观看,所以我就传上来了。

2019-03-15

vb.net入门学习资料

基础入门,个人认为还是不错的,希望有兴趣并且是刚开始接触vb.NET的朋友可以看看。。。希望对您有所帮助

2015-10-07

NXP LPC111系列BootLoader在线编程参考资料

LPC111系列芯片,通过IPA实现在线烧录,可以看我的博客中IAP在线烧录实现记录(蓝牙->CAN->LPC1114)此为参考资料包含demo程序、芯片手册及注意事项

2018-07-25

《PMBOK指南》第六版的第一部分的质量管理

《PMBOK指南》第六版的第一部分的成本管理,用MindManger写的,无需源码的可以去看我得博客。

2018-06-10

《PMBOK指南》第六版的第一部分的项目进度管理

《PMBOK指南》第六版的第一部分的项目进度管理,用MindManger写的,无需源码的可以去看我得博客。

2018-05-26

《PMBOK指南》第六版的第一部分的成本管理

《PMBOK指南》第六版的第一部分的成本管理,用MindManger写的,无需源码的可以去看我得博客。

2018-05-29

visual c++

Visual C++从入门到精通,不错的ppt,有同事跟我说过时了,但是我感觉作为入门已经够了。

2015-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除