VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
linux_generic.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "utilities/vsf_utilities.h"
#include "utilities/ooc_class.h"
#include "hal/arch/common/arch_without_thread_suspend/vsf_arch_without_thread_suspend_template.h"

Go to the source code of this file.

Data Structures

class  vsf_arch_irq_request_t
 
class  vsf_arch_irq_thread_t
 

Macros

#define __LITTLE_ENDIAN   1
 
#define __BYTE_ORDER   __LITTLE_ENDIAN
 
#define VSF_ARCH_PRI_NUM   1
 
#define VSF_SYSTIMER_CFG_IMPL_MODE   VSF_SYSTIMER_IMPL_REQUEST_RESPONSE
 
#define VSF_ARCH_SWI_NUM   0
 
#define VSF_ARCH_STACK_ALIGN_BIT   4
 
#define VSF_ARCH_LIMIT_NO_SET_STACK
 
#define VSF_ARCH_STACK_PAGE_SIZE   4096
 
#define VSF_ARCH_STACK_GUARDIAN_SIZE   4096
 
#define VSF_ARCH_PROVIDE_HEAP   ENABLED
 
#define VSF_ARCH_PROVIDE_ARGU   ENABLED
 
#define VSF_ARCH_PROVIDE_EXE   ENABLED
 
#define VSF_ARCH_SYSTIMER_FREQ   (1 * 1000 * 1000)
 vsf_systimer_get implementation has 1us resolution, which is 1MHz
 
#define __VSF_ARCH_PRI(__N, __BIT)
 
#define vsf_arch_wakeup()
 

Typedefs

typedef uint64_t vsf_systimer_tick_t
 
typedef enum vsf_arch_prio_t vsf_arch_prio_t
 
typedef void(* vsf_arch_irq_entry_t) (void *)
 
typedef volatile bool vsf_gint_state_t
 

Enumerations

enum  vsf_arch_prio_t {
  VSF_ARCH_PRIO_INVALID = -1 ,
  vsf_arch_prio_invalid = -1 ,
  vsf_arch_prio_highest = VSF_ARCH_PRI_NUM - 1
}
 

Functions

void __vsf_arch_irq_sleep (uint32_t ms)
 
int vsf_arch_argu (char ***argv)
 
void * vsf_arch_alloc_exe (uint_fast32_t size)
 
void vsf_arch_free_exe (void *ptr)
 
