Keil u4 编译uCOSIII移植有错误 Error: L6218E: Undefined symbol Mem_Copy (referred from lib_mem.o)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil u4 编译uCOSIII移植有错误 Error: L6218E: Undefined symbol Mem_Copy (referred from lib_mem.o)相关的知识,希望对你有一定的参考价值。

是在官网下载的uCOSIII和uCOSIII-STM32F107源代码,但是编译出错,找不到Mem_Copy函数。
但是Mem_Copy在lib_mem.c和lib_mem.h都定义了的,也加载了lib_mem.c,怎么回事呢?况且这是官网资料哦,不应该有这错误啊!

上图是我的工程文件,我是按uCOSIII移植例程一步步走的,移植到STM32F103VET6。多谢高手帮忙解答!

参考技术A 在lib_cfg.h文件里有这样的宏定义#define LIB_MEM_CFG_OPTIMIZE_ASM_EN DEF_ENABLED
而mem_copy的定义事这样的
//#if (LIB_MEM_CFG_OPTIMIZE_ASM_EN != DEF_ENABLED)
void Mem_Copy ( void *pdest,
const void *psrc,
CPU_SIZE_T size)
也就是说LIB_MEM_CFG_OPTIMIZE_ASM_EN 定义为DEF_DISABLED就可以了。
参考技术B 因为你没有把 “lib_mem_a.asm” 这个文件加入工程。 参考技术C Mem_Copy这个函数只有声明没有定义吧?
把它所在的源码也编译一下。

keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事

看到大家的回答了,尽管还是没搞清楚,还是谢谢了 我用的还是汇编语言 编辑的源文件

这是经常有的事情,而且警告也会有这种情况,不过错误的下方肯定有标志关键词,你按关键词找就可以 参考技术A 百度一下那些错误的翻译 参考技术B 你把错误提示粘出来。

以上是关于Keil u4 编译uCOSIII移植有错误 Error: L6218E: Undefined symbol Mem_Copy (referred from lib_mem.o)的主要内容,如果未能解决你的问题,请参考以下文章

ucosiii 移植

20155227辜彦霖《基于Cortex-M4的UCOSIII的应用》课程设计个人报告

如何将keil(MDK)的文件方便的转为IAR

uc/os iii移植到STM32F4---IAR开发环境

如何将keil(MDK)的文件方便的转为IAR

STM32的keil移植到IAR的问题。