Baremetal-NN
Baremetal-NN API documentation
Loading...
Searching...
No Matches
metal.h File Reference

Baremetal programming helpers. More...

#include <stdint.h>
#include <stddef.h>
Include dependency graph for metal.h:

Go to the source code of this file.

Macros

#define __I   volatile const /** Defines "read only" permissions */
 
#define __O   volatile /** Defines "write only" permissions */
 
#define __IO   volatile /** Defines "read / write" permissions */
 
#define __IM   volatile const /** Defines "read only" structure member permissions */
 
#define __OM   volatile /** Defines "write only" structure member permissions */
 
#define __IOM   volatile /** Defines "read / write" structure member permissions */
 
#define SET_BITS(REG, BIT)   ((REG) |= (BIT))
 
#define CLEAR_BITS(REG, BIT)   ((REG) &= ~(BIT))
 
#define READ_BITS(REG, BIT)   ((REG) & (BIT))
 
#define WRITE_BITS(REG, CLEARMASK, SETMASK)   ((REG) = (((REG) & (~(CLEARMASK))) | (SETMASK)))
 

Enumerations

enum  State {
  RESET = 0UL , SET = !RESET , DISABLE = RESET , ENABLE = SET ,
  LOW = RESET , HIGH = SET
}
 
enum  Status { OK = 0U , ERROR , BUSY , TIMEOUT }
 

Detailed Description

Baremetal programming helpers.

This file provides some common definitions for baremetal programming. It includes memory register attributes, bit operation definitions, and common enumerations for state and status values that is used by the Hardware Abstraction Layer (HAL) library.