I created a project for my FRDM-KL25Z board.
In "Manage Run-Time Environment", I added I2C using CMSIS Driver |
I2C | Multi-Slave.
My app code includes "Driver_I2C.h".
My code compiles, but I get a linker error:
Error: L6218E: Undefined symbol Driver_I2C0 (referred from
See details below.
I guess Driver_I2C0 is declared in a library that is missing from
Can somebody point me to some uVision docs that would help me
correct the problem?
Copyright (C) 2017 ARM Ltd and ARM Germany GmbH. All rights
Flex license: MDK-ARM Essential: 1 user(s) (mdk_essential)
Operation stops: 30 Sep 2019
Tool Version Numbers:
Toolchain: MDK-ARM Essential: 1 user(s) Version: 5.24.1
Toolchain Path: e:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 5 (build 528)
Assembler: Armasm.exe V5.06 update 5 (build 528)
Linker/Locator: ArmLink.exe V5.06 update 5 (build 528)
Library Manager: ArmAr.exe V5.06 update 5 (build 528)
Hex Converter: FromElf.exe V5.06 update 5 (build 528)
CPU DLL: SARMCM3.DLL V5.24.1
Dialog DLL: DARMCM1.DLL V220.127.116.11
Target DLL: UL2CM3.DLL V18.104.22.168
Dialog DLL: TARMCM1.DLL V22.214.171.124
... and is there a corresponding Driver_I2C.c to provide
the implementations of those functions?
Or, perhaps, a pre-built library in binary form.
"I guess Driver_I2C0 is declared (sic) in a library that is
missing from my project."
You mean "defined", but yes - that's it.
I know how to add I2C support in other IDE projects. I just don't
know how to do this in Keil.
Since I added I2C to my project using the "Manage Run-Time
Environment" dialog, I am assuming that this would have added the
required I2C library to my project.
Since the error indicates that the linker is looking for an object
named "Driver_I2C0", I am guessing that a library, or some Keil
provided source code, needs to be added to my project.
What additional steps do I need to do to add I2C to my
I have the same problem, did you find a solution ?
View all questions in Keil forum