HPM SDK
HPMicro Software Development Kit
hpm_pmp_drv.c File Reference
#include "hpm_pmp_drv.h"
#include "hpm_csr_drv.h"

Functions

uint32_t read_pmp_cfg (uint32_t idx)
 Read PMP configuration. More...
 
void write_pmp_cfg (uint32_t value, uint32_t idx)
 Write PMP Configuration to corresponding PMP_CFG register. More...
 
void write_pmp_addr (uint32_t value, uint32_t idx)
 Write PMP address to corresponding PMP_ADDR register. More...
 
uint32_t read_pmp_addr (uint32_t idx)
 Read PMP address entry. More...
 
uint32_t read_pma_cfg (uint32_t idx)
 Read PMA configuration. More...
 
void write_pma_cfg (uint32_t value, uint32_t idx)
 Write PMA Configuration to corresponding PMA_CFG register. More...
 
void write_pma_addr (uint32_t value, uint32_t idx)
 Write PMA address to corresponding PMA_ADDR register. More...
 
uint32_t read_pma_addr (uint32_t idx)
 Read PMA address entry. More...
 
hpm_stat_t pmp_config_entry (const pmp_entry_t *entry, uint32_t entry_index)
 Configure PMP and PMA for specified PMP/PMA entry. More...
 
hpm_stat_t pmp_config (const pmp_entry_t *entry, uint32_t num_of_entries)
 Configure PMP and PMA based on the PMP entry list. More...
 
void pmp_disable (void)
 Disable PMP and PMA. More...
 

Function Documentation

◆ pmp_config()

hpm_stat_t pmp_config ( const pmp_entry_t entry,
uint32_t  num_of_entries 
)

Configure PMP and PMA based on the PMP entry list.

Parameters
entrystart of the PMP entry list
num_of_entriesNumber of entries in the PMP entry list
Return values
status_invalid_argumentInvalid Arguments were detected
status_successConfiguration completed without errors

◆ pmp_config_entry()

hpm_stat_t pmp_config_entry ( const pmp_entry_t entry,
uint32_t  entry_index 
)

Configure PMP and PMA for specified PMP/PMA entry.

Parameters
[in]entryPMP entry
entry_indexPMP/PMA entry index
Return values
status_invalid_argumentInvalid Arguments were detected
status_successConfiguration completed without errors

◆ pmp_disable()

void pmp_disable ( void  )

Disable PMP and PMA.

◆ read_pma_addr()

uint32_t read_pma_addr ( uint32_t  idx)

Read PMA address entry.

Parameters
idxPMA address entry index, valid value is 0-15
Returns
PMA address

◆ read_pma_cfg()

uint32_t read_pma_cfg ( uint32_t  idx)

Read PMA configuration.

Parameters
idxPMA entry index
Returns
PMA configuration

◆ read_pmp_addr()

uint32_t read_pmp_addr ( uint32_t  idx)

Read PMP address entry.

Parameters
idxPMP address entry index
Returns
PMP address

◆ read_pmp_cfg()

uint32_t read_pmp_cfg ( uint32_t  idx)

Read PMP configuration.

Parameters
idxPMP entry index
Returns
PMP configuration

◆ write_pma_addr()

void write_pma_addr ( uint32_t  value,
uint32_t  idx 
)

Write PMA address to corresponding PMA_ADDR register.

Parameters
valuePMA address
idxPMA address entry index, valid value is 0-15

◆ write_pma_cfg()

void write_pma_cfg ( uint32_t  value,
uint32_t  idx 
)

Write PMA Configuration to corresponding PMA_CFG register.

Parameters
valuePMA configuration
idxPMA entry index, valid value is 0-15

◆ write_pmp_addr()

void write_pmp_addr ( uint32_t  value,
uint32_t  idx 
)

Write PMP address to corresponding PMP_ADDR register.

Parameters
valuePMP address
idxPMP address entry index, valid value is 0-15

◆ write_pmp_cfg()

void write_pmp_cfg ( uint32_t  value,
uint32_t  idx 
)

Write PMP Configuration to corresponding PMP_CFG register.

Parameters
valuePMP configuration
idxPMP entry index, valid value is 0-15