关于keil中勾选微库"Use MicroLIB"调试printf时编译报错问题

问题描述

在keil中勾选"Use MicroLIB"去调试printf时,发现编译失败,并有两个报错

报错内容:

.\Objects\01_USART_Printf.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_gd32e23x.o).

.\Objects\01_USART_Printf.axf: Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).

解决办法

去工程中打开启动文件startup_gd32e23x.s,找到user Initial Stack & Heap下面
image

先把__initial_sp__use_two_region_memory注释掉
image

编译一下,然后再取消注释
image

再编译一下,发现就没有报错了
image

最后

一个很奇怪的问题,解决办法学习于的大佬文章:勾选Use Microlib报错,解决编译出现Undefined symbol __use_two_region_memory 和Undefined symbol __initial_sp的问题

posted @ 2024-05-07 01:16  晚风也温柔  阅读(834)  评论(0编辑  收藏  举报