Hilscher netX microcontroller driver  V0.0.5.0
Documentation of the netX driver package

XPIC module driver. More...

Collaboration diagram for XPIC:

Data Structures

struct  DRV_XPIC_WATCHPOINT_T
 

Macros

#define DRV_XPIC_SEGDEF_HEADER_MAGIC   0x43495058
 
#define DRV_XPIC_SEGDEF_HEADER_MSK_VERSION_MAJOR   0xffff0000
 
#define DRV_XPIC_SEGDEF_HEADER_MSK_VERSION_MINOR   0x0000ffff
 
#define DRV_XPIC_SEGDEF_HEADER_VERSION_MAJOR   0x00010000
 
#define DRV_XPIC_SEGDEF_HEADER_VERSION_MINOR   0x00000000
 
#define _HW_CONCAT(a, b)   a ## b
 
#define HW_MSK(bf)    _HW_CONCAT(MSK_NX90_, bf)
 
#define HW_SRT(bf)    _HW_CONCAT(SRT_NX90_, bf)
 
#define HW_DFLT_BF_VAL(bf)   _HW_CONCAT(DFLT_BF_VAL_NX90_, bf)
 
#define HW_DFLT_VAL(reg)    _HW_CONCAT(DFLT_VAL_NX90_, reg)
 
#define HW_REGADR(reg)    _HW_CONCAT(Adr_NX90_, reg)
 
#define HW_AREAADR(area)    _HW_CONCAT(Addr_NX90_, area)
 
#define HW_TYPE(area)    _HW_CONCAT(NX90_, area)
 

Enumerations

enum  DRV_XPIC_REG_E {
  DRV_XPIC_REG_R0 = 0,
  DRV_XPIC_REG_R1 = 1,
  DRV_XPIC_REG_R2 = 2,
  DRV_XPIC_REG_R3 = 3,
  DRV_XPIC_REG_R4 = 4,
  DRV_XPIC_REG_R5 = 5,
  DRV_XPIC_REG_R6 = 6,
  DRV_XPIC_REG_R7 = 7,
  DRV_XPIC_REG_USR0 = 8,
  DRV_XPIC_REG_USR1 = 9,
  DRV_XPIC_REG_USR2 = 10,
  DRV_XPIC_REG_USR3 = 11,
  DRV_XPIC_REG_USR4 = 12,
  DRV_XPIC_REG_PC = 13,
  DRV_XPIC_REG_STAT = 14,
  DRV_XPIC_REG_ZERO = 15
}
 

Functions

void DRV_XPIC_Reset (unsigned int uiXpicNo, void *pvUser)
 
void DRV_XPIC_Load (unsigned int uiXpicNo, const uint32_t *pulXpicPrg, void *pvUser)
 
void DRV_XPIC_Start (unsigned int uiXpicNo, void *pvUser)
 
void DRV_XPIC_StartEx (unsigned int uiXpicNo, bool fSinglestep, bool fMonitor, bool fIntDis, bool fMisalignHold, void *pvUser)
 
void DRV_XPIC_Stop (unsigned int uiXpicNo, void *pvUser)
 
void DRV_XPIC_SetBankSelect (unsigned int uiXpicNo, bool fSel, bool fFiqBank)
 
uint32_t DRV_XPIC_GetLastPc (unsigned int uiXpicNo)
 
uint32_t DRV_XPIC_GetIrqStatus (unsigned int uiXpicNo)
 
uint32_t DRV_XPIC_GetIrqReturnPc (unsigned int uiXpicNo)
 
uint32_t DRV_XPIC_GetFiqReturnPc (unsigned int uiXpicNo)
 
uint32_t DRV_XPIC_GetBreakStatus (unsigned int uiXpicNo)
 
uint32_t DRV_XPIC_GetBreakIrqRaw (unsigned int uiXpicNo)
 
void DRV_XPIC_ConfirmBreakIrq (unsigned int uiXpicNo, uint32_t ulIrq)
 
uint32_t DRV_XPIC_GetBreakIrq (unsigned int uiXpicNo, bool fOwn)
 
void DRV_XPIC_EnableBreakIrq (unsigned int uiXpicNo, uint32_t ulIrq, bool fOwn)
 
void DRV_XPIC_DisableBreakIrq (unsigned int uiXpicNo, uint32_t ulIrq, bool fOwn)
 
void DRV_XPIC_SetupWatchPoint (unsigned int uiXpicNo, unsigned int uWpNo, DRV_XPIC_WATCHPOINT_T *ptWp)
 
uint32_t DRV_XPIC_GetReg (unsigned int uiXpicNo, DRV_XPIC_REG_E eReg)
 
