lpc 2378: arm7 tdmi: bluescreen thai easy electronics

hey i have just started to work on bluescreen by thaieasy electronics which has ARM7-TDMI in LPC2378, but i dont have any idea how to burn the code i have compiled in winarm. could u plz help regarding anything.

Is it possible that the bluscreen board could be programmed without using JTAG- Wiggler?? I have read in its datsheet that lpc2378 has in system programming capability, but i dont have any idea how to use that.

Any help would be appreciated… :cry:

hashim:
Is it possible that the bluscreen board could be programmed without using JTAG- Wiggler??

We programmed our Armaide graphics demo onto the Bluescreen via a COM port on the PC connected to the UART on the LPC2378 using FlashMagic:

http://www.flashmagictool.com

You can view the demo here:

http://bluescreen-etee009.blogspot.com/ … on-07.html

As the Bluescreen doesn’t have an RS232 socket on it we used an RS232 to TTL adapter to connect the PC to the Bluescreen.

Thanks a ton . Ill definately try this

I have used MAX3232 to convert RS32 to TTL adapter & connected TXD0, RXD0,3v3S and GND of console P2 of blue screen to respective pin of MAX3232 circuit…but the flash magic shows "operation failed.failed to auto baud and shows the following link…

http://forum.flashmagictool.com/index.php?topic=3628.0"

i do have checked my hardware connections twice but still haven’t been able to overcome the error…

plz help…i am stuck…

:?

hashim:
the flash magic shows "operation failed.failed to auto baud and shows the following link…

http://forum.flashmagictool.com/index.php?topic=3628.0"

  1. Read Chapter 29 “Flash memory programming firmware” of the NXP LPC23xx User Manual UM10211 for information on what you need to do to enter the ISP mode e.g. controlling the P2.10 pin when you reset the MCU.

  2. Don’t try using a baud rate any higher than 9600 or 19200 until you are sure that everything else is working OK.

Finally after struggling for quite a while with the bluescreen , it works…

Feels great … :lol:

Thanks for ur guidance…

hashim,

Glad you got it. Your post + responses would be even more valuable if you would describe “how” you finally got system to work…

The first mistake which I was doing was that i was using MAX232 instead of MAX 3232 , while MAX 232 was a 5V IC ,MAX3232/MAX3223 is a 3.3V IC and the voltage of bluescreen board is 3.3V so I finally used MAX 3232 and the supply problem was resolved.

Secondly the Cds provided by thai electronics only provide schematics and not the actual brd file which was a problem . I sorted this problem by checking the potentials at various pins of the CONSOLE.

I found that the pins of the console were in reverse order

I mean

21

43

65 was actually

12

34

56 on the board of bluscreen.

and also 3.3VS means you have to supply the external 3.3V at that terminal.

One more help could be the schematic of Olimex STK for ARM from where you can check the pin connections…

Hence when i sorted all these things it worked, atleast flash magic detected the device , now i have to check how programming can be done using WINARM and Flash MAgic.

Merci - that detail will help many…

Alas , I am stuck again.

I have modified the code of crt0.s and Makefile required for the Winarm.

Now I am able to generate a .hex file without any warning or errors & also I am able to use Flash Magic to burn the code.

In Flash Magix I have ticked the following settings-

Step1:

LPC2378

COM1

Baud Rate-9600

Interface- None ISP

Oscillator-12.0

Step2:

Erase blocks used by Hex File

Step3:

loaded the hex file

Step4:

Verify After Programming

With these settings I am able to get a “Finished” after some time.

It seems to work well until now , but when I remove the jumper and reset, Black screen comes with all 4 Leds ON.

I dont know whats the problem.

May be I have made the Makefile / crt0.s with some error.

But the compiler Winarmis absolutely fine with it.

Please Help

I have again tried burning the code via WINARM - Make Program option.

It shows the following errors:

“make.exe” program

"

You may have to bring the target in bootloader-mode now.

lpc21isp -control main.hex com1 38400 12000

lpc21isp version 1.31

File main.hex:

loaded…

converted to binary format…

image size : 73404

Synchronizing. OK

Read bootcode version: 3.3.0

Read part ID: unknown (385940773)

Program too large; running out of Flash sectors.

make.exe: *** [program] Error 4

Process Exit Code: 2

Time Taken: 00:02

"

It seems the code is too long. Is there any way I could still burn the code.

As the program which I have made feasable with Winarm is the one provided by the Cds given by thai easy electronics. & I want to make them run first…

Sorry - believe to enable experts to best help you must insure the following:

a) your treatment of all intermediate steps is correct

b) you are executing in the correct order

c) you are not exceeding flash, sram or heap capacity

You can confirm that your basic method still works by repeating the process for the largest program which - in the past - worked. If you can confirm that you can still achieve a working process - then your new problem is confined to new code or a new “violation.”

Troubleshoot the new program by selectively removing “blocks” until it compiles and programs properly - try to isolate the problem area - this is the best way to get everything to work.

My small group are ARM7 & M3 focused - have never used your device but are in eval stage with sub 1USD LPC1111-1114 devices for low cost, higher volume Aps.

I am using LPC2378 with ARM7 TDMI processor in the thai easy electronics bluescreen kit.

http://www.thaieasyelec.net/index.php/a … n/p_2.html

The flash is of 512kb n the program which I am trying to burn is of 73kb approx.

I am using WINARM and Flashmagic tools.

Can anybody help …

support for newlibc-lpc (file: libnewlibc-lpc.a)

#NEWLIBLPC = -lnewlib-lpc

NEWLIBCLPC =

MATH_LIB = -lm

Linker flags.

-Wl,…: tell GCC to pass this to linker.

-Map: create map file

–cref: add cross reference to map file

LDFLAGS = -nostartfiles -Wl,-Map=$(TARGET).map,–cref

LDFLAGS += -lc

LDFLAGS += $(NEWLIBLPC) $(MATH_LIB)

LDFLAGS += -lc -lgcc

OR

support for newlibc-lpc (file: libnewlibc-lpc.a)

#NEWLIBLPC = -lnewlib-lpc

MATH_LIB = -lm

CPLUSPLUS_LIB = -lstdc++

Linker flags.

-Wl,…: tell GCC to pass this to linker.

-Map: create map file

–cref: add cross reference to map file

LDFLAGS = -nostartfiles -Wl,-Map=$(TARGET).map,–cref,–gc-sections

LDFLAGS += -lc

LDFLAGS += $(NEWLIBLPC) $(MATH_LIB)

LDFLAGS += -lc -lgcc

LDFLAGS += $(CPLUSPLUS_LIB)

LDFLAGS += $(patsubst %,-L%,$(EXTRA_LIBDIRS))

LDFLAGS += $(patsubst %,-l%,$(EXTRA_LIBS))

Can anyone please tell me which code is suited or are there some errors here is this Makefile code I have taken…

If any one could provide a sample makefile that would help a lot…

Plz help I m in great need.

Can’t help with the makefile etc., but…

Try setting the oscillator to 20 Mhz in Flash Magic.

The documentation lists this as the frequency when using the JTAG, but maybe it affects programming via Flash Magic also??

Finally I am able to get the bluescreen working. I am using Keil Uvision4 mdk402.exe downloaded from torrent.

Try avoiding Winarm it has a lot of bugs.