Identical projects producing different results

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Identical projects producing different results

937 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by IanJames on Fri Nov 22 08:20:50 MST 2013
Hi,

I have a problem that manifests itself when a Power On Reset is performed.

I have two projects(PRJ1 andf PRJ2) in the same LPCXPRESSO workspace - both using a common library (CMSISv2p00_LPC12xx). The source and headers are the same.

If I program a board with PRJ1, remove the programming header and power off and on then everything is OK. If I program the board with PRJ2 then after the power off and on cycle the board goes into continuous reset.

I know this to be the case because I should be transmitting characters out of UART0 once  second.

With PRJ I see the data correctly
With PRJ I see continuous data - also the programmer has difficulty in programming the board.

I have been looking in to the files produced and the only difference I can see is in the .map files and I have found the following difference:

PRJ1
.isr_vector    0x00000000       0xbc ./src/cr_startup_lpc12xx.o
                0x00000000                g_pfnVectors
                0x000000bc                . = ALIGN (0x4)
                0x000000bc                __section_table_start = .
                0x000000bc                __data_section_table = .
                0x000000bc        0x4 LONG 0x14bc LOADADDR (.data)
    

*(.isr_vector)
.isr_vector    0x00000000       0xbc ./src/cr_startup_lpc12xx.o
                0x00000000                g_pfnVectors
                0x000000bc                . = ALIGN (0x4)
                0x000000bc                __section_table_start = .
                0x000000bc                __data_section_table = .
                0x000000bc        0x4 LONG 0x14a0 LOADADDR (.data)

Now I have little knowledge of what the above means but it appears to have a 'knock on' effect on the addresses of the following interrupt vectors. The difference between 0x14bc and 0x14a0 is 0x1c (or 28 decimal)

If anyone has any ideas about this I would be very grateful - its driving me nuts and wasting an awful lot of time.

Thanks,

Ian James
 

Labels (1)
0 Kudos
6 Replies

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Tue Nov 26 14:16:24 MST 2013
The __DISABLE_WATCHDOG symbol is meant to be set by the LPC12 project wizard when the Disable Watchdog option is ticked in the project wizard. However it looks like this is not happening at present. We'll investigate this for fixing in a future release.

In the meantime, I would suggest adding this symbol manually to your project.

Background info on this can be found at:

http://support.code-red-tech.com/CodeRedWiki/LPC12Watchdog

The other symbols you mention are just extra symbols defined by the LPCXpresso 6 project wizard system over earlier releases.

Regards,
LPCXpresso Support


0 Kudos

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by IanJames on Fri Nov 22 09:58:02 MST 2013
I have just found the problem - the SYMBOLS are different for the two projects :

Working project has:

__REDLIB__
NDEBUG
__CODE_RED
__USE_CMSIS=CMSISv2p00_LPC12x
__DISABLE_WATCHDOG

Failing project has

__REDLIB__
NDEBUG
__CODE_RED
CORE_M0
__USE_CMSIS=CMSISv2p00_LPC12xx
__LPC12XX__

Obviously the second project does not have __DISABLE_WATCHDOG so it fails without the programmer in!

What is not obvious is where the other SYMBOLS have appeared from i.e. CORE_M0  and__LPC12XX__

Any ideas where they might have come from, presumably when the project was created.

Thanks for your help today.
0 Kudos

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by IanJames on Fri Nov 22 09:46:40 MST 2013
Thanks for advice.

I will do this straight away.

0 Kudos

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Nov 22 09:23:00 MST 2013
This shows that the startup code is a different size (cr_startup_lpc12xx.c).

So, either the files are NOT identical, or you are using different compile options.

I would start by comparing the two files (select both file in the Project Explorer, right-click and select Compare->With each other)
0 Kudos

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by IanJames on Fri Nov 22 09:14:29 MST 2013
I have attached the two  map files - rename .txt to allow the upload.

The project that works is called ZigbeeRouter and the one that fails is Charger

Thanks
0 Kudos

784 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Nov 22 08:54:55 MST 2013
Please both the full contents of Both .map files.
0 Kudos