Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Changing Initialization Sequence in Processor Expert

DZone's Guide to

Changing Initialization Sequence in Processor Expert

· Performance Zone ·
Free Resource

Sensu is an open source monitoring event pipeline. Try it today.

I have implemented a watchdog with Processor Expert for my system. But what I have found out? I ended up with a looping system, and the watchdog did not fire. :-(

What went wrong?

My code was looping in the initialization sequence of my wireless transceiver:

Watchdog did not trigger

Watchdog did not trigger

Ok, but this should have been catched by the watchdog, or not?

Actually not, as the watchdog obviously get enabled *afterwards*:

PE_low_level Init

PE_low_level Init

There is a Processor Expert view to change the sequence, accessible with the menu Window > Show View:

Initialization Sequence View

Initialization Sequence View

This view gives me the opportunity to view and change the initialization sequence:

Processor Expert Initialization Sequence View

Processor Expert Initialization Sequence View

Using the ‘up’ arrow I can make it first in the list:

Up Button to make it first in list

Up Button to make it first in list

Now the watchdog is enabled before any other component:

Watchdog Init

Watchdog Init

:!: This only affects the initialization within PE_low_level_init(). To enable the watchdog right after reset, I would need to set this up in the CPU component.

Summary

The Initialization Sequence view of Processor Expert gives me a way to change the initialization order of my components. Of course certain things I cannot affect, or if there is an explicit dependency between components. But with that view I have an easy way to control the sequencing.

Happy Sequencing :-)

Sensu: workflow automation for monitoring. Learn more—download the whitepaper.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}