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 :-):
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.
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:
Happy Packaging 🙂