void DRV_XPIC_SetReg (unsigned int uiXpicNo, DRV_XPIC_REG_E eReg, uint32_t ulValue)
 
void DRV_XPIC_WrDramDw (unsigned int uiXpicNo, unsigned int uiOffset, uint32_t ulValue)
 
uint32_t DRV_XPIC_RdDramDw (unsigned int uiXpicNo, unsigned int uiOffset)
 
void DRV_XPIC_WrPramDw (unsigned int uiXpicNo, unsigned int uiOffset, uint32_t ulValue)
 
uint32_t DRV_XPIC_RdPramDw (unsigned int uiXpicNo, unsigned int uiOffset)
 
static void DRV_XPIC_LoadSegments (unsigned int uiXpicNo, const uint32_t *pulData)
 

Variables

static NX90_XPIC_AREA_T *const s_aptXpic [] = { (NX90_XPIC_AREA_T*) Addr_NX90_xpic_app_regs }
 
static NX90_XPIC_DEBUG_AREA_T *const s_aptXpicDebug [] = { (NX90_XPIC_DEBUG_AREA_T*) Addr_NX90_xpic_app_debug }
 
static uint32_t *const s_apulXpicDram [] = { (uint32_t*) Addr_NX90_xpic_app_dram }
 
static uint32_t *const s_apulXpicPram [] = { (uint32_t*) Addr_NX90_xpic_app_pram }
 

Detailed Description

XPIC module driver.

This driver is one of our legacy HALs. The support for the legacy hall's is very limited. They are developed and maintained by our chip development and verification department and provide only a hardware near abstraction layer. They are in most cases not convenient or do not support as much functionality as that

Macro Definition Documentation

#define _HW_CONCAT (   a,
 
)    a ## b

Definition at line 67 of file netx_drv_xpic.c.

#define DRV_XPIC_SEGDEF_HEADER_MAGIC   0x43495058

Definition at line 51 of file netx_drv_xpic.c.

#define DRV_XPIC_SEGDEF_HEADER_MSK_VERSION_MAJOR   0xffff0000

Definition at line 52 of file netx_drv_xpic.c.

#define DRV_XPIC_SEGDEF_HEADER_MSK_VERSION_MINOR   0x0000ffff

Definition at line 53 of file netx_drv_xpic.c.

#define DRV_XPIC_SEGDEF_HEADER_VERSION_MAJOR   0x00010000

Definition at line 54 of file netx_drv_xpic.c.

#define DRV_XPIC_SEGDEF_HEADER_VERSION_MINOR   0x00000000

Definition at line 55 of file netx_drv_xpic.c.

#define HW_AREAADR (   area)    _HW_CONCAT(Addr_NX90_, area)

Definition at line 73 of file netx_drv_xpic.c.

#define HW_DFLT_BF_VAL (   bf)    _HW_CONCAT(DFLT_BF_VAL_NX90_, bf)

Definition at line 70 of file netx_drv_xpic.c.

#define HW_DFLT_VAL (   reg)    _HW_CONCAT(DFLT_VAL_NX90_, reg)

Definition at line 71 of file netx_drv_xpic.c.

#define HW_MSK (   bf)    _HW_CONCAT(MSK_NX90_, bf)

Definition at line 68 of file netx_drv_xpic.c.

#define HW_REGADR (   reg)    _HW_CONCAT(Adr_NX90_, reg)

Definition at line 72 of file netx_drv_xpic.c.

#define HW_SRT (   bf)    _HW_CONCAT(SRT_NX90_, bf)

Definition at line 69 of file netx_drv_xpic.c.

#define HW_TYPE (   area)    _HW_CONCAT(NX90_, area)

Definition at line 74 of file netx_drv_xpic.c.

Enumeration Type Documentation

Enumerator
DRV_XPIC_REG_R0 
DRV_XPIC_REG_R1 
DRV_XPIC_REG_R2 
DRV_XPIC_REG_R3 
DRV_XPIC_REG_R4 
DRV_XPIC_REG_R5 
DRV_XPIC_REG_R6 
DRV_XPIC_REG_R7 
DRV_XPIC_REG_USR0 
DRV_XPIC_REG_USR1 
DRV_XPIC_REG_USR2 
DRV_XPIC_REG_USR3 
DRV_XPIC_REG_USR4 
DRV_XPIC_REG_PC 
DRV_XPIC_REG_STAT 
DRV_XPIC_REG_ZERO 

Definition at line 56 of file netx_drv_xpic.h.

Function Documentation

void DRV_XPIC_ConfirmBreakIrq ( unsigned int  uiXpicNo,
uint32_t  ulIrq 
)

Definition at line 321 of file netx_drv_xpic.c.

