Nut/OS  5.0.5
API Reference
core_cm3.c File Reference

CMSIS Cortex-M3 Core Peripheral Access Layer Source File. More...

#include <stdint.h>
Include dependency graph for core_cm3.c:

Defines

#define __ASM   __asm
#define __INLINE   inline

Functions

uint32_t __get_PSP (void)
 Return the Process Stack Pointer.
void __set_PSP (uint32_t topOfProcStack)
 Set the Process Stack Pointer.
uint32_t __get_MSP (void)
 Return the Main Stack Pointer.
void __set_MSP (uint32_t topOfMainStack)
 Set the Main Stack Pointer.
void __set_IPSR (uint32_t value)
 Set the Main Stack Pointer.
uint32_t __get_BASEPRI (void)
 Return the Base Priority value.
void __set_BASEPRI (uint32_t value)
 Set the Base Priority value.
uint32_t __get_PRIMASK (void)
 Return the Priority Mask value.
void __set_PRIMASK (uint32_t priMask)
 Set the Priority Mask value.
uint32_t __get_FAULTMASK (void)
 Return the Fault Mask value.
void __set_FAULTMASK (uint32_t faultMask)
 Set the Fault Mask value.
uint32_t __get_CONTROL (void)
 Return the Control Register value.
void __set_CONTROL (uint32_t control)
 Set the Control Register value.
uint32_t __REV (uint32_t value)
 Reverse byte order in integer value.
uint32_t __REV16 (uint16_t value)
 Reverse byte order in unsigned short value.
int32_t __REVSH (int16_t value)
 Reverse byte order in signed short value with sign extension to integer.
uint32_t __RBIT (uint32_t value)
 Reverse bit order of value.
uint8_t __LDREXB (uint8_t *addr)
 LDR Exclusive (8 bit)
uint16_t __LDREXH (uint16_t *addr)
 LDR Exclusive (16 bit)
uint32_t __LDREXW (uint32_t *addr)
 LDR Exclusive (32 bit)
uint32_t __STREXB (uint8_t value, uint8_t *addr)
 STR Exclusive (8 bit)
uint32_t __STREXH (uint16_t value, uint16_t *addr)
 STR Exclusive (16 bit)
uint32_t __STREXW (uint32_t value, uint32_t *addr)
 STR Exclusive (32 bit)

Detailed Description

CMSIS Cortex-M3 Core Peripheral Access Layer Source File.

Version:
V1.30
Date:
30. October 2009
Note:
Copyright (C) 2009 ARM Limited. All rights reserved.
ARM Limited (ARM) is supplying this software for use with Cortex-M processor based microcontrollers. This file can be freely distributed within development tools that are supporting such ARM based processors.
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Define Documentation

#define __INLINE   inline

inline keyword for GNU Compiler


Function Documentation

uint32_t __get_PSP ( void  )

Return the Process Stack Pointer.

Returns:
ProcessStackPointer

Return the actual process stack pointer

void __set_PSP ( uint32_t  topOfProcStack)

Set the Process Stack Pointer.

Parameters:
topOfProcStackProcess Stack Pointer

Assign the value ProcessStackPointer to the MSP (process stack pointer) Cortex processor register

uint32_t __get_MSP ( void  )

Return the Main Stack Pointer.

Returns:
Main Stack Pointer

Return the current value of the MSP (main stack pointer) Cortex processor register

void __set_MSP ( uint32_t  topOfMainStack)

Set the Main Stack Pointer.

Parameters:
topOfMainStackMain Stack Pointer

Assign the value mainStackPointer to the MSP (main stack pointer) Cortex processor register

void __set_IPSR ( uint32_t  value)

Set the Main Stack Pointer.

Parameters:
topOfMainStackMain Stack Pointer

Assign the value mainStackPointer to the MSP (main stack pointer) Cortex processor register

References __ASM.

uint32_t __get_BASEPRI ( void  )

Return the Base Priority value.

Returns:
BasePriority

Return the content of the base priority register

References __ASM.

void __set_BASEPRI ( uint32_t  value)

Set the Base Priority value.

Parameters:
basePriBasePriority

Set the base priority register

References __ASM.

uint32_t __get_PRIMASK ( void  )

Return the Priority Mask value.

Returns:
PriMask

Return state of the priority mask bit from the priority mask register

References __ASM.

void __set_PRIMASK ( uint32_t  priMask)

Set the Priority Mask value.

Parameters:
priMaskPriMask

Set the priority mask bit in the priority mask register

References __ASM.

uint32_t __get_FAULTMASK ( void  )

Return the Fault Mask value.

Returns:
FaultMask

Return the content of the fault mask register

References __ASM.

void __set_FAULTMASK ( uint32_t  faultMask)

Set the Fault Mask value.

Parameters:
faultMaskfaultMask value

Set the fault mask register

References __ASM.

uint32_t __get_CONTROL ( void  )

Return the Control Register value.

Returns:
Control value

Return the content of the control register

References __ASM.

void __set_CONTROL ( uint32_t  control)

Set the Control Register value.

Parameters:
controlControl value

Set the control register

References __ASM.

uint32_t __REV ( uint32_t  value)

Reverse byte order in integer value.

Parameters:
valuevalue to reverse
Returns:
reversed value

Reverse byte order in integer value

References __ASM.

uint32_t __REV16 ( uint16_t  value)

Reverse byte order in unsigned short value.

Parameters:
valuevalue to reverse
Returns:
reversed value

Reverse byte order in unsigned short value

References __ASM.

int32_t __REVSH ( int16_t  value)

Reverse byte order in signed short value with sign extension to integer.

Parameters:
valuevalue to reverse
Returns:
reversed value

Reverse byte order in signed short value with sign extension to integer

References __ASM.

uint32_t __RBIT ( uint32_t  value)

Reverse bit order of value.

Parameters:
valuevalue to reverse
Returns:
reversed value

Reverse bit order of value

References __ASM.

uint8_t __LDREXB ( uint8_t addr)

LDR Exclusive (8 bit)

Parameters:
*addraddress pointer
Returns:
value of (*address)

Exclusive LDR command for 8 bit value

References __ASM.

uint16_t __LDREXH ( uint16_t addr)

LDR Exclusive (16 bit)

Parameters:
*addraddress pointer
Returns:
value of (*address)

Exclusive LDR command for 16 bit values

References __ASM.

uint32_t __LDREXW ( uint32_t addr)

LDR Exclusive (32 bit)

Parameters:
*addraddress pointer
Returns:
value of (*address)

Exclusive LDR command for 32 bit values

References __ASM.

uint32_t __STREXB ( uint8_t  value,
uint8_t addr 
)

STR Exclusive (8 bit)

Parameters:
valuevalue to store
*addraddress pointer
Returns:
successful / failed

Exclusive STR command for 8 bit values

References __ASM.

uint32_t __STREXH ( uint16_t  value,
uint16_t addr 
)

STR Exclusive (16 bit)

Parameters:
valuevalue to store
*addraddress pointer
Returns:
successful / failed

Exclusive STR command for 16 bit values

References __ASM.

uint32_t __STREXW ( uint32_t  value,
uint32_t addr 
)

STR Exclusive (32 bit)

Parameters:
valuevalue to store
*addraddress pointer
Returns:
successful / failed

Exclusive STR command for 32 bit values

References __ASM.