Skip to main content

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous (subsequently re-edited for accuracy and organization)*

SEV is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev"); though the exact form will be compiler-specific.

In actual use, the instruction will output a pulse for one clock period (for example, 14ns with a 72MHz core clock) on whichever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

It was suggested that a sequence of SEV instructions and nop's could be used to output a train of pulses at a fraction of the clock rate. Possibly two sequential SEV instructions could create a longer pulse, though no guarantee against glitching has been cited.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous (subsequently re-edited for accuracy and organization)*

SEV is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev"); though the exact form will be compiler-specific.

In actual use, the instruction will output a pulse for one clock period (for example, 14ns with a 72MHz core clock) on whichever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

It was suggested that a sequence of SEV instructions and nop's could be used to output a train of pulses at a fraction of the clock rate. Possibly two sequential SEV instructions could create a longer pulse, though no guarantee against glitching has been cited.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous (subsequently re-edited for accuracy and organization)*

SEV is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev"); though the exact form will be compiler-specific.

In actual use, the instruction will output a pulse for one clock period (for example, 14ns with a 72MHz core clock) on whichever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

It was suggested that a sequence of SEV instructions and nop's could be used to output a train of pulses at a fraction of the clock rate. Possibly two sequential SEV instructions could create a longer pulse, though no guarantee against glitching has been cited.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

added 318 characters in body
Source Link
Chris Stratton
  • 33.6k
  • 3
  • 45
  • 90

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous *(subsequently re-edited for accuracy and organization)*

In actual use, theSEV is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev"); will though the exact form will be compiler-specific.

In actual use, the instruction will output a pulse 14nS widefor one clock period (withfor example, 14ns with a 72MHz systemcore clock) on which everwhichever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

TheIt was suggested that a sequence: of __asm__ volatile ("sev"); __asm__ volatile ("nop");SEV caninstructions and nop's could be used to output a 36MHz pulse chain ontrain of pulses at a 72MHz devicefraction of the clock rate.

Using Possibly two sequential sevSEV instructions incould create a row doubles the width of thelonger pulse, though no guarantee against glitching has been cited.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous *

In actual use, the instruction __asm__ volatile ("sev"); will output a pulse 14nS wide (with a 72MHz system clock) on which ever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

The sequence: __asm__ volatile ("sev"); __asm__ volatile ("nop"); can be used to output a 36MHz pulse chain on a 72MHz device.

Using two sev instructions in a row doubles the width of the pulse.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous (subsequently re-edited for accuracy and organization)*

SEV is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev"); though the exact form will be compiler-specific.

In actual use, the instruction will output a pulse for one clock period (for example, 14ns with a 72MHz core clock) on whichever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

It was suggested that a sequence of SEV instructions and nop's could be used to output a train of pulses at a fraction of the clock rate. Possibly two sequential SEV instructions could create a longer pulse, though no guarantee against glitching has been cited.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Add some direct experience to refine the answer.
Source Link
Nick Alexeev
  • 38.6k
  • 17
  • 102
  • 240

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous *

In actual use, the instruction "asm volatile ("sev");"__asm__ volatile ("sev"); will output a pulse 14 nS14nS wide (with a 72 mHz72MHz system clock) on which ever pin is configured and enabled via the AFIO_EVCRAFIO_EVCR register and is in alternate function output mode.

The sequence: "asm volatile ("sev"); asm volatile ("nop");"__asm__ volatile ("sev"); __asm__ volatile ("nop"); can be used to output a 36 mHz36MHz pulse chain on a 72 mHz72MHz device.

Using two "sev"sev instructions in a row doubles the width of the pulse.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

In actual use, the instruction "asm volatile ("sev");" will output a pulse 14 nS wide (with a 72 mHz system clock) on which ever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

The sequence: "asm volatile ("sev"); asm volatile ("nop");" can be used to output a 36 mHz pulse chain on a 72 mHz device.

Using two "sev" instructions in a row doubles the width of the pulse.

Good question; you think they would put that info in the manual...or a least a little blurb like the following...

Doing some digging, found this from STM32F10x Technical Training V0.3

Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal

Looked up SEV instruction for further info/confirmation:

SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.

EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.

Edit by anonymous *

In actual use, the instruction __asm__ volatile ("sev"); will output a pulse 14nS wide (with a 72MHz system clock) on which ever pin is configured and enabled via the AFIO_EVCR register and is in alternate function output mode.

The sequence: __asm__ volatile ("sev"); __asm__ volatile ("nop"); can be used to output a 36MHz pulse chain on a 72MHz device.

Using two sev instructions in a row doubles the width of the pulse.

* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.

Source Link
dext0rb
  • 3.8k
  • 2
  • 30
  • 41
Loading