The friendly Operating System for the Internet of Things
cortexm_common/include/cpu.h File Reference

Basic definitions for the Cortex-M common module. More...

Detailed Description

When ever you want to do something hardware related, that is accessing MCUs registers, just include this file. It will then make sure that the MCU specific headers are included.

Author
Stefan Pfeiffer stefa.nosp@m.n.pf.nosp@m.eiffe.nosp@m.r@fu.nosp@m.-berl.nosp@m.in.d.nosp@m.e
Hauke Petersen hauke.nosp@m..pet.nosp@m.ersen.nosp@m.@fu-.nosp@m.berli.nosp@m.n.de
Joakim NohlgÄrd joaki.nosp@m.m.no.nosp@m.hlgar.nosp@m.d@ei.nosp@m.stec..nosp@m.se
Todo:
remove include irq.h once core was adjusted

Definition in file cortexm_common/include/cpu.h.

#include <stdio.h>
#include "irq.h"
#include "sched.h"
#include "thread.h"
#include "cpu_conf.h"
+ Include dependency graph for cortexm_common/include/cpu.h:

Go to the source code of this file.

Macros

#define STACK_CANARY_WORD   (0xE7FEE7FEu)
 Interrupt stack canary value. More...
 

Functions

void cpu_init (void)
 Initialization of the CPU.
 
void cortexm_init (void)
 Initialize Cortex-M specific core parts of the CPU.
 
static void cpu_print_last_instruction (void)
 Prints the current content of the link register (lr)
 
static void cpu_sleep_until_event (void)
 Put the CPU into the 'wait for event' sleep mode. More...
 
static void cortexm_sleep (int deep)
 Put the CPU into (deep) sleep mode, using the WFI instruction. More...
 
static void cortexm_isr_end (void)
 Trigger a conditional context scheduler run / context switch. More...