Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

keil mdk-arm problem

Status
Not open for further replies.

Elimathew

Member level 5
Joined
Jun 21, 2011
Messages
88
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
India
Activity points
1,894
hi guys im a beginner in arm i am using nxp lpc1768 and trying to create a simple project using keil mdk arm and trying to build a simple led blinking program but it always gives this error i dont know why
\k.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_lpc17xx.o).
how to resolve this?
 

ftsolutions

Full Member level 5
Joined
Nov 19, 2009
Messages
242
Helped
71
Reputation
142
Reaction score
68
Trophy points
1,308
Location
United States
Activity points
3,709
A function named SystemInit is not implemented (or an address label definition) is missing from a source code file (either in C or assembly). You might possibly be missing a library/Keil source file from your project settings, with a name something like "system_lpc17xx.c", or similar. I use IAR instead of Keil, so I cannot be more explicit than this, but am pretty sure this is your problem. Search on SystemInit in the online help, or google "SystemInit ARM Keil" for more clues.
 

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,831
Helped
2,349
Reputation
4,692
Reaction score
2,275
Trophy points
1,413
Location
Southwest, USA
Activity points
62,377
When you create the new project and you are asked if you want to include the startup code, did you choose yes?


Also when you add source files to the project you need to add them in the project window by right clicking and choosing "Add Existing Files to Group..."

You might also zip up the entire project folder and upload it, so that we can review it.


BigDog
 

Elimathew

Member level 5
Joined
Jun 21, 2011
Messages
88
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
India
Activity points
1,894
thank you for your reply the problem is solved i used the version 5 and it is not giving any error but i have a few questions here
1.Why is a startup file required?
2.does IAR ide support jtag debugging is it beginner freindly?
 

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,831
Helped
2,349
Reputation
4,692
Reaction score
2,275
Trophy points
1,413
Location
Southwest, USA
Activity points
62,377
Typically embedded C compilers link some sort of startup code with your code during compilation and link phases.

The startup code typically sets and initializes various device resources and hardware modules like the stack, heap, oscillator, caches, etc, which your C code utilizes during runtime.

Remember when the device first powers up, none of the device resources exist or have been initialized.

The startup code provides the framework for which your code to "run."

I actually own licenses for both KEIL and IAR for ARM, they are similar, it typically comes down to a matter of personal preference.

IAR does support many of the JTAG programmer/debuggers as does KEIL.

KEIL is actually "owned" by ARM, Ltd. which in turn owns and licenses all ARM cores to the various semiconductor manufacturers.


BigDog
 

Elimathew

Member level 5
Joined
Jun 21, 2011
Messages
88
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
India
Activity points
1,894
thank you for the reply ,another thing which i diidnt understand is cmsis- core?
 

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,831
Helped
2,349
Reputation
4,692
Reaction score
2,275
Trophy points
1,413
Location
Southwest, USA
Activity points
62,377
CMSIS - Cortex Microcontroller Software Interface Standard, is a vendor independent software library/API which allows software to be written in a more portable fashion, for example the CMSIS routine calls are the same for ARM Cortex-M3 regardless of whether the manufacturer is TI or NXP.

CMSIS - Cortex Microcontroller Software Interface Standard

The CMSIS consists of the following components:

CMSIS-CORE: provides an interface to Cortex-M0, Cortex-M3, Cortex-M4, SC000, and SC300 processors and peripheral registers
CMSIS-DSP: DSP library with over 60 functions in fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit) implementation
CMSIS-RTOS API: standardized programming interface for real-time operating systems for thread control, resource, and time management
CMSIS-SVD: System View Description XML files that contain the programmer's view of a complete microcontroller system including peripherals

BigDog
 

Elimathew

Member level 5
Joined
Jun 21, 2011
Messages
88
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
India
Activity points
1,894
So if i create bin file for lpc1768 it would also work with cortex m3 chips of other vendors am i right?
 

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,831
Helped
2,349
Reputation
4,692
Reaction score
2,275
Trophy points
1,413
Location
Southwest, USA
Activity points
62,377
Not quite.

You could take much of the source code and recompile it for another manufacturers ARM Cortex-M3.

Portability is the name of the game.

BigDog
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top