void __vsf_arch_irq_request_init (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_fini (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_pend (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_send (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_init (vsf_arch_irq_thread_t *irq_thread, char *name, vsf_arch_irq_entry_t entry, vsf_arch_prio_t priority)
 
void __vsf_arch_irq_fini (vsf_arch_irq_thread_t *irq_thread)
 
void __vsf_arch_irq_set_background (vsf_arch_irq_thread_t *irq_thread)
 
void __vsf_arch_irq_start (vsf_arch_irq_thread_t *irq_thread)
 
void __vsf_arch_irq_end (vsf_arch_irq_thread_t *irq_thread, bool is_terminate)
 
void __vsf_arch_irq_exit (vsf_arch_irq_thread_t *irq_thread)
 
vsf_err_t __vsf_arch_irq_restart (vsf_arch_irq_thread_t *irq_thread, vsf_arch_irq_request_t *request_pending)
 

Macro Definition Documentation

◆ __LITTLE_ENDIAN

#define __LITTLE_ENDIAN   1

◆ __BYTE_ORDER

#define __BYTE_ORDER   __LITTLE_ENDIAN

◆ VSF_ARCH_PRI_NUM

#define VSF_ARCH_PRI_NUM   1

◆ VSF_SYSTIMER_CFG_IMPL_MODE

#define VSF_SYSTIMER_CFG_IMPL_MODE   VSF_SYSTIMER_IMPL_REQUEST_RESPONSE

◆ VSF_ARCH_SWI_NUM

#define VSF_ARCH_SWI_NUM   0

◆ VSF_ARCH_STACK_ALIGN_BIT

#define VSF_ARCH_STACK_ALIGN_BIT   4

◆ VSF_ARCH_LIMIT_NO_SET_STACK

#define VSF_ARCH_LIMIT_NO_SET_STACK

◆ VSF_ARCH_STACK_PAGE_SIZE

#define VSF_ARCH_STACK_PAGE_SIZE   4096

◆ VSF_ARCH_STACK_GUARDIAN_SIZE

#define VSF_ARCH_STACK_GUARDIAN_SIZE   4096

◆ VSF_ARCH_PROVIDE_HEAP

#define VSF_ARCH_PROVIDE_HEAP   ENABLED

◆ VSF_ARCH_PROVIDE_ARGU

#define VSF_ARCH_PROVIDE_ARGU   ENABLED

◆ VSF_ARCH_PROVIDE_EXE

#define VSF_ARCH_PROVIDE_EXE   ENABLED

◆ VSF_ARCH_SYSTIMER_FREQ

#define VSF_ARCH_SYSTIMER_FREQ   (1 * 1000 * 1000)

vsf_systimer_get implementation has 1us resolution, which is 1MHz

◆ __VSF_ARCH_PRI

#define __VSF_ARCH_PRI (   __N,
  __BIT 
)
Value:
VSF_ARCH_PRIO_##__N = (__N), \
vsf_arch_prio_##__N = (__N),

◆ vsf_arch_wakeup

#define vsf_arch_wakeup (   void)

Typedef Documentation

◆ vsf_systimer_tick_t

◆ vsf_arch_prio_t

◆ vsf_arch_irq_entry_t

typedef void(* vsf_arch_irq_entry_t) (void *)

◆ vsf_gint_state_t

typedef volatile bool vsf_gint_state_t

Enumeration Type Documentation

◆ vsf_arch_prio_t

Enumerator
VSF_ARCH_PRIO_INVALID 
vsf_arch_prio_invalid 
vsf_arch_prio_highest 

Function Documentation

◆ __vsf_arch_irq_sleep()

void __vsf_arch_irq_sleep ( uint32_t  ms)
extern

◆ vsf_arch_argu()

int vsf_arch_argu ( char ***  argv)
extern

◆ vsf_arch_alloc_exe()

void * vsf_arch_alloc_exe ( uint_fast32_t  size)
extern

◆ vsf_arch_free_exe()

void vsf_arch_free_exe ( void *  ptr)
extern

◆ __vsf_arch_irq_request_init()

void __vsf_arch_irq_request_init ( vsf_arch_irq_request_t request)
extern

◆ __vsf_arch_irq_request_fini()

void __vsf_arch_irq_request_fini ( vsf_arch_irq_request_t request)
extern

◆ __vsf_arch_irq_request_pend()

void __vsf_arch_irq_request_pend ( vsf_arch_irq_request_t request)
extern

◆ __vsf_arch_irq_request_send()

void __vsf_arch_irq_request_send ( vsf_arch_irq_request_t request)
extern

◆ __vsf_arch_irq_init()

void __vsf_arch_irq_init ( vsf_arch_irq_thread_t irq_thread,
char *  name,
vsf_arch_irq_entry_t  entry,
vsf_arch_prio_t  priority 
)
extern

◆ __vsf_arch_irq_fini()

void __vsf_arch_irq_fini ( vsf_arch_irq_thread_t irq_thread)
extern

◆ __vsf_arch_irq_set_background()

void __vsf_arch_irq_set_background ( vsf_arch_irq_thread_t irq_thread)
extern

◆ __vsf_arch_irq_start()

void __vsf_arch_irq_start ( vsf_arch_irq_thread_t irq_thread)
extern

◆ __vsf_arch_irq_end()

void __vsf_arch_irq_end ( vsf_arch_irq_thread_t irq_thread,
bool  is_terminate 
)
extern

◆ __vsf_arch_irq_exit()

void __vsf_arch_irq_exit ( vsf_arch_irq_thread_t irq_thread)
extern

◆ __vsf_arch_irq_restart()

vsf_err_t __vsf_arch_irq_restart ( vsf_arch_irq_thread_t irq_thread,
vsf_arch_irq_request_t request_pending 
)
extern