使用 MounRiver Studio Version: v1.60 生成的 CH32V103 的 C 项目
操作步骤
1. 在 MounRiver Studio 中 选中该项目
2. 点选 菜单 File / New / Other ... / Convert to a C/C++ project .....
2.1. 在出现的对话框中,
2.1.1. 在 Convert to C/C++ 中选 C++ Project
2.1.2. 不选 Specify project type
2.1.3. 点击 Finish 完成
3. 在启动代码中添加 初始化 C++ 的内容
3.1. 在 system_ch32v10x.c 中添加如下代码:
extern void (*__preinit_array_start[]) (void) __attribute__((weak));
extern void (*__preinit_array_end[]) (void) __attribute__((weak));
extern void (*__init_array_start[]) (void) __attribute__((weak));
extern void (*__init_array_end[]) (void) __attribute__((weak));
extern void (*__fini_array_start[]) (void) __attribute__((weak));
extern void (*__fini_array_end[]) (void) __attribute__((weak));
void __run_init_array (void)
{
int count;
int i;
count = __preinit_array_end - __preinit_array_start;
for (i = 0; i < count; i++) __preinit_array_start ();
count = __init_array_end - __init_array_start;
for (i = 0; i < count; i++) __init_array_start ();
}
3.2. 在 startup_ch32v10x.s 加一行代码: jal __run_init_array , 位置如下
jal SystemInit
jal __run_init_array
la t0, main
csrw mepc, t0
|