嵌入式操作系统介绍

20、嵌入式操作系统与开发框架介绍 本文介绍了多种嵌入式操作系统和裸机开发框架,包括FreeRTOS和Zephyr等RTOS的特点、组件结构及开发工具,同时探讨了Arduino和Drogue IoT在简单任务和物联网应用中的使用。文章还对不同系统的治理情况、功能特点、开发工具和适用场景进行了对比分析,帮助开发者根据项目需求选择合适的开发方案。 阅读详情

1.嵌入式操作系统概述

1.1概述

根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统是与应用紧密结合的,具有很强专用性,必须结合实际系统需求进行合理的裁减利用。国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

事实上,在很早以前,嵌入式这个概念就已经存在了。在通信方面,嵌入式系统在20世纪60年代就用于对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control)。嵌入式计算机的真正发展是在微处理器问世之后。1971年11月,Intel公司成功地把算术运算器和控制器电路集成在一起,推出了第一款微处理器Intel 4004,其后各厂家陆续推出了许多8位、16位的微处理器,包括Intel 8080/8085、8086,Motorola 的6800、68000,以及Zilog的Z80、Z8000等。以这些微处理器作为核心所构成的系统,广泛地应用于仪器仪表、医疗设备、机器人、家用电器等领域。微处理器的广泛应用形成了一个广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合的CPU板、存储器板以及各式I/O插件板,从而构成专用的嵌入式计算机系统,并将其嵌入到自己的系统设备中。为灵活兼容考虑,出现了系列化、模块化的单板机。流行的单板计算机有Intel公司的iSBC系列、Zilog公司的MCB等。后来人们可以不必从选择芯片开始来设计一台专用的嵌入式计算机,而是只要选择各功能模块,就能够组建一台专用计算机系统。用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,这样就希望插件是互相兼容的,也就导致了工业控制微机系统总线的诞生。1976年Intel公司推出Multibus,1983年扩展为带宽达40MB/s的MultibusⅡ。1978年由Prolog设计的简单STD总线广泛应用于小型嵌入式系统。20世纪80年代可以说是各种总线层出不穷、群雄并起的时代。随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O接口、A/D、D/A转换、串行接口以及RAM、ROM等部件统统集成到一个VLSI中,从而制造出面向I/O设计的微控制器,也就是我们俗称的单片机,成为嵌入式计算机系统异军突起的一支新秀。其后发展的DSP产品则进一步提升了嵌入式计算机系统的技术水平,并迅速地渗入到消费电子、医用电子、智能控制、通信电子、仪器仪表、交通运输等各种领域。20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。Texas推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,掌上电脑、手持PC机、机顶盒技术相对成熟,发展也较为迅速。特别是掌上电脑,1997年在美国市场上掌上电脑不过四五个品牌,而1998年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。此外,Nokia推出了智能电话,西门子推出了机顶盒,Wyse推出了智能终端,NS推出了WebPAD。装载在汽车上的小型电脑,不但可以控制汽车内的各种设备(如音响等),还可以与GPS连接,从而自动操控汽车。21世纪无疑是一个网络的时代,使嵌入式计算机系统应用到各类网络中去也必然是嵌入式系统发展的重要方向。

1.2 特点  

1)系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的OSE分布式系统,内核只有5K。   
2)专用性强。嵌入式系统的个性化很强,其中的软件
4种嵌入式操作系统的调度机制
系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。   
3)系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。   
4)高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。  

5)嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

6)嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

1.3 核心

嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4个特点:  

1)对实时任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。   
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。

3)可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。   

4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。

2.业界流行的嵌入式操作系统

2.1pSOS

pSOS是美国系统集成公司(Integrated Systems, Inc. 简称ISI公司)根据几十年从事嵌入式实时系统理论研究与实践活动而设计开发的。该产品推出时间比较早,因此比较成熟,可以支持多种处理器,曾是国际上应用最广泛的产品,主要应用领域是远程通信,航天,信息家电和工业控制。但该公司已经被风河公司(windriver)兼并,从VxWorks5.5开始,已将PSOS的主要特点融入VxWorks中。pSOS是一个由标准软组件组成的,可剪裁的实时操作系统。它分为内核层、系统服务层、用户层。

