CodeWarrior static code and build replication

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

CodeWarrior static code and build replication

Jump to solution
551 Views
spacedog
Contributor I

Hi, I'm using CW 10.6 for 56800e. We're developing various products with it, they all share a common set of drivers for our hardware and we use PE to generate custom drivers per product.

 

We also have an automated build and test system. One thing we need is to be able to reproduce a binary identical image from unchanged code.

 

The problem comes from the 'Static Code' used by CodeWarrior, in order to ensure repeatability I put that code with our driver code that is shared between projects (i.e. configured the project in standalone mode and pointed the IDE at it). But it doesn't seem to be static at all. Either the code is changed when things are enabled / disabled in CodeWarrior, or it's changed between updates in 10.6. In any case the automated builds broke, it looks like the static code changed and a project built with 10.6 a while ago no longer builds because of the automatic updates applied to 10.6 in between.

 

So, is the static code fixed completely for a version of Code Warrior, or does it update with the automatic updates? Is it changed when the PE settings change? More generally, in this system, what code is it safe to store separately and share between projects (i.e. it will never change), what code needs stored with the project (i.e. it changes and is not generated) and what code does not need committed to revision control in either place (i.e. it is always completely regenerated in a clean build).

 

Additionally CodeWarrior seems to keep adding the normal 'default' location for the static code even though I want to store it somewhere else. This causes a build warning because the directory doesn't exist -- this is not ideal either (our build system catches 'new' warnings). But every time I delete this, no matter how or where I delete it, it get's re-added when I open the project the next time.

 

I would have thought this level of automation, replication of release builds and separation of shared code would be a fairly common use pattern but I can't see how to do it without problems. Perhaps I'm missing something or there's some reference or best practice people can point me too.

Labels (1)
0 Kudos
1 Solution
391 Views
TICS_Fiona
NXP Employee
NXP Employee

Hi

Processor Expert static code does not mean that it will not be changed.

During project creation In the Standalone project mode, the static source modules are copied from Processor Expert (common) static code repository to the project repository placed in Static_Code project directory.

This secures project code independence. However, Processor Expert detects changes between common and project repository and allows user to update project static code source files from common repository.

IO_Map and System sub-folders are always checked for differences. PDD and Peripherals sub-folders are checked only if associated Peripheral Initialization component is in the project. Typically, static code changes when processor component or compiler is switched.

Static Code Track Changes window shows any differences between files in the common and project repository.

For details, please see section 3.10 in PE User Guide:

C:\Freescale\CW MCU v10.6.4\MCU\Help\PDF\ProcessorExpertHelp.pdf

Fiona Kuang

Technical Information & Commercial Support

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
1 Reply
392 Views
TICS_Fiona
NXP Employee
NXP Employee

Hi

Processor Expert static code does not mean that it will not be changed.

During project creation In the Standalone project mode, the static source modules are copied from Processor Expert (common) static code repository to the project repository placed in Static_Code project directory.

This secures project code independence. However, Processor Expert detects changes between common and project repository and allows user to update project static code source files from common repository.

IO_Map and System sub-folders are always checked for differences. PDD and Peripherals sub-folders are checked only if associated Peripheral Initialization component is in the project. Typically, static code changes when processor component or compiler is switched.

Static Code Track Changes window shows any differences between files in the common and project repository.

For details, please see section 3.10 in PE User Guide:

C:\Freescale\CW MCU v10.6.4\MCU\Help\PDF\ProcessorExpertHelp.pdf

Fiona Kuang

Technical Information & Commercial Support

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos