Prusa MINI Firmware overview
|
#include "FreeRTOS.h"
#include "task.h"
◆ configSYSTICK_CLOCK_HZ
◆ portNVIC_SYSTICK_CLK_BIT
#define portNVIC_SYSTICK_CLK_BIT ( 1UL << 2UL ) |
◆ portNVIC_SYSTICK_CTRL_REG
#define portNVIC_SYSTICK_CTRL_REG ( * ( ( volatile uint32_t * ) 0xe000e010 ) ) |
◆ portNVIC_SYSTICK_LOAD_REG
#define portNVIC_SYSTICK_LOAD_REG ( * ( ( volatile uint32_t * ) 0xe000e014 ) ) |
◆ portNVIC_SYSTICK_CURRENT_VALUE_REG
#define portNVIC_SYSTICK_CURRENT_VALUE_REG ( * ( ( volatile uint32_t * ) 0xe000e018 ) ) |
◆ portNVIC_SYSPRI2_REG
#define portNVIC_SYSPRI2_REG ( * ( ( volatile uint32_t * ) 0xe000ed20 ) ) |
◆ portNVIC_SYSTICK_INT_BIT
#define portNVIC_SYSTICK_INT_BIT ( 1UL << 1UL ) |
◆ portNVIC_SYSTICK_ENABLE_BIT
#define portNVIC_SYSTICK_ENABLE_BIT ( 1UL << 0UL ) |
◆ portNVIC_SYSTICK_COUNT_FLAG_BIT
#define portNVIC_SYSTICK_COUNT_FLAG_BIT ( 1UL << 16UL ) |
◆ portNVIC_PENDSVCLEAR_BIT
#define portNVIC_PENDSVCLEAR_BIT ( 1UL << 27UL ) |
◆ portNVIC_PEND_SYSTICK_CLEAR_BIT
#define portNVIC_PEND_SYSTICK_CLEAR_BIT ( 1UL << 25UL ) |
◆ portCPUID
#define portCPUID ( * ( ( volatile uint32_t * ) 0xE000ed00 ) ) |
◆ portCORTEX_M7_r0p1_ID
#define portCORTEX_M7_r0p1_ID ( 0x410FC271UL ) |
◆ portCORTEX_M7_r0p0_ID
#define portCORTEX_M7_r0p0_ID ( 0x410FC270UL ) |
◆ portNVIC_PENDSV_PRI
◆ portNVIC_SYSTICK_PRI
◆ portFIRST_USER_INTERRUPT_NUMBER
#define portFIRST_USER_INTERRUPT_NUMBER ( 16 ) |
◆ portNVIC_IP_REGISTERS_OFFSET_16
#define portNVIC_IP_REGISTERS_OFFSET_16 ( 0xE000E3F0 ) |
◆ portAIRCR_REG
#define portAIRCR_REG ( * ( ( volatile uint32_t * ) 0xE000ED0C ) ) |
◆ portMAX_8_BIT_VALUE
#define portMAX_8_BIT_VALUE ( ( uint8_t ) 0xff ) |
◆ portTOP_BIT_OF_BYTE
#define portTOP_BIT_OF_BYTE ( ( uint8_t ) 0x80 ) |
◆ portMAX_PRIGROUP_BITS
#define portMAX_PRIGROUP_BITS ( ( uint8_t ) 7 ) |
◆ portPRIORITY_GROUP_MASK
#define portPRIORITY_GROUP_MASK ( 0x07UL << 8UL ) |
◆ portPRIGROUP_SHIFT
#define portPRIGROUP_SHIFT ( 8UL ) |
◆ portVECTACTIVE_MASK
#define portVECTACTIVE_MASK ( 0xFFUL ) |
◆ portFPCCR
#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34 ) /* Floating point context control register. */ |
◆ portASPEN_AND_LSPEN_BITS
#define portASPEN_AND_LSPEN_BITS ( 0x3UL << 30UL ) |
◆ portINITIAL_XPSR
#define portINITIAL_XPSR ( 0x01000000 ) |
◆ portINITIAL_EXEC_RETURN
#define portINITIAL_EXEC_RETURN ( 0xfffffffd ) |
◆ portMAX_24_BIT_NUMBER
#define portMAX_24_BIT_NUMBER ( 0xffffffUL ) |
◆ portSTART_ADDRESS_MASK
#define portSTART_ADDRESS_MASK ( ( StackType_t ) 0xfffffffeUL ) |
◆ portMISSED_COUNTS_FACTOR
#define portMISSED_COUNTS_FACTOR ( 45UL ) |
◆ portTASK_RETURN_ADDRESS
◆ vPortSetupTimerInterrupt()
◆ xPortPendSVHandler() [1/2]
◆ prvTaskExitError()
◆ vPortSVCHandler()
276 " ldr r3, pxCurrentTCBConst2 \n"
279 " ldmia r0!, {r4-r11, r14} \n"
283 " msr basepri, r0 \n"
287 "pxCurrentTCBConst2: .word pxCurrentTCB \n"
◆ prvPortStartFirstTask()
static void prvPortStartFirstTask |
( |
void |
| ) |
|
|
static |
295 " ldr r0, =0xE000ED08 \n"
◆ xPortStartScheduler()
324 #if( configASSERT_DEFINED == 1 )
326 volatile uint32_t ulOriginalPriority;
328 volatile uint8_t ucMaxPriorityValue;
336 ulOriginalPriority = *pucFirstUserPriorityRegister;
343 ucMaxPriorityValue = *pucFirstUserPriorityRegister;
353 ulMaxPRIGROUPValue--;
354 ucMaxPriorityValue <<= (
uint8_t ) 0x01;
364 *pucFirstUserPriorityRegister = ulOriginalPriority;
◆ vPortEndScheduler()
◆ vPortEnterCritical()
◆ vPortExitCritical()
◆ xPortPendSVHandler() [2/2]
444 " ldr r3, pxCurrentTCBConst \n"
449 " vstmdbeq r0!, {s16-s31} \n"
451 " stmdb r0!, {r4-r11, r14} \n"
455 " stmdb sp!, {r3} \n"
457 " msr basepri, r0 \n"
460 " bl vTaskSwitchContext \n"
462 " msr basepri, r0 \n"
463 " ldmia sp!, {r3} \n"
468 " ldmia r0!, {r4-r11, r14} \n"
472 " vldmiaeq r0!, {s16-s31} \n"
477 #ifdef WORKAROUND_PMU_CM001
478 #if WORKAROUND_PMU_CM001 == 1
487 "pxCurrentTCBConst: .word pxCurrentTCB \n"
◆ xPortSysTickHandler()
◆ __attribute__()
674 #if configUSE_TICKLESS_IDLE == 1
◆ vPortEnableVFP()
693 " ldr.w r0, =0xE000ED88 \n"
696 " orr r1, r1, #( 0xf << 20 ) \n"
◆ uxCriticalNesting
#define configCPU_CLOCK_HZ
Definition: FreeRTOSConfig.h:108
#define configASSERT(x)
Definition: FreeRTOSConfig.h:162
#define portNVIC_SYSTICK_INT_BIT
Definition: port.c:98
#define portCORTEX_M7_r0p0_ID
Definition: port.c:108
#define portPRIGROUP_SHIFT
Definition: port.c:121
#define portCORTEX_M7_r0p1_ID
Definition: port.c:107
#define portNVIC_PENDSV_PRI
Definition: port.c:110
static void prvTaskExitError(void)
Definition: port.c:259
#define portNVIC_SYSTICK_PRI
Definition: port.c:111
#define portFPCCR
Definition: port.c:127
#define portNVIC_SYSTICK_LOAD_REG
Definition: port.c:94
#define portCPUID
Definition: port.c:106
#define portNVIC_SYSTICK_ENABLE_BIT
Definition: port.c:99
#define pdFALSE
Definition: projdefs.h:86
#define portDISABLE_INTERRUPTS()
Definition: portmacro.h:143
#define portNVIC_PENDSVSET_BIT
Definition: portmacro.h:133
#define portMAX_8_BIT_VALUE
Definition: port.c:117
portSTACK_TYPE StackType_t
Definition: portmacro.h:97
#define portTASK_RETURN_ADDRESS
Definition: port.c:152
PRIVILEGED_FUNCTION BaseType_t xTaskIncrementTick(void)
Definition: tasks.c:2499
#define configSYSTICK_CLOCK_HZ
Definition: port.c:83
#define configMAX_SYSCALL_INTERRUPT_PRIORITY
Definition: FreeRTOSConfig.h:157
static UBaseType_t uxCriticalNesting
Definition: port.c:157
const uint8_t[]
Definition: 404_html.c:3
#define portMISSED_COUNTS_FACTOR
Definition: port.c:144
#define portVECTACTIVE_MASK
Definition: port.c:124
#define portNVIC_SYSPRI2_REG
Definition: port.c:96
#define portNVIC_SYSTICK_CLK_BIT
Definition: port.c:85
#define portENABLE_INTERRUPTS()
Definition: portmacro.h:144
#define portINITIAL_XPSR
Definition: port.c:131
#define portTOP_BIT_OF_BYTE
Definition: port.c:118
void vPortSetupTimerInterrupt(void)
#define portINITIAL_EXEC_RETURN
Definition: port.c:132
#define portFIRST_USER_INTERRUPT_NUMBER
Definition: port.c:114
#define configTICK_RATE_HZ
Definition: FreeRTOSConfig.h:109
#define portMAX_24_BIT_NUMBER
Definition: port.c:135
static void prvPortStartFirstTask(void)
Definition: port.c:292
#define portMAX_PRIGROUP_BITS
Definition: port.c:119
#define portNVIC_IP_REGISTERS_OFFSET_16
Definition: port.c:115
#define portNVIC_INT_CTRL_REG
Definition: portmacro.h:132
#define portASPEN_AND_LSPEN_BITS
Definition: port.c:128
static void vPortEnableVFP(void)
Definition: port.c:689
#define portNVIC_SYSTICK_CTRL_REG
Definition: port.c:93
#define portPRIORITY_GROUP_MASK
Definition: port.c:120
#define portSTART_ADDRESS_MASK
Definition: port.c:139
#define const
Definition: zconf.h:230