先辑半导体 HPM5300EVK 入门开发笔记

hpm6750evk2开发板(一)菜鸟入门 hpm6750与我们平时常用的stm单片机在开发环境和开发方法上有很大的区别,所以上手还是需要花一点时间的,拿到板子先不要急着上电调试,我们先找资料学习一下了,免得多走冤枉路,以下是我整理的一些学习资源,包括开发板使用手册、芯片SDK、开发工具、视频资料等,建议先把使用手册和学习视频先看了,再取搭建环境测试。最近刚入手一块hpm6750evk2开发板,花了几天时间学习,算是菜鸟入门了,今天分享一下学习过程。看完资料后,把开发工具安装上,下一篇文章我们分享一下调试工程的过程和遇到的问题。 阅读详情

一、开发板简介

1.1 开发板简介

HPM5300 系列 RISC-V CPU 主频高达 480 MHz,内置 288KB SRAM 和 1 MB Flash,并提供 48∼100 脚 LQFP 和 QFN 等封装,为工业自动化,新能源及汽车等应用提供了丰富的算力和高效的控制能力。

1.2 芯片命名规则

下图是命名规则:

下图是 HPM 5300 四款芯片的详细参数: 

1.2 开发板外观

正面
背面

二、环境安装

2.1 下载软件列表

安装软件列表:

  • Segger Embedded Studio ForRISC-V ( IDE 和编译环境)
  • HPM SDK 项目生成工具 (根据芯片生成原始项目)
  • HPMicro_Manufacturing_Tool (配置及批量烧写工具)

2.2 下载连接与文档

Segger Embedded Studio ForRISC-V:

HPM SDK 项目生成工具和 HPMicro_Manufacturing_Tool 下载地址:

2.3 安装过程

安装过程没有特别注意事项

三、BOOT 启动选项

3.1 启动概述

根据 HPM5300 用户手册 19.2 启动流程指出:

BootROM 支持如下启动模式:

  • 主启动模式 (XPI NOR 启动模式)
  • 串行启动模式 (UART, USB-HID)
  • 在系统编程模式 (In-System-Programming)

上图中 BOOT_MODE 就是我们两个 BOOT 的 GPIO 引脚电平。

3.2 主启动模式 (XPI NOR 启动模式)

3.2.1 BOOT_MODE 两个引脚的配置

 根据 HPM5300 用户手册 20.5 特殊功能引脚 BOOT_MODE 两个引脚的配置指出:

  • 当我们的 BOOT0 和 BOOT1 均为 0 的情况下,MCU 在从连接在 XPI0 上的串行 NORFLASH 启动。

3.2.2 XPI0 内存映射地址

根据 HPM5300 用户手册  6.1 系统内存映射 System Memory Map 指出:

XPI0 是我们的串行总线控制器 XPI 存储空间。最终我们的程序也会调到这里 XPI0 中运行。

3.2.3 XPI NOR 启动流程

根据 HPM5300 用户手册 19.2.2.3 XPI NOR 启动流程指出:

  • 当用户选择从 XPI NOR 启动后,设备上电后会按所示流程来执行 XPI NOR 启动。

这个有些复杂,我们暂时不用太关心这张图。

3.3 在系统编程模式 (In-System-Programming)

串行启动模式 (USB-HID) 是我们使用的烧写工具 (HPMicro Programmer) 连接方式,在这里不继续讨论。

3.4 在系统编程模式 (In-System-Programming)

四、如何选择内置 FLASH 启动程序

4.1 内置 FLASH 是怎么连接到 MCU 的

根据 HPM6000 系列 MCU Flash 使用指南(一)------如何使用片内 Flash 手册可知:

  • 此类 SIP(System Ina Package) 封装的芯片,使用了 XPI0 的第二组引脚 PX 来连接内部 Flash,这一组引脚只对 SIP 封装芯片才有效。
  • 本产品由于使用 XPI0_CA 端口连接了内部 Flash,所以以下 IO 可只以用作 XPI0 功能以外的外设复用功能,例如GPIO,UART 等功能,XPI0 的相关功能在本产品中失效:

