乐鑫技术交流
直播中

凌章致

7年用户 952经验值
私信 关注
[问答]

RTOS SDK:对“system_upgrade_start”的未定义引用是怎么回事?

我正在使用最新的 RTOS SDK。我的环境设置正确。我能够编译、链接和上传非 OTA 固件。
在使用代码“if (system_upgrade_start(update) == false)”进行编译时,出现以下错误:
user_main.c:678: undefined reference to `system_upgrade_start'
RTOS SDK 没有提供 libupgrade。必须使用哪个其他库?

回帖(1)

蒲泛粟

2024-5-24 17:05:36
这个问题可能是因为编译时没有链接到正确的库文件。在使用“system_upgrade_start”函数之前,需要链接 “libupgrade.a” 库文件。可以在 Makefile 或者编译命令中添加这个库。例如,在 Makefile 中,可以添加以下行:

LIBS += libupgrade.a

或者在编译命令中添加:

gcc -o app.out app.o -L/path/to/lib -lupgrade

其中 /path/to/lib 是 libupgrade.a 所在的目录。

如果您没有找到 libupgrade.a 库,您可以在 RTOS SDK 的 components 目录中找到它。请确保已经使用 make 命令编译整个 SDK,以便生成该库文件。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分