打印
[RISC-V MCU 应用开发]

如何配置开发环境并编译 CH32V103 程序?

[复制链接]
681|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
等你下课|  楼主 | 2025-2-28 01:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发环境中配置 CH32V103 编译选项,并开始编译应用程序

回答:

安装 RISC-V 工具链: 首先,确保你已经安装了 RISC-V GCC 工具链。如果你使用的是 Linux,可以通过如下命令安装:

bash
复制
编辑
sudo apt install gcc-riscv64-linux-gnu
如果你使用的是 Windows 或 macOS,建议从 RISC-V 官方 GitHub 页面下载并安装。

CMake 配置: 如果你使用 CMake 来管理项目,可以创建一个 CMakeLists.txt 文件,指定编译选项和链接器脚本。例如:

cmake
复制
编辑
cmake_minimum_required(VERSION 3.10)
project(CH32V103_Project)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

# 指定 RISC-V 编译器
set(CMAKE_C_COMPILER riscv64-unknown-elf-gcc)

add_executable(main.elf main.c)

# 链接器脚本
target_link_libraries(main.elf PRIVATE ${CMAKE_SOURCE_DIR}/linker.ld)
编写程序代码: 开始编写程序,例如一个简单的 LED 点亮程序。在 CH32V103 中,你需要配置 GPIO 来控制 LED 引脚的状态。

例如:

c
复制
编辑
#include "ch32v103.h"

void delay(int count) {
    while (count--) {
        __asm__("nop");
    }
}

int main(void) {
    // 初始化 GPIO
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  // 启用 GPIOC 时钟
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);

    while (1) {
        GPIO_SetBits(GPIOC, GPIO_Pin_13);  // 点亮 LED
        delay(1000000);
        GPIO_ResetBits(GPIOC, GPIO_Pin_13);  // 熄灭 LED
        delay(1000000);
    }
}
编译和生成文件: 在终端中,进入项目文件夹,使用 make 或 CMake 命令来编译项目:

bash
复制
编辑
mkdir build && cd build
cmake ..
make
生成 .elf 文件,准备进行烧录。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

449

帖子

0

粉丝