EmbeddedRelated.com
Forums
Memfault State of IoT Report

LPC2368 that won't start without JTAG

Started by Jan Thogersen December 15, 2006
I just used the example from the NXP website. It DOES WORK.

Two things you need to do:
(1) The way software example organized is, there are two
components: "MCB2300" and "MCB2300 Debug", the former is for
code running in flash, the latter is for coding running in IRAM.
By default, "MCB2300 Debug" is used. You need to switch to
"MCB2300" to build an image for flash update.
(2) Before you program the code into the flash, you need to
have "ISP" and "RST" jumper closed, after that, you need to
open these two jumpers, that UART example can run, as UART
example is exception as it uses UART0 which share with ISP. For
all the other examples, jumpers could stay after the programming.
However, be aware that the UART connection could hold the chip
in ISP mode, take it out if you don't use it.

Regards,
NXP apps.

An Engineer's Guide to the LPC2100 Series

Hi:

I am just trying to compile the USBDev example and I keep getting the
following error:

.\Obj\usbdev.axf: error: L6938E: Invalid value for --ro-base.

I have indeed changed to the MCB2300 component to run from Flash.

The GPIO and UART examples do compile and FlashMagic program them into
memory, but they don't not run. I confirmed that the checksum is correct.

I tried removing the jumpers for ISP and RST (and removing the serial
port cable), but still doesn't run.

I noticed that P2.1, P2.2 and P2.3 are always 1 (leds are on) after
the code has been programmed in flash but is not running. Is this any
code from the bootloader?

So far, the BLINKY example is the only one I am able to program and
run. I noticed that the startup file is different between the two of
them (LPC23xx.s in BLINKY vs. Startup.s in the Keil examples). I tried
replacing it for the LPC23xx.s but it didn't make any difference.

This is the information of the uVIsion I'm currently using:

MCB2360 Vers3

IDE-Version:
Vision3 V3.34
Tool Version Numbers:
Toolchain Path: BIN30\
C Compiler: ARM/Thumb C/C++ Compiler, RVCT3.0 [Build 947] for
uVision [Evaluation]
Assembler: ARM/Thumb Macro Assembler, RVCT3.0 [Build 947] for
uVision [Evaluation]
Linker/Locator: ARM Linker, RVCT3.0 [Build 947] for uVision
[Evaluation]
Librarian: ARM Archiver, RVCT3.0 [Build 947] for uVision
Hex Converter: ARM FromELF, RVCT3.0 [Build 947] for uVision
[Evaluation]
CPU DLL: SARM.DLL V3.03
Dialog DLL: DARMP.DLL V1.12
Target DLL: BIN\UL2ARM.DLL V1.22
Dialog DLL: TARMP.DLL V1.11f

Do you see any difference with what you're using?

Regards,

Alex
---> .\Obj\usbdev.axf: error: L6938E: Invalid value for --ro-base.
Did you set the ROM and ram address in
Project-> Options -> Linker -? R/O base and R/W base ?
Also For IROM1 and IRAM1 in Project-> Options -> TARGET.
Suvidh
Hi Suvidh:

Thank you for your answer.
The problem was indeed that the Project-> Options -> Linker -? R/O
base and R/W base were blank.

By filling with the correct data (R/0 = 0x00000000 R/W = 0x40000000)
the examples are compiling and running from the flash of the MCB2360.

So all examples need to be updated to correct this.
It was a little misleading the fact that the USBDev example didn't
compile, but the the GPIO and UART did. The USBDev had BOTH R/O and
R/w blank, but the other examples have only R/W blank.

Up and running now...
Thanks,

Alex
Alex,
I am glad that you solved the problem. Thanks, Suvidh!

I am afraid that, somehow, you accidentally cleared
these fields on your local machine, or, this could also
happen if you change the device in the device database and
change back, that uVision may clear these fields and nerve
set it back. In the example software, these are very basic
elements we would never forget to leave blank and post it on
the website without testing. I suggest that you download the
example software from our website again and compare with the
one you have.

Regards,
Tom
Hi Tom:

I downloaded again the examples from the following location:

http://www.standardics.nxp.com/support/documents/microcontrollers/zip/code.lpc23xx.peripherals.uvision.zip

And check the projects as they come without any change. The fields in
the Linker are indeed blank. Therefore I didn't accidentally change them.

I would suggest fix the examples and post them again in the NXP website.

Thanks.

Alex.
Alex,
Check your setting in the linker field, "Use memory layout
from target dialog", if this field is checked, you need to go
to "target dialog" to see what the memory layout looks like.
In the software example, I think all the memory layout is
defined in the target dialog area that you don't need to do
that again in the linker field.

If you don't have this field checked, you need to specify your
own R/O and R/W and/or create a scatter file.

Regards,
Tom
Hi Tom ,

The dialog box you are talking is not enabled in evaluation version
atleast and hence the problem !!!

It might be that it works in full version only.
I am yet to install license and hence came across it.

Suvidh
> Hi again.
> After a little fight i solved the bootloder mode problem by your
> helps.But now code doesn't execute.

What did you find. I may have the same problem. I've got a valid
checksum and my P0.14 pin voltages seem to be OK. What else is there ?
Hi:

If you read all messages from this thread, you'll find more information.

If you are using Keil's examples (as posted in the NXP website), there
is some information missing in the linker's configuration to properly
create executable files. They compile and link without warning, but
they don't run once programmed in the MCU.

The problem is that the Project-> Options -> Linker -? R/O
base and R/W base are blank.

By filling with the correct data (R/0 = 0x00000000 R/W = 0x40000000)
the examples are compiling and running from the flash of the MCB2360.
Regards,

Alex

Memfault State of IoT Report