Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Help: Rowley CrossStudio & Wiggler Problem

2004-04-18 by nw_mcu

I'm evaluating Rowley's CrossStudio and am having serious problems. 
I'm using the Olimex 2106 demo board and the Wiggler JTAG interface.  
I'm new to the LPC devices and GCC but not MCUs in general.

The tools and board work mostly as expected when using RAM for the 
codespace. When using FLASH, however, several unexpected things are 
happening: 

1 - CrossStudio always successfully writes the Loader and erases the 
flash but usually fails with various timeout errors when it tries to 
write the code to the erased flash.  Once in a while it will work.  
I've tried both ECP and EPP settings for the parallel port and 
various settings in CrossStudio with no change.  The 2106 is also 
hung up when this happens and needs to be reset.  The wiggler 
sometimes needs to be power cycled as well, and a few times, 
CrossStudio stopped responding for good and had to be shut down with 
the task manager.  NOT GOOD!

2 - When I can manage to write the code to flash, the startup code 
doesn't seem to be linked correctly. I can change the PLLCFG 
multiplier from 0x24 (4X) to 0x21 (1X) and the chip still runs at 59 
Mhz.  I'm importing the assembly startup file into CrossStudio as 
specified in the docs, and it assembles just fine.  I'm new to this 
toolchain so I'm not sure where to look?  I can't even figure out how 
to tell the linker to generate a list file in CrossStudio?  This 
happens with the demo projects and when I start a new project from 
scratch.

3 - Things get even more strange. When I can write to flash, my code 
runs at 59mhz as outlined above (no matter what I set the PLL to).  
If I disconnect the wiggler and reset the board, the clock rate drops 
down to 1X (14.7 Mhz)!  Again, this is true no matter what the PLL is 
actually set to in the startup file!

I've verified the above problems are not related to the memory 
accelerator (which is disabled in all cases) or MAMTIM (flash wait 
states).  Those things work normally when I change them in the main 
code.

It's almost as if, even when set to use flash, CrossStudio is still 
telling the GCC linker to use RAM for some of the code?  The 
documentation isn't very clear on the CrossStudio-to-GCC interface.  
The problem with CrossStudio timing out when trying to write the 
flash is especially annoying as I usually have to power cycle the 
board (wiggler) and start over.

Frankly, I'm not impressed with the way code is loaded into the LPC 
parts.  It's a bit of mess compared to other processors that have 
much more direct (and bulletproof) programming interfaces.

Does anyone have any ideas or suggestions?  This is really 
frustrating!  CrossStudio is priced right, and I otherwise like it so 
far, so I hope I'm just doing something wrong?

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.