Bug: MCU settings not stored in .cproject file

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

Bug: MCU settings not stored in .cproject file

265 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by sh on Tue Nov 12 09:30:28 MST 2013
I'm using LPCXpresso 6.10 with the LPC4330. The project uses an external builder with a custom build command. I found after considerable experimentation, that the debugger depends on the information in the MCU settings tab of the project settings, for example for determining which code addresses are in Flash, so that the proper choice of breakpoint type can be made.

Unfortunately, it seems that those settings are not being updated when I change them, as after closing and reopening the dialog, the changes have been ignored and I see the original settings. Only when I change the setting via editing the .cproject file in a text editor, the changed settings are accepted and even preserved when Eclipse writes to the file.

Whether the changes in the MCU settings tab are being accepted or not seems to depend on the project, but it is obscure to me in which way. There is no error message visible, the changes are just being quietly discarded. Some of my projects don't have that problem, perhaps someone can explain how the behavior of the MCU settings dialog depends on the remaining project settings. Ther's clearly something obscure going on behind the scenes.

In my case the debugger could not set breakpoints, apparently because it didn't know about the flash. That made it decide to use software breakpoints, which leads to an error because the write to memory fails. Apparently, for hardware breakpoints to be used, the debugger needs to know about which parts of the memory map are occupied by Flash, and this information comes from the MCU settings tab in the project settings dialog. If this is so, the information entered here should never be disregarded, no matter what the other project settings are.

Cheers
sh
0 Kudos
2 Replies

239 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by sh on Tue Nov 12 11:56:36 MST 2013
It is a C/C++ project. If I remember correctly I created it as a makefile project, since the build system is foreign (not even based on makefiles - the project has its own build system). Is there an easy way to determine afterwards, how the project was created, i.e. what the wizard did?

It is set up to use the Code Red MCU Tools as the toolchain.

My project is large. Is it necessary to post the entire code? I attach the .cproject file for now. If you need more than that, please ask back, I may have to try setting up a toy project that does exhibit the problem if you need more than that. That would take some effort, I fear.

I find that the debugger depends on the information entered in the MCU settings tab, even when the build system (including linker script) is external. That applies to breakpoints, at least. Is that intentional?

Furthermore, I note that the MCU settings tab is not dependent on the selected build configuration. It seems to me that it should be, since the settings made there may have a good reason to differ between different configurations. For example, the project may have to be built for different hardware variants, with different memory maps and flash driver settings, and even a different CPU core.
0 Kudos

239 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Tue Nov 12 11:11:29 MST 2013
MCU Setting only applies to C/C++ projects.

How have you defined the project? Is it defined as a Makefile project, or something else.
Is it setup to use the "Code Red MCU Tools" as the toolchain?

We need to be able to reproduce the problem here, to be able to help further. Please post a project that exhibits this problem and we can investigate.
0 Kudos