#include <util/delay_basic.h>
Go to the source code of this file.
◆ ZRTOS_ARCH__BYTE_ALIGNMENT
#define ZRTOS_ARCH__BYTE_ALIGNMENT (1) |
◆ ZRTOS_ARCH__BYTE_ORDER
◆ ZRTOS_ARCH__CPU_CLOCK_HZ
#define ZRTOS_ARCH__CPU_CLOCK_HZ ( ( uint32_t ) F_CPU ) |
◆ zrtos_arch__cpu_state_init
◆ ZRTOS_ARCH__DISABLE_INTERRUPTS
#define ZRTOS_ARCH__DISABLE_INTERRUPTS |
( |
| ) |
asm volatile ( "cli" :: ); |
◆ ZRTOS_ARCH__ENABLE_INTERRUPTS
#define ZRTOS_ARCH__ENABLE_INTERRUPTS |
( |
| ) |
asm volatile ( "sei" :: ); |
◆ ZRTOS_ARCH__FATAL
#define ZRTOS_ARCH__FATAL |
( |
| ) |
((void(*)(void))0)(); |
◆ ZRTOS_ARCH__FOUND
#define ZRTOS_ARCH__FOUND |
◆ ZRTOS_ARCH__GET_CPU_STATE_BUFFER_LENGTH
#define ZRTOS_ARCH__GET_CPU_STATE_BUFFER_LENGTH |
( |
| ) |
33 |
◆ ZRTOS_ARCH__GET_FN_CALL_STACK_LENGTH
#define ZRTOS_ARCH__GET_FN_CALL_STACK_LENGTH |
( |
| ) |
20 |
◆ ZRTOS_ARCH__GET_STACK_PTR
#define ZRTOS_ARCH__GET_STACK_PTR |
( |
| ) |
((void*)SP) |
◆ ZRTOS_ARCH__IS_INTERRUPTS_DISABLED
#define ZRTOS_ARCH__IS_INTERRUPTS_DISABLED |
( |
| ) |
((SREG & 0x80) == 0) |
◆ ZRTOS_ARCH__IS_INTERRUPTS_ENABLED
#define ZRTOS_ARCH__IS_INTERRUPTS_ENABLED |
( |
| ) |
((SREG & 0x80) > 0) |
◆ ZRTOS_ARCH__LOAD_CPU_STATE
#define ZRTOS_ARCH__LOAD_CPU_STATE |
( |
| ) |
|
◆ ZRTOS_ARCH__LOAD_CPU_STATE_EX
#define ZRTOS_ARCH__LOAD_CPU_STATE_EX |
( |
|
ptr | ) |
|
Value:;__asm__ __volatile__( \
"lds __tmp_reg__, %0 \n\t" \
"out __SP_L__, __tmp_reg__ \n\t" \
"lds __tmp_reg__, %0 + 1 \n\t" \
"out __SP_H__, __tmp_reg__ \n\t" \
: : "m" (ptr) \
); \
ZRTOS_ARCH__LOAD_CPU_STATE();
Definition at line 283 of file atmega2560.h.
◆ ZRTOS_ARCH__RETURN_FROM_INTERRUPT
#define ZRTOS_ARCH__RETURN_FROM_INTERRUPT |
( |
| ) |
__asm__ __volatile__("reti"); |
◆ ZRTOS_ARCH__SAVE_CPU_STATE
#define ZRTOS_ARCH__SAVE_CPU_STATE |
( |
| ) |
|
◆ ZRTOS_ARCH__SAVE_CPU_STATE_EX
#define ZRTOS_ARCH__SAVE_CPU_STATE_EX |
( |
|
ptr | ) |
|
Value: ;__asm__ __volatile__( \
"in __tmp_reg__, __SP_L__ \n\t" \
"sts %0, __tmp_reg__ \n\t" \
"in __tmp_reg__, __SP_H__ \n\t" \
"sts %0 + 1, __tmp_reg__ \n\t" \
: "=m" (ptr) \
);
#define ZRTOS_ARCH__SAVE_CPU_STATE()
Definition at line 235 of file atmega2560.h.
◆ ZRTOS_ARCH__SET_STACK_PTR
#define ZRTOS_ARCH__SET_STACK_PTR |
( |
|
ptr | ) |
(SP = (uint16_t)(ptr)) |
◆ zrtos_arch_gpio_pin_t
◆ zrtos_arch_gpio_value_analog_t
◆ zrtos_arch_stack_signed_t
◆ zrtos_arch_stack_t
◆ zrtos_arch__cpu_state_init_a()
Definition at line 152 of file atmega2560.h.
160 uint16_t usAddress = (uint16_t)callback;
171 *pxTopOfStack-- = usValue++;
174 pxTopOfStackTmp[0] = usAddress & 0x00ff;
175 pxTopOfStackTmp[-1] = (usAddress >> 8) & 0x00ff;
176 pxTopOfStackTmp[-2] = 0;
177 pxTopOfStackTmp[-3] = 0x80;
178 pxTopOfStackTmp[-4] = 0;
179 usAddress = (uint16_t)args;
180 pxTopOfStackTmp[-27] = usAddress & 0x00ff;
181 pxTopOfStackTmp[-28] = (usAddress >> 8) & 0x00ff;
uint8_t zrtos_arch_stack_t
int8_t zrtos_arch_stack_signed_t
◆ zrtos_arch__cpu_state_init_b()
Definition at line 133 of file atmega2560.h.
zrtos_arch_stack_t * zrtos_arch__cpu_state_init_helper(zrtos_arch_stack_t *pxTopOfStack, zrtos_arch_callback_t pxCode, void *pvParameters)
◆ zrtos_arch__cpu_state_init_helper()
Definition at line 51 of file atmega2560.h.
62 usAddress = ( uint16_t ) pxCode;
70 #if defined(__AVR_3_BYTE_PC__) 95 #if defined(__AVR_3_BYTE_PC__) 104 #if defined(__AVR_HAVE_RAMPZ__) 120 usAddress = ( uint16_t ) pvParameters;
uint8_t zrtos_arch_stack_t
◆ zrtos_arch__delay_microseconds()
void zrtos_arch__delay_microseconds |
( |
uint16_t |
us | ) |
|
Definition at line 296 of file atmega2560.h.
#define ZRTOS_ARCH__CPU_CLOCK_HZ
◆ zrtos_arch__delay_milliseconds()
void zrtos_arch__delay_milliseconds |
( |
uint16_t |
ms | ) |
|
Definition at line 300 of file atmega2560.h.
void zrtos_arch__delay_microseconds(uint16_t us)