Switching the Microcontroller Package, Device and Family

One of the major benefits of Processor Expert is that I can easily switch the device or processor used in a project. For example I can do my concept with a larger device with more FLASH and RAM, and then at the end easily switch to a smaller or even completely different device very quickly. For example I have a project working with the 64KByte FLASH version of the KE02Z (KE02Z68VLH2):

MKE02Z64VLH2

MKE02Z64VLH2

Outline

Many times it is not clear from the beginning how many pins, how much FLASH and RAM is needed for a project. What I use is to create the project with Processor Expert for a processor for which I think it would be a good fit. Then I add all the components and software to a proof of concept to see how much of the resources are really used. Then I can easily change the number of pins and the device in a later step if I have to. This article shows how I can change the device package (number of pins) or even the device or device family. Because Processor Expert knows all the pins and peripherals, even if the pin names are not the same, it is a matter of minutes to change from one device to another.

Changing Package and Pinout

If I only need to change the package, I can do this directly in the processor view:

Select Package

Select Package

This is useful if I can go to a smaller package to save costs. Or to go to a larger package with more pins if my design needs more of them. If using less pins, I might to have adjust the peripherals e.g. moving the UART to UART0 if UART2 is not available any more.

Smaller Package

Smaller Package

Another way to switch the package is in the CPU component itself:

Switching Package Type

Switching Package Type

Changing Microcontroller

If I need to change the device, say from moving from a 64 KByte Flash version to a 16 kByte one, then I can add that new one the project from the list of processors:

Add New Processor

Add New Processor

This adds a new active CPU to the components:

Added CPU

Added CPU

The processor and package does reflect this too:

New Processor and Package

New Processor and Package

The previous CPU is still there. There can be only one CPU active and I can switch between them:

Switching CPU

Switching CPU

If I don’t want the previous CPU any more, I can delete it from the components lists with the context menu too. If I want to have a way to switch easily between them, then check out “Configurations with Processor Expert“.

Changing Family

The above project does not end at the microcontroller family boundary: I can change to any of the processors listed, e.g. changing the project to a ARM Cortex-M4F:

Adding K70

Adding K70

So I could start developing my project with a big development board with completely different processor.

Because a different processors might use different pins, several components will flag an error:

Errors with Pins

Errors with Pins

Processor Expert tries to re-assign pins, but this is not always possible:

Unknown Peripheral Name

Unknown Peripheral Name

Reassigning pins is just a matter of a mouse click:

Reassigning Pins

Reassigning Pins

Summary

Changing the pinout/package and the processor is something I have to do often in an early development stage. It allows me to better fit the device to the software on it, cut costs or have the ability to scale the microcontroller used. That way I can port a firmware from one package to another or from one microcontroller to another in a matter of minutes. This not only works inside the same device family, it works very well from moving from a Cortex-M0+ to an M4 or M7 and back too.

Happy Switching 🙂

Advertisements

One thought on “Switching the Microcontroller Package, Device and Family

  1. Yes, another argument for sticking to Processor Expert. Still I can’t believe NXP’s decision to not support it anymore. It feels like Brexit, a stupid move.

    Like

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s