This tutorial was extracted from Erich Styger blog http://mcuoneclipse.wordpress.com with his agreement.
When I create a new project for the KL05Z with Processor Expert, then it shows up as 48 pin LQFP package in the project:
However, when I look at my board, it has a KL05Z32 in a LQFP package with 32 pins:
Looking at the Processor View, it shows me the package as with 48 pins too:
So how can I change things so Processor Expert is using a different package?
Note: I’m using here the CodeWarrior for MCU10.3 release from December 2013. See the note at the end if you are using a different version of CodeWarrior.
Why do I care about the package? In many cases, different packages contain the same silicon (die), but depending on the package some pins are not bonded to the outside. So it makes sense to select the proper package, so Processor Expert knows what pins and registers are available.
The first place to check if I can switch the package would be in the CPU component properties, but in MCU10.3 I only can check the FLASH size variant (16 KByte or 32 KByte), but not the package:
The next place would be the list of supported CPUs in the Components Library view:
The trick here is: that tooltip actually does not tell everything: there *are* different packages supported beside of the one shown. And here is how to get it:
I double click on the CPU component to add it to my project. This will open a dialog where I can select the package supported, and here it lists all the packages:
Pressing next, and it offers me to select the compiler:
Now here I need to be careful: for the Kinetis-L family, only GNU gcc is supported. So I better select GNU C Compiler here. But if I screwed up, I can change it in the CPU component properties under the ‘Build options’ tab:
Now I have added a KL05Z in 32-pin LQFP package to my project:
The other CPU package/variant is still in the project, but disabled. If I want, I can switch between the packaging variants. But usually I remove the ones I’m not using:
I do the same for the orphaned configuration:
And if I rename the remaining configuration back to FLASH, I have it nice and clean:
And a last look at the picture in the Processor View shows me that I have now the 32 pin package :
Summary
Changing the processor package is important as not every package has all the registers/ports mapped to the outside world. Processor Expert creates you a project with maybe a widely used package, and it is easy to change the package type later in the project (if I know how to do it . Changing or switching packages is important as well if I develop a project which has to be used with different packaging variants.
Update
While writing this article, I had a sneak preview of the upcoming update of MCU10.3. In that update things are changed a lbit to make things easier. For example, the tooltip in the Components Library view shows now all supported packages:
And I can switch the CPU package in the CPU properties directly:
Update Codewarrior for MCU v10.4
I continue to uncover new things in CodeWarrior in MCU10.4 .
Although that’s not something I need to do on a daily base, this process is simplified in the new version 10.4
As a bonus, the Processor View has now a ‘Generate Code’ button too .
The ‘Processor’ view has now a button ‘Select Package’ where I can switch the package:
The Processor view is available from the menu Window > Show View > Other > Processor Expert > Processor.
This then changes me current package to the new one.
Another way is to use the Inspector view on the CPU: here I can change it too:
Now things are easier and easier to find, and changing the microcontroller package is as easy as it should be .