2.1.1. 内核层
pSOS内核负责任务的管理与调度、任务间通信、内存管理、实时时钟管理、中断服务;可以动态生成或删除任务、内存区、消息队列、信号灯等系统对象;实现了基于优先级的、选择可抢占的任务调度算法,并提供了可选的时间片轮转调度。pSOS Kernel还提供了任务建间通信机制及同步、互斥手段,如消息、信号灯、事件、异步信号等。
pSOS操作系统在Kernel层中将与具体硬件有关的操作放在一个模块中,对系统服务层以上屏蔽了具体的硬件特性,从而使得pSOS很方便地从支持Intel 80x86系列转到支持MC68XXX系列,并且在系统服务层上对不同应用系统不同用户提供标准的软组件如PNA+、PHILE+等。
2.1.2. 系统服务层
pSOS系统服务层包括PNA+、PRPC+、PHILE+等组件。PNA+实现了完整的基于流的TCP/IP协议集,并具有良好的实时性能,网络组件内中断屏蔽时间不大于内核模块中断屏蔽时间。PRPC+提供了远程调用库,支持用户建立一个分布式应用系统。PHILE+提供了文件系统管理和对块存储设备的管理。PREPC+提供了标准的C、C++库,支持用户使用C、C++语言

编写应用程序。由于pSOS内核屏蔽了具体的硬件特性,因此,pSOS系统服务层的软组件是标准的、与硬件无关的。这意味着pSOS各种版本,无论是对80X86系列还是MC68XXX系列,其系统服务层各组件是标准的、同一的,这减少了软件维护工作,增强了软件可移植性。每个软组件都包含一系列的系统调用。对用户而言,这些系统调用就象一个个可重入的C函数,然而它们却是用户进入pSOS内核的唯一手段。

pROBE+  

pROBE+是一个驻留在目标机(Target)上的调试器,它能够对目标机上运行的程序进行调试监控,并同宿主机(Host)进行通讯以提供宿主机上的源语言调试器所需信息。pROBE+本身不依赖于 pSOS+, 可使开发人员在开发BSP 时得到调试支持。pROBE+提供同时提供Target端Shell和Host端Shell的功能。

2.1.3. 用户层

用户指的是用户编写的应用程序,它们是以任务的形式出现的。任务通过发系统调用而进入pSOS内核,并为pSOS内核所管理和调度。pSOS为用户还提供了一个集成式的开发环境(IDE)。pSOS_IDE可驻留于UNIX或DOS环境下,它包括C和C++优化编译器、CPU和pSOS模拟仿真和DEBUG功能。pSOS内核机制

2.1.4.pSOS 基本概念
  • 任务
在实时操作系统中,任务是参与资源竞争(如CPU、Memory、I/O devices等)的基本单位。pSOS为每个任务构造了一个虚拟的、隔离的环境,从而在概念上,一个任务与另一个任务之间可以相互并行、独立地执行。任务与任务之间的切换、任务之间的通信都是通过发系统调用(在有些情况下是通过ISR)进入pSOS Kernel,由pSOS Kerne成的。
pSOS系统中任务包括系统任务和用户任务两类。关于用户任务的划分并没有一个固定的法则,但很明显,划分太多将导致任务间的切换过于频繁,系统开销太大,划分太少又会导致实时性和并行性下降,从而影响系统的效率。一般说来,功能模块A与功能模块B是分开为两个任务还是合为一个任务可以从是否具有时间相关性、优先性、逻辑特性和功能耦合等几个方面考虑。
  •  优先级
每个任务都有一个优先级。pSOS系统支持0~255级优先级,0级最低,255级最高。0级专为IDLE任务所有,240~255级为系统所用。在运行时,任务(包括系统任务)的优先级可以通过t_setpri系统调用改变。
  • 任务状态
pSOS下任务具有三种可能状态并处于这三个状态之一。只有通过任务本身或其他任务、ISR对pSOS内核所作的系统调用才能改变任务状态。从宏观角度看,一个多任务应用通过一系列到pSOS的系统调用迫使pSOS内核改变受影响任务而从运行一个任务到运行另一任务向前发展的。对于pSOS kernel,任务在创建前或被删除后是不存在的。被创建的任务在能够运行前必须被启动。一旦启动后,一个任务通常处于下面三个状态之一:
①Executing (Ready)就绪
②Running运行
③Blocked阻塞
就绪任务是未被阻塞可运行的,只等待高优先级任务释放CPU的任务。由于一个任务只能由正运行的任务通过调用来被启动,而且任何时刻只能有一个正在运行的任务,所以新任务总是从就绪态开始。运行态任务是正在使用CPU的就绪任务, 系统只能有一个running任务。一般running任务是所有就绪任务中优先级最高的,但也有例外。
任务是由自身特定活动而变为阻塞的,通常是系统调用引起调用任务进入等待状态的。所以任务不可能从ready态到blocked态,因为只有运行任务才能执行系统调用。
  • 任务控制块
任务控制块TCB是pSOS内核建立并维护的一个系统数据结构,它包含了pSOS Kernel调度与管理任务所需的一切信息,如任务名、优先级、剩余时间片数、当前寄存器状态等。在有的RTOS中,任务的状态与任务TCB所处的队列是等同的。pSOS操作系统将二者分为两个概念,例如任务处于阻塞状态,但它的TCB却处于消息等待队列、信号灯等待队列、内存等待队列、超时队列之一。
pSOS启动时,将根据Configuration Table中的参数kc_ntask建立一个包含kc_ntask个TCB块的TCB池,它表示最大并行任务数。在创建一个任务时,分配一个TCB给该任务,在撤销一个任务时,该TCB将被收回。
架构设计(11)常见的几个嵌入式操作系统介绍 嵌入式操作系统介绍涉及FreeRtos,VxWorks,QNX,RTEMS,Embedded Linux,μC/OS 阅读详情

相关推荐

DGUS和DWIN嵌入式操作系统的介绍及示例代码

它们提供了丰富的功能和易于使用的界面设计工具,使开发人员能够快速创建各种嵌入式设备的用户界面。它们提供了易于使用的界面设计工具和丰富的功能,使开发人员能够快速构建各种用户界面。DGUS和DWIN都支持触摸屏交互,并提供了一套可视化编辑工具,使开发人员能够直观地设计和布局界面。下面是一个示例代码,演示了如何使用DGUS和DWIN创建一个简单的计数器应用程序。在上面的示例代码中,我们首先定义了一个计数器对象的ID,并声明了一个用于存储计数器值的变量。函数中,我们初始化了DGUS操作系统,并启动了通信。

CyberBytezZ的博客 862

嵌入式操作系统(嵌入式学习)

FreeRTOS具有活跃的社区支持和丰富的资源,提供了大量的示例代码、文档和交流平台,使开发人员能够更容易地上手和使用。开源和活跃的社区支持:FreeRTOS是一个开源项目,拥有庞大的用户社区和活跃的开发者社区。嵌入式操作系统的主要目标是提供对硬件资源的有效管理和对应用程序的调度,以实现系统的可靠性、实时性和效率。操作系统提供中断处理机制,允许中断的优先级管理和处理程序的注册和调度,确保及时处理和响应来自外部的事件。重要的是,初学者应保持学习的兴趣和耐心,逐步深入理解嵌入式系统的工作原理和开发流程。

9669

嵌入式实时操作系统uC/OS-II

嵌入式操作系统uC/OS-II,美Jean J.Labrose著,邵贝贝等译,嵌入式操作系统

[嵌入式系统-14]:常见实时嵌入式操作系统比较:RT-Thread(物联网版本的类Linux)、uC/OS-II和FreeRTOS、Linux

实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统。嵌入式系统是一种特殊的计算机系统,通常是用于控制、监测或执行特定任务的系统。实时嵌入式操作系统与传统的桌面操作系统相比,更注重对实时任务的响应和精确控制。它们在资源利用、可靠性、可预测性、任务调度和中断处理等方面提供了更加严格的要求和机制。实时嵌入式操作系统能够迅速响应外部事件或任务请求,以满足实时任务的时间要求。

文火冰糖(王文兵)的博客 9857

通义万相Wan2.1模型Lora训练以及推理

使用DiffSynth-Studio进行通义万象Wan2.1的Lora训练和推理

qq_64858624的博客 4603

NoC架构深度解析:从拓扑结构到流量控制的全面指南

本文深入解析了片上网络(NoC)架构,从总线架构的瓶颈出发,阐述了NoC作为芯片内部“交通网”的核心优势。文章详细探讨了主流拓扑结构(如Mesh、Torus、Ring)的选型权衡,并系统介绍了数据包格式、路由算法、路由器流水线、流量控制机制以及网络接口(NI)设计,为理解现代多核SoC的通信基石提供了全面指南。

gg901的博客 1040

嵌入式系统学习(基于STM32F4)

嵌入式操作系统(Embedded Operating System,简称 EOS)是一种专为嵌入式设备设计的操作系统软件。它运行在各类嵌入式系统中,这类系统通常由专用硬件(如微控制器 MCU、数字信号处理器 DSP)和定制化软件组成,目标是实现特定功能(如控制、监测、通信等),而非通用计算(如 PC 或服务器)。

2302_80166978的博客 2431

Qt5.14.2+VS2017开发环境搭建全流程(含插件配置与项目测试)

本文详细介绍了Qt5.14.2与VS2017开发环境的完整搭建流程,包括软件安装、插件配置、环境变量设置以及项目测试。特别针对实际开发中常见的配置问题提供解决方案,帮助C++开发者快速搭建高效的Qt开发环境。

weixin_28419039的博客 217

[嵌入式系统-48]:常见轻量级嵌入式操作系统FreeRTOS、uC/OS、RT-Thread、嵌入式Linux比较与选型

综上所述,FreeRTOS、uC/OS和RT-Thread在嵌入式系统中都有各自的优势和适用场景,开发者可以根据项目需求和具体情况选择合适的操作系统。FreeRTOS、uC/OS和RT-Thread都是常见的嵌入式实时操作系统,它们在设计理念、特性和应用场景上有所不同。:Microcontroller Operating Systems的简称,是一款用于微控制器的实时操作系统,具有可裁剪性和可移植性。这些操作系统在嵌入式系统中具有广泛的应用,并根据项目需求和硬件平台的不同选择合适的操作系统。

文火冰糖(王文兵)的博客 5013

Win10下Delphi 10.4.2 (RAD Studio 10.4.2 )安装教程图解

Win10下Delphi 10.4.2 (RAD Studio 10.4.2 )安装和破解教程图解

1万+

Python爬虫实战:抓取天气数据并生成可视化图表(完整可复制代码)

工具/库核心作用选型理由requests发送HTTP请求,获取天气网页内容语法简单,上手快,支持Headers配置(反爬)解析HTML页面,提取目标天气数据无需懂复杂XPath,API直观,快速定位标签pandas数据清洗、整理(如日期/温度格式化)一键处理数据格式,与matplotlib无缝适配matplotlib生成可视化图表(折线图/饼图/柱状图)Python主流可视化库,定制性强,支持保存高清图生成随机User-Agent,应对反爬自动更新UA池,避免手动维护。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 909

常见的嵌入式操作系统

嵌入式操作系统与通用的操作相比较主要特点在于:   1.小内核,稳定可靠。   2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。   3.面向应用,强实时性,可用于各种设备控制当中。   国际上常见的嵌入式操作系统大约有40种左右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制

迷途 2116

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2292

嵌入式操作系统介绍分析

嵌入式操作系统介绍分析一,各种嵌入式操作系统介绍1.uC/OS-IIu C / OS 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的BBS上。μC/OS 和μ

JonnyWei的专栏 5820

从 Product Master 视角理解 Configurable Products

摘要:SAP S/4HANA中的可配置产品(Configurable Products)通过集中管理产品变体解决主数据膨胀问题。以汽车和服务器为例,销售端显示为单一产品,生产端则处理多维度组合。核心机制包括:1)使用KMAT物料类型或Configurable标记;2)通过特征(characteristics)定义可选项;3)用分类(class)组织特征;4)配置档案(configuration profile)控制业务逻辑。这种设计将客户选择与主数据解耦,避免为每个组合创建独立物料,同时支持销售配置、生产B

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 83

【多目标跟踪】ByteTrack复现(有yolov5例子)

1.环境 ubuntu16.04 cuda10.1 cudnn7 python3.6 Cython matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.2 Pillow PyYAML>=5.3 scipy>=1.4.1 tensorboard>=2.2 torch>=1.7.0 torchvision>=0.8.1 tqdm>=4.41.0 seaborn>=0.11.0 easydic

聿默的博客 1万+

各种嵌入式操作系统介绍

一,各种嵌入式操作系统介绍 1.uC/OS-II u C / OS 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。  μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的BBS上。  μC/OS 和μC/OS-II

frankzhen的博客 7014

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

嵌入式操作系统课件介绍

嵌入式操作系统课件介绍 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了嵌入式操作系统课件,以ppt格式呈现。本课件共计18课,内容丰富,涵盖了嵌入式操作系统的主要学习知识点,旨在帮助学习者系统地掌握嵌入式操作系统的相关知识。 课件特点如下: 采用PPT格式,便于学习者在电脑或移动设备上浏览和阅读。 每课内容结构清晰,逻辑性强,便于学习者理解和吸收。 课件包含了嵌入...

gitblog_06758的博客 289

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

常用嵌入式操作系统介绍

1)VxWorks VxWorks操作系统是WinRiver(美国风河系统)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢地占据着一席之地。 VxWorks所具有的显著特点是:可靠性、实时性和可裁剪性。 它支持多种处理器,如X86、i960、Sun Sparc、Motorola MC

天天water的专栏 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

《自己动手写嵌入式操作系统(文字版)》资源介绍

《自己动手写嵌入式操作系统(文字版)》资源介绍 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到本仓库,这里提供了《自己动手写嵌入式操作系统(文字版)》的清晰PDF版本资源,这是一本深入浅出地介绍嵌入式操作系统开发的书籍。本书以清晰的文字描述,系统地讲解了嵌入式操作系统的构建过程,旨在帮助读者理解嵌入式操作系统的基本原理和设计方法。 本书特点如下: 内容全面:从基础的操...

gitblog_06779的博客 382

合宙4G模组 | 嵌入式操作系统LuatOS介绍

LuatOS——是合宙推出的一款基于SoC和Lua脚本的嵌入式操作系统。

yangliu123456_的博客 1391
上一篇: Linux系统管理命令
下一篇: Target Shell
orange_os
博客等级 码龄15年 70粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值