根据 HPM5300 用户手册 19.8.2.1 XPI 信息可知:

  • 这些引脚默认连接到了 XPI0 功能的 FLASH 中。XPI0 共有两个分组,1 分组连接在芯片外部的 IO 口,我们可以外挂 NOR FLASH 给 XPI0 使用。分组 2 也就是 PX0 系列引脚,连接到MCU内置的 FLASH 中。

4.2 使用内置 FLASH 启动 MCU

我们可知,HPM5361 内置 1MB 的 NOR FLASH 储存并且连接到了 MCU。那么,怎么能在我们内置的 FLASH 中启动程序呢?

根据 HPM5300 用户手册 19.2.2.2 FLASH 连接方式的指定可知:

BootROM 根据以下 OTP 字段来决定相应的 FLASH 连接:

  • 根据 XPI_INSTANCE 决定 XPI 的实例
  • 根据 XPI_PIN_GROUP 选择默认的 XPI 引脚分组
  • 根据 XPI_PORT_SEL 决定 XPI 默认的连接端口

根据 HPM5300 用户手册 19.8.1 的 OTP 映射表可以看到这个 XPI_PORT_SEL 寄存器:

我们将 XPI_PIN_GROUP 选择到第二组即可。

4.3 写入内置 FLASH 的配置信息

根据 HPM5300 用户手册 19.2.2.2 FLASH 的接入方式指出:

  • 当 FLASH 配置信息来自 FLASH 时,根据 XPI_DEFAULT_READ 决定使用的 FLASH 读命令,并从 FLASH 的 0x400 地址读取 FLASH 配置信息。

根据 HPM5300 用户手册 19.3.3.1 XPI NOR 配置信息的表格指出:

  • 下表中也就是 FLASH 地址中 0x400 开始的地方。

当我们使用 CMake 配置项目,并设置 CMAKE_BUILD_TYPE为 flash_xip 时,生成的 SES(Segger Embedded Studio)工程会使用 flash_xip.icf 链接脚本,以将各个 section 链接至 Flash 中。可以在如下菜单中打开链接脚本。

在 flash_xip.icf 中,可以看到在 XPI0 的基地址偏移 0x400 处定义了存放 NOR_CFG_OPTION 的区域,对应的 section 为 .nor_cfg_option。

在 flash_xip.icf 中定义了 NOR_CFG_OPTION 段的地址:

define region NOR_CFG_OPTION = [ from 0x80000400 size 0xc00 ];

也就是说 NOR_CFG_OPTION 这个段就等价于 0x80000400 这个地址。

在其他文件夹找到下文的代码,我们把原来的:

#if defined(FLASH_XIP) && FLASH_XIP
__attribute__ ((section(".nor_cfg_option"))) const uint32_t option[4] = {0xfcf90001, 0x00000007, 0x0,
0x0};
#endif

修改成:

#if defined(FLASH_XIP) && FLASH_XIP
__attribute__ ((section(".nor_cfg_option"))) const uint32_t option[4] = {0xfcf90002, 0x00000007,
0x1000, 0x0};
#endif

这样 MCU 的 XPI0 就能自动使用内置的 FLASH 中启动程序了。

其原理是Flash 的类型、容量、校验/保护设置等,具体可以看上表即可。

五、配置 DAP 调试

使用 Segger Embedded Studio ForRISC-V IDE 编译代码和调试工程,在这里,我们使用 DAP 调试器配合 openOCD 来进行调试和下载。

 来分析一下调试的 GDB 命令:

上箭头中的全文如下:

D:/sdk_env/sdk_env-1.6.0/sdk_env-1.6.0/tools/openocd/openocd.exe -f 
$(ProjectDir)/../../../../boards/openocd/probes/ft2232.cfg -f 
$(ProjectDir)/../../../../boards/openocd/soc/hpm5300.cfg -f 
$(ProjectDir)/../../../../boards/openocd/boards/hpm5300evk.cfg

说明如下:

