mirror of
https://github.com/elua/elua.git
synced 2025-01-08 20:56:17 +08:00
3612e87224
Generic info/eLua interrupt handlers: using interrupt handlers from Lua and C Platform interface/CPU: updated CPU platform interface Platform interface/Timers: updated timers platform interface Generic modules/cpu: updated CPU module documentation Generic modules/tmr: updated timer module documentation eLua internals/Overview/Implementing interrupts: interrupt handlers implementation guide Also minor bugfixes in the interrupt implementation.
85 lines
3.3 KiB
Lua
85 lines
3.3 KiB
Lua
-- eLua platform interface - CPU
|
|
|
|
data_en =
|
|
{
|
|
-- Title
|
|
title = "eLua platform interface - CPU",
|
|
|
|
-- Menu name
|
|
menu_name = "CPU",
|
|
|
|
-- Overview
|
|
overview = "This part of the platform interface groups functions related to the CPU and its functional modules (interrupt controller, memory controller and others).",
|
|
|
|
-- Functions
|
|
funcs =
|
|
{
|
|
{ sig = "int #platform_cpu_set_global_interrupts#( int status );",
|
|
desc = "Set or clear the global interrupt flag of the CPU.",
|
|
args = "$status$ - $PLATFORM_CPU_ENABLE$ to set the global interrupt flag or $PLATFORM_CPU_DISABLE$ to clear the global interrupt flag.",
|
|
ret = "the previous value of the global interrupt flag (1 if set, 0 otherwise)."
|
|
},
|
|
|
|
{ sig = "int #platform_cpu_get_global_interrupts#();",
|
|
desc = "Get the value of the global interrupt flag of the CPU.",
|
|
ret = "the value of the global interrupt flag (1 if set, 0 otherwise)."
|
|
},
|
|
|
|
{ sig = "int #platform_cpu_set_interrupt#( elua_int_id id, elua_int_resnum resnum, int status );",
|
|
desc = "Enable or disable a specific CPU interrupt for a given resource ID.",
|
|
args =
|
|
{
|
|
"$id$ - the interrupt ID, as defined in %platform_conf.h%.",
|
|
"$resnum$ - the resource ID.",
|
|
"$status$ - $PLATFORM_CPU_ENABLE to enable the interrupt or $PLATFORM_CPU_DISABLE$ to disable the interrupt.",
|
|
},
|
|
ret =
|
|
{
|
|
"$PLATFORM_INT_INVALID$ - invalid interrupt ID",
|
|
"$PLATFORM_INT_NOT_HANDLED$ - this interrupt cannot be enabled/disabled",
|
|
"$PLATFORM_INT_BAD_RESNUM$ - this resource ID can't be used to enable/disable the interrupt",
|
|
"the previous status of the interrupt (1 if enabled, 0 otherwise) if no error occured."
|
|
}
|
|
},
|
|
|
|
{ sig = "int #platform_cpu_get_interrupt#( elua_int_id id, elua_int_resnum resnum );",
|
|
desc = "Get the interrupt enabled status of a specific CPU interrupt for a given resource ID.",
|
|
args =
|
|
{
|
|
"$id$ - the interrupt ID, as defined in %platform_conf.h%",
|
|
"$resnum$ - the resource ID"
|
|
},
|
|
ret =
|
|
{
|
|
"$PLATFORM_INT_INVALID$ - invalid interrupt ID",
|
|
"$PLATFORM_INT_NOT_HANDLED$ - this interrupt cannot be enabled/disabled",
|
|
"$PLATFORM_INT_BAD_RESNUM$ - this resource ID can't be used to enable/disable the interrupt",
|
|
"the status of the interrupt (1 if enabled, 0 otherwise) if no error occured."
|
|
}
|
|
},
|
|
|
|
{ sig = "int #platform_cpu_get_interrupt_flag#( elua_int_id id, elua_int_resnum resnum, int clear );",
|
|
desc = "Return the interrupt pending flag of a specific CPU interrupt or a given resource ID and optionally clear it.",
|
|
args =
|
|
{
|
|
"$id$ - the interrupt ID, as defined in %platform_conf.h%.",
|
|
"$resnum$ - the resource ID.",
|
|
"$clear$ - 1 to clear the interrupt pending flag if it is set, 0 otherwise."
|
|
},
|
|
ret =
|
|
{
|
|
"$PLATFORM_INT_INVALID$ - invalid interrupt ID.",
|
|
"$PLATFORM_INT_NOT_HANDLED$ - this interrupt's flag cannot be read.",
|
|
"$PLATFORM_INT_BAD_RESNUM$ - this resource ID can't be used to read this interrupt's flag.",
|
|
"the value of the interrupt pending flag if no error occured."
|
|
}
|
|
},
|
|
|
|
{ sig = "u32 #platform_cpu_get_frequency#();",
|
|
desc = "Get the CPU frequency.",
|
|
ret = "the CPU $core$ frequency (in Hertz)."
|
|
},
|
|
}
|
|
}
|
|
|