NetBurner 3.5.0
PDF Version
 
hal.h File Reference

NetBurner Hardware Abstraction Layer (HAL) More...

#include <stdint.h>
#include <crypto/ssl.h>
#include <crypto/wolfssl/ssl.h>

Go to the source code of this file.

Functions

void HardwareSetup ()
 Initializes the system hardware such as the timer, cache and clock speed.
 
void PostConfigHardwareInit ()
 Initializes the system hardware that depend on config variables such as the watchdog.
 
void ForceReboot (bool bFromException=false)
 Forces the system hardware to perform a soft reset.
 
int HalStorage_Save (uint8_t area, void *pData, int len, int offset=0)
 Save a blob to a specific persistent storage area as defined by the platform. This routine will perform all storage maintenance routines necessary to ensure a valid write.
 
int HalStorage_SavePartial (uint8_t area, void *pData, int len, int offset)
 Save a blob to a specific persistent storage area as defined by the platform. This routine requires that any maintenance required for a valid write be explicitly performed prior to being called.
 
int HalStorage_Prepare (uint8_t area, int len, int offset=0)
 Prepare a storage area for writing new data. For platforms with direct flash mapping this function is an alias for HalStorage_Erase.
 
int HalStorage_Finalize (uint8_t area)
 Finalize a storage area after writing new data. This will perform any final completion or cleanup routines required to persist the previously saved data from HalStorage_SavePartial calls.
 
int HalStorage_Erase (uint8_t area, int len=-1, int offset=0)
 Erase all or part of a storage area. Note: due to physical storage granularities, the total area erased may extend beyond the requested area.
 
int HalStorage_GetAllocated (uint8_t area)
 Obtain the total size allocated to the given persistent storage area.
 
int HalStorage_GetMaxAllocation (uint8_t area)
 Obtain the maximum size that may be allocated to the given persistent storage area. For direct flash mapped platforms, this is aliased to HalStorage_GetAllocated.
 
int HalStorage_RemainingSpace (uint8_t area)
 Obtain the number of remaining bytes available to be written in the given persistent storage area.
 
int HalStorage_WriteOffset (uint8_t area)
 Get the offset of the next byte that can be written in the given persistent storage area.
 
int HalStorage_AddressOffset (uint8_t area, void *pWhere)
 Get the offset within a persistent storage area of an address. A platform may map any address to any offset of its choosing for a given storage area, and my modify its behavior on an area by area basis.
 
void FlashErase (void *pWhere, int len)
 Erases the flash memory.
 
void FlashProgram (void *pWhere, void *pWhat, int len)
 Program flash memory.
 
void FlashProgramAppImage (void *pWhere, void *pWhat, int len)
 Write an application image to flash memory.
 
void DisableCache ()
 Disable the instruction and data cache.
 
void EnableCache ()
 Enable the instruction and data cache.
 
uint32_t spaceleft ()
 Report how much free unallocated space is left in dynamic memory.
 
uint16_t HalGetTickFraction (void)
 Returns the fraction of the current system time tick.
 
void StdioCheckIntc (void)
 Check STDIO interrupt sources.
 
void SysLogCheckIntc (void)
 This is just like the StdioCheckIntc() function, except that the results are displayed via UDP.
 
bool HalDeviceCertValid ()
 Determine if the stored certificate is valid.
 
uint8_t * HalGetDeviceCert ()
 Get a pointer to the stored certificate.
 
uint16_t HalGetDeviceCertLen ()
 Get the length of the stored certificate.
 
uint8_t * HalGetDeviceKey ()
 Get a pointer to the stored certificate.
 
uint16_t HalGetDeviceKeyLen ()
 Get the length of the stored key.
 
bool HalSaveNewDeviceCert (const uint8_t *cert, uint16_t certlen, uint8_t format=SSL_FILETYPE_PEM)
 Save a device certificate in persistent storage.
 
bool HalSaveNewDeviceKey (const uint8_t *key, uint16_t keylen, uint8_t format=SSL_FILETYPE_PEM)
 Save a device key in persistent storage.
 
void HalEraseDeviceCertAndKey ()
 Clear the device certificate and key from persistent storage.
 

Variables

void(* watchdog_service_function )(void)
 Watchdog callback service function.
 
uint32_t HalTickMaxCount
 Rollover value for the system hardware tick timer.
 

Detailed Description

NetBurner Hardware Abstraction Layer (HAL)