void DRV_XPIC_DisableBreakIrq ( unsigned int  uiXpicNo,
uint32_t  ulIrq,
bool  fOwn 
)

Definition at line 367 of file netx_drv_xpic.c.

void DRV_XPIC_EnableBreakIrq ( unsigned int  uiXpicNo,
uint32_t  ulIrq,
bool  fOwn 
)

Definition at line 350 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetBreakIrq ( unsigned int  uiXpicNo,
bool  fOwn 
)

Definition at line 336 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetBreakIrqRaw ( unsigned int  uiXpicNo)

Definition at line 307 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetBreakStatus ( unsigned int  uiXpicNo)

Definition at line 292 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetFiqReturnPc ( unsigned int  uiXpicNo)

Definition at line 524 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetIrqReturnPc ( unsigned int  uiXpicNo)

Definition at line 512 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetIrqStatus ( unsigned int  uiXpicNo)

Definition at line 500 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetLastPc ( unsigned int  uiXpicNo)

Definition at line 277 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_GetReg ( unsigned int  uiXpicNo,
DRV_XPIC_REG_E  eReg 
)

Definition at line 473 of file netx_drv_xpic.c.

void DRV_XPIC_Load ( unsigned int  uiXpicNo,
const uint32_t *  pulXpicPrg,
void *  pvUser 
)

Definition at line 140 of file netx_drv_xpic.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void DRV_XPIC_LoadSegments ( unsigned int  uiXpicNo,
const uint32_t *  pulData 
)
static

Definition at line 93 of file netx_drv_xpic.c.

Here is the caller graph for this function:

uint32_t DRV_XPIC_RdDramDw ( unsigned int  uiXpicNo,
unsigned int  uiOffset 
)

Definition at line 555 of file netx_drv_xpic.c.

uint32_t DRV_XPIC_RdPramDw ( unsigned int  uiXpicNo,
unsigned int  uiOffset 
)

Definition at line 586 of file netx_drv_xpic.c.

void DRV_XPIC_Reset ( unsigned int  uiXpicNo,
void *  pvUser 
)

Definition at line 220 of file netx_drv_xpic.c.

Here is the caller graph for this function:

void DRV_XPIC_SetBankSelect ( unsigned int  uiXpicNo,
bool  fSel,
bool  fFiqBank 
)

Definition at line 447 of file netx_drv_xpic.c.

void DRV_XPIC_SetReg ( unsigned int  uiXpicNo,
DRV_XPIC_REG_E  eReg,
uint32_t  ulValue 
)

Definition at line 488 of file netx_drv_xpic.c.

void DRV_XPIC_SetupWatchPoint ( unsigned int  uiXpicNo,
unsigned int  uWpNo,
DRV_XPIC_WATCHPOINT_T ptWp 
)

Definition at line 385 of file netx_drv_xpic.c.

void DRV_XPIC_Start ( unsigned int  uiXpicNo,
void *  pvUser 
)

Definition at line 188 of file netx_drv_xpic.c.

Here is the caller graph for this function:

void DRV_XPIC_StartEx ( unsigned int  uiXpicNo,
bool  fSinglestep,
bool  fMonitor,
bool  fIntDis,
bool  fMisalignHold,
void *  pvUser 
)

Definition at line 416 of file netx_drv_xpic.c.

void DRV_XPIC_Stop ( unsigned int  uiXpicNo,
void *  pvUser 
)

Definition at line 203 of file netx_drv_xpic.c.

void DRV_XPIC_WrDramDw ( unsigned int  uiXpicNo,
unsigned int  uiOffset,
uint32_t  ulValue 
)

Definition at line 539 of file netx_drv_xpic.c.

void DRV_XPIC_WrPramDw ( unsigned int  uiXpicNo,
unsigned int  uiOffset,
uint32_t  ulValue 
)

Definition at line 570 of file netx_drv_xpic.c.

Variable Documentation

NX90_XPIC_AREA_T* const s_aptXpic[] = { (NX90_XPIC_AREA_T*) Addr_NX90_xpic_app_regs }
static

Definition at line 61 of file netx_drv_xpic.c.

NX90_XPIC_DEBUG_AREA_T* const s_aptXpicDebug[] = { (NX90_XPIC_DEBUG_AREA_T*) Addr_NX90_xpic_app_debug }
static

Definition at line 62 of file netx_drv_xpic.c.

uint32_t* const s_apulXpicDram[] = { (uint32_t*) Addr_NX90_xpic_app_dram }
static

Definition at line 63 of file netx_drv_xpic.c.

uint32_t* const s_apulXpicPram[] = { (uint32_t*) Addr_NX90_xpic_app_pram }
static

Definition at line 64 of file netx_drv_xpic.c.