组成部分含义
openocd.exe这是可执行程序本身。它负责控制调试器硬件,并将 GDB 调试指令翻译成芯片能懂的信号。
-f .../ft2232.cfg指定调试器(接口)。FT2232 是一款非常常见的 USB 转 JTAG/SWD 的接口芯片。这行告诉 OpenOCD 你正在用这种类型的调试器。
-f .../hpm5300.cfg指定 SoC(目标芯片)。这里指向的是 先楫半导体 (HPMicro) 的 HPM5300 系列芯片,定义了该芯片的 CPU 内核、内存地址等特征。
-f .../hpm5300evk.cfg指定板级配置。EVK 代表评估板(Evaluation Kit)。这个文件定义了特定开发板上的复位引脚、时钟频率等细节。

如果我们使用 ft2232.cfg 接口就可以继续,如果使用 dap 就需要将 ft2232.cfg 替换成 cmsis_dap.cfg。

六、点灯

main.c 实现了下面的逻辑:

初始化 (board_init):

  • 配置芯片时钟和调试串口,让板子“活”过来。

后台闪灯 (board_timer_create):

  • 创建一个 300毫秒 的硬件定时器。它像闹钟一样,每隔 0.3 秒自动去执行一次 board_led_toggle(切换 LED 状态)。这是异步执行的,不影响主循环运行。

串口回显 (while(1)):

  • getchar():等待你在电脑端输入一个字符。
  • 处理换行:把 Windows 风格的回车 (\r) 换成标准的换行 (\n)。
  • printf:把你输入的字符再发回电脑显示。

代码如下:

/*
 * Copyright (c) 2021 HPMicro
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

#include <stdio.h>
#include "board.h"
#include "hpm_debug_console.h"

#define LED_FLASH_PERIOD_IN_MS 300

int main(void)
{
    int u;
    board_init();
    board_init_led_pins();

    board_timer_create(LED_FLASH_PERIOD_IN_MS, board_led_toggle);

    printf("hello world\n");
    while(1)
    {
        u = getchar();
        if (u == '\r') {
            u = '\n';
        }
        printf("%c", u);
    }
    return 0;
}

下面就是 IO 口的翻转函数了:

    void board_led_toggle(void)
    {
        static uint8_t i;
        if (!invert_led_level) {
            /* hpm6750 Mini Rev A led configure*/
            gpio_write_port(BOARD_G_GPIO_CTRL, BOARD_G_GPIO_INDEX, (7 & ~(1 << i)) << BOARD_G_GPIO_PIN);
        } else {
            /* hpm6750 Mini Rev B led configure*/
            gpio_write_port(BOARD_G_GPIO_CTRL, BOARD_G_GPIO_INDEX, ((1 << i)) << BOARD_G_GPIO_PIN);
        }
        i++;
        i = i % 3;
    }
    HPM5300 RISC-V开发:命令行环境搭建与调试实战 在嵌入式开发领域,命令行环境因其灵活性和自动化能力,成为资深开发者提升效率的重要选择。其核心原理在于通过工具链(如GCC)、构建系统(如Makefile)和调试服务器(如OpenOCD)的协同工作,实现对编译、链接、烧录和调试流程的精细控制。这种技术价值体现在能够深度集成到CI/CD流程,摆脱对特定图形界面工具的依赖,尤其适合追求开发透明度和自动化程度的项目。在RISC-V架构的嵌入式开发中,例如针对HPM5300系列芯片,搭建基于命令行的完整环境涉及工具链选型、工程构建、程序烧录和GDB调试等关键步骤。通 阅读详情

    相关推荐

    HPM5361EVK开发板深度体验:480MHz RISC-V MCU实战开发与性能评测

    RISC-V作为一种开放指令集架构,其核心优势在于可定制化与高性能潜力。其工作原理基于精简的指令集设计,允许厂商根据应用需求优化微架构,从而实现更高的能效比和计算密度。在嵌入式开发领域,RISC-V MCU正逐步成为ARM架构之外的重要选择,其技术价值体现在为开发者提供了更开放、更具成本效益的高性能解决方案。典型应用场景包括工业控制、物联网网关、高端消费电子以及需要复杂算法处理的边缘设备。本文以先楫半导体HPM5361EVK开发板为例,聚焦**实际开发流程**与**性能实测**,详细展示了从环境搭建、外设驱

    weixin_42561192的博客 597

    HPM5300系列--第一篇 命令行开发调试环境搭建

    HPM5300evk开发板HPM-SDK的命令开发环境搭建以及调试

    coderma的博客 2321

    HPM5361EVK开发板深度解析与RT-Thread环境搭建实战

    在嵌入式系统开发领域,实时操作系统(RTOS)和高性能微控制器(MCU)是构建复杂工业应用的核心技术基础。RTOS通过提供任务调度、内存管理和设备驱动框架,确保了系统的实时性与可靠性。而RISC-V架构的MCU,凭借其开放指令集和可定制特性,正成为高性能计算与实时控制的热门选择。其技术价值在于能够高效处理电机控制、传感器数据采集等复杂算法,同时保持较低的功耗。典型的应用场景包括工业自动化、电机驱动和汽车电子,这些领域对处理器的实时响应能力和外设集成度要求极高。本文以先楫半导体HPM5361EVK开发板为例,

    weixin_33709219的博客 475

    RISC-V电机控制芯片在伺服驱动器的应用与方案

    伺服驱动和运动装置需要高性能MCU支撑。随着开发工程师设计能力的提升,他们在MCU选型和应用场景拓展方面更趋向具备创新型替代的高性能MCU,主频高于480MHz,配置显示接口,网口和片载Flash。我爱方案网配合原厂发展方案商生态,今天推荐成功导入先楫半导体HPM5300的主控的应用方案,为设备终端制造商提供即插即用的方案PCBA。

    dpwkj的博客 1866

    HPM5361EVK深度测评:480MHz RISC-V MCU性能、外设与低功耗实战

    在嵌入式系统开发中,微控制器(MCU)的核心性能、外设协同与功耗管理是决定产品竞争力的关键。RISC-V架构以其开放性和灵活性,为高性能计算提供了新的选择。其原理在于通过精简指令集和模块化设计,实现高效能效比。在技术价值上,RISC-V MCU能够满足工业控制、电机驱动等场景对实时性和计算吞吐量的严苛要求。应用场景广泛覆盖物联网网关、智能硬件和边缘计算设备。本文以先楫半导体HPM5300系列中的HPM5361EVK开发板为具体案例,通过CoreMark跑分、ADC采样、PWM控制等实测,深入剖析其在高性能R

    weixin_27573409的博客 583

    二、频率调制光谱(FMS)技术——error信号的数学模型及其他推论

    一些推论。

    qq_41111336的博客 1606

    HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式

    Visual Studio Code开发环境以及多种调试器(openocd/ft2232/jlink)调试模式

    coderma的博客 3941

    STM32F407ZGT6开发板跑马灯实战:从原理图到烧录全流程(附FlyMcu配置)

    本文以正点原子F4探索者开发板(STM32F407ZGT6)为例,手把手指导完成跑马灯实验。内容涵盖从原理图解读、GPIO驱动逻辑分析、HAL库工程搭建,到代码编写与FlyMcu串口烧录配置的全流程,帮助嵌入式开发新手快速实现第一个LED控制程序,打通软硬件开发链路。

    weixin_29183637的博客 223

    先楫半导体--上海先楫产品介绍

    上海先楫公司HPM6700,HPM6300,HPM6200,HPM5300,HPM6E00,HPM6800产品介绍

    l18817813618的博客 3053

    从动态规划到最优控制:Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用

    本文深入解析了Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用,从动态规划到最优控制的演变过程。通过实际案例展示了HJB方程在机器人路径规划、工业机械臂优化等领域的实践价值,并探讨了数值求解方法和深度学习结合的神经HJB前沿进展。

    weixin_28700411的博客 458

    CentOS 7.9安装python3.11

    CentOS 7.9安装python3.11

    leafseelight的专栏 1343

    SEGGER Embedded Studio创建基于先辑半导体工程

    然后将SEGGER_RV32_Startup.s中的#define APP_ENTRY_POINT main改成#define APP_ENTRY_POINT reset_handler即可实现和hellow_word工程中灯闪的效果,在reset_handler执行的最后执行main函数。4.然后在project下新建Board文件夹,复制hpm_sdk\boards\hpm5300evk\下的board.c、board.h、pinmux.c、pinmux.h文件到Board文件夹。

    qq_25186745的博客 636

    全国各省份影像下载地址(11级别)

    cesium中使用urltemplate加载,leaflet中使用tile加载,具体加载有问题可以给我留言。

    资深三维GIS开发 5153

    RT-Thread 在 HPMicro HPM6800EVK(RISC-V)开发板上的 BSP 快速上手指南

    本篇技术指南以 RT-Thread 仓库中的 HPM6800EVK 板级支持包(BSP)为核心,系统讲解如何在先楫半导体(HPMicro)推出的 RISC-V 内核开发板 HPM6800EVK 上完成环境搭建、menuconfig 配置、scons 编译、OpenOCD 固件下载与 GDB 调试,并通过源码级剖析帮助读者理解该 BSP 的目录结构、工具链选择逻辑、外设驱动开关与示例运行机制。读完本

    gitblog_00855的博客 284

    Autodesk软件网络授权破解

    Autodesk 全系列产品网络授权破解 此网络许可授权破解文件及方法适用Autodesk 绝大部分的产品, 安装网络许可证管理器Autodesk网络许可证管理器x64位官方下载地址( https://knowledge.autodesk.com/sites/default/files/file_downloads/nlm11.14.1.3_ipv4_ipv6_win64.msi ) Autod...

    weixin_33919950的博客 8268

    软考中级-软件设计师 知识点整理(一篇就过了 建议收藏)

    软考中级-软件设计师上午题知识点总结

    片言可决讼,半纸能缚龙 17万+

    HPM5361EVK开发板与DHT11温湿度传感器应用指南

    温湿度传感器是物联网环境监测的核心组件,DHT11作为经典单总线数字传感器,通过电阻式湿度检测和NTC温度测量实现环境参数采集。其工作原理基于严格的时序协议,主机通过GPIO发起启动信号后,传感器返回40位包含温湿度数据的帧。在RISC-V开发板HPM5361EVK上集成时,需注意3.3V电平兼容性和4.7kΩ上拉电阻配置。该方案适用于智能家居、农业温室等需要低成本环境监测的场景,通过滑动平均滤波和RTOS任务调度可提升数据稳定性。相比I2C接口的AHT20等高端传感器,DHT11以接口简单、价格低廉的优势

    weixin_33742618的博客 309

    嵌入式面试题精选100道及参考答案(4万字长文)

    指针是C语言中一种特殊的变量,它存储的是另一个变量的内存地址。指针的使用提供了一种间接访问和操作内存的方法。地址操作:通过使用运算符,可以获取变量的地址,并将这个地址赋值给指针变量。间接引用:使用运算符可以访问指针指向的变量的值。动态内存分配:指针用于动态地分配和释放内存。数组操作:指针可以用于遍历和操作数组。函数参数:指针作为函数参数可以改变原始数据。字符串操作:在C语言中,字符串通常以字符数组的形式存在,并通过字符指针进行操作。// 指向数组的第一个元素i < 5;++i) {在这个例子中,

    大模型大数据攻城狮的专栏 1973

    (三)HPM Pinmux Tool使用

    本文介绍了先楫半导体HPMPinmuxTool的两种使用方式(网页版和VSCode插件)及其GPIO配置实例。该工具类似STM32CubeMX,可通过可视化界面完成管脚分配并自动生成配置代码。以HPM5300EVK开发板为例,演示了配置PB11引脚为GPIO输出的完整流程:从硬件选型、代码生成到集成到helloworld例程,最终实现通过串口输入触发GPIO电平翻转功能。文中提供了关键配置代码片段,包括引脚初始化函数和主程序中添加的GPIO翻转逻辑,实测验证了该工具能有效简化嵌入式开发的硬件配置工作。

    zhaohengnice的博客 236

    华为的C语言编程规范.pdf

    华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

    IEM模型,地表粗糙度模拟

    利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

    RT-Thread 在先楫 HPM6P00EVK(RISC-V 双核)上的 BSP 移植与快速上手实战指南

    本篇技术指南以 RT-Thread 仓库中 [bsp/hpmicro/hpm6p00evk/README_zh.md](https://link.gitcode.com/i/d97ea74aab1746418499733a320cead5) 为骨架,系统讲解先楫半导体 HPM6P00EVK 开发板的 RT-Thread BSP(板级支持包)资源、环境搭建、编译烧录、调试方法与板级初始化原理,并结合

    gitblog_00480的博客 162

    霍尼韦尔SoftMaster使用说明

    霍尼韦尔SoftMaster使用说明

    睿赛德科技携手先楫共创RISC-V生态|RT-Thread EtherCAT主从站方案大放异彩

    日前,在先楫HPM6E00技术日上,睿赛德科技(RT-Thread)向广大工业用户展示了多年来双方在RISC-V生态领域的合作历程和成果,同时睿赛德科技携手先楫半导体首次推出了基于HPM6800处理器的EtherCAT主站解决方案,吸引了现场大量工业用户的关注。该方案不仅展示了卓越的性能和可靠性,还体现了双方在嵌入式系统领域的深入合作和技术领先优势。目前先楫半导体所有开发板已上RT-Thread主...

    rtthreadiotos的博客 1926

    ET2012新版免狗免安装绿色软件

    ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

    HPM Pinmux Tool使用指南:在VS Code中完成GPIO管脚分配与代码生成

    在 VS Code 中集成 HPM Pinmux Tool,可图形化完成 GPIO 管脚分配并生成 pinmux.c 代码。本文以 HPM5300EVK 的 PB11 为例,演示配置、生成、编译烧录与串口翻转验证全流程,并附 401、local proxy failed 等常见报错排查。配合 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 固定工具链,配置留档更省心。

    weixin_35749796的博客 15

    先楫 HPM5301EVKLITE 的 RT-Thread BSP 上手指南:环境搭建、构建烧录与源码解析

    本指南以 RT-Thread 仓库中的 [HPM5301EVKLITE BSP 说明文档](https://link.gitcode.com/i/f3211fcf10fb09a3bcd5947f4be02fa6) 为核心,系统讲解基于 RISC-V 内核的先楫 HPM5301EVKLITE 开发板如何在 RT-Thread 上完成环境准备、menuconfig 配置、scons 构建、OpenOC

    gitblog_00229的博客 411

    (二)HPM工程本地化注意事项

    本文介绍了HPM单片机工程SDK本地化的目的及注意事项。SDK本地化主要为了便于工程保存和在不同电脑或路径下移植编译。关键操作包括:1)将.cfg文件的固定路径改为相对路径;2)根据个人电脑配置调整openocd路径;3)使用J-Link调试器可避免上述路径问题。特别强调在工程移交时需注意修改调试器路径配置,确保在不同环境下正常使用。

    zhaohengnice的博客 193

    HPM Pinmux Tool 使用指南:从引脚配置到外设复用验证

    用 HPM Pinmux Tool 为 HPM5300EVK 的 PB11 配置 GPIO 输出,生成 pinmux.c 并集成到 SDK 工程,经编译烧录后用串口触发翻转验证。文中还梳理 GPIOM 分配遗漏、401、local proxy failed 等常见报错排查,并给出 TaoToken 官网入口 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 便于联调。

    weixin_36431145的博客 18

    RT-Thread 在 HPMicro RISC-V 开发板上的 BSP 移植与快速上手指南

    本文基于 RT-Thread 仓库中的 `bsp/hpmicro` 板级支持包(Board Support Package),系统梳理先楫半导体(HPMicro)各款基于 RISC-V 内核开发板的 BSP 支持现状、开发环境搭建、编译下载与调试全流程,并结合仓库内驱动源码、OpenOCD 调试脚本与链接脚本,深入说明 BSP 的组成结构与底层实现。读完本文,你将能够在任意一款 HPMicro 开

    gitblog_01013的博客 954
    上一篇: 永磁同步电机的星形 (Y) 和三角形 (Δ) 有何不同?
    下一篇: 先辑 EtherCat 关节方案培训笔记【一】芯片介绍
    崔佳宇_
    崔佳宇_ 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
    博客等级 码龄10年 1万+粉丝 173原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

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

    抵扣说明:

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

    余额充值