mirror of
https://github.com/QuantumLeaps/qpc.git
synced 2025-01-28 07:03:10 +08:00
6.9.2a
ARM Cortex-M ports: moved ARM_ERRATUM_838869 to be unconditional in ISR exit
This commit is contained in:
parent
3a6276e77b
commit
499889baff
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EFM32-SLSTK3401A board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -144,6 +144,7 @@ void USART0_RX_IRQHandler(void) {
|
||||
uint32_t b = l_USART0->RXDATA;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART0_RX_IRQHandler(void) {}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EFM32-SLSTK3401A board, cooperative QV kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
@ -137,6 +137,7 @@ void USART0_RX_IRQHandler(void) {
|
||||
uint32_t b = l_USART0->RXDATA;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QV_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART0_RX_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EFM32-SLSTK3401A board, preemptive QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -149,6 +149,7 @@ void USART0_RX_IRQHandler(void) {
|
||||
uint32_t b = l_USART0->RXDATA;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART0_RX_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EK-TM4C123GXL board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -149,6 +149,7 @@ void UART0_IRQHandler(void) {
|
||||
uint32_t b = UART0->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void UART0_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EK-TM4C123GXL board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -149,6 +149,7 @@ void UART0_IRQHandler(void) {
|
||||
uint32_t b = UART0->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void UART0_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EK-TM4C123GXL board, cooperative QV kernel
|
||||
* Last updated for version 6.9.2
|
||||
* Last updated on 2020-12-14
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -142,6 +142,7 @@ void UART0_IRQHandler(void) {
|
||||
uint32_t b = UART0->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QV_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void UART0_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, EK-TM4C123GXL board, preemptive QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -152,6 +152,7 @@ void UART0_IRQHandler(void) {
|
||||
uint32_t b = UART0->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void UART0_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, NUCLEO-L053R8 board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -129,6 +129,7 @@ void USART2_IRQHandler(void) { /* used in QS-RX (kernel UNAWARE interrutp) */
|
||||
uint32_t b = USART2->RDR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, NUCLEO-L053R8 board, cooperative QV kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -125,6 +125,7 @@ void USART2_IRQHandler(void) { /* used in QS-RX (kernel UNAWARE interrutp) */
|
||||
uint32_t b = USART2->RDR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QV_ARM_ERRATUM_838869();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, NUCLEO-L053R8 board, preemptive QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -129,6 +129,7 @@ void USART2_IRQHandler(void) { /* used in QS-RX (kernel UNAWARE interrutp) */
|
||||
uint32_t b = USART2->RDR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, STM32 NUCLEO-L152RE board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -119,6 +119,7 @@ void USART2_IRQHandler(void) { /* kernel UNAWARE interrupt */
|
||||
uint32_t b = USART2->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, STM32 NUCLEO-L152RE board, preemptive QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -119,6 +119,7 @@ void USART2_IRQHandler(void) { /* kernel UNAWARE interrupt */
|
||||
uint32_t b = USART2->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: "DPP" example on STM32F4-Discovery board, preemptive QK kernel
|
||||
* Last Updated for Version: 6.9.1
|
||||
* Date of the Last Update: 2020-09-22
|
||||
* Last Updated for Version: 6.9.2a
|
||||
* Date of the Last Update: 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -135,6 +135,7 @@ void USART2_IRQHandler(void) {
|
||||
uint32_t b = USART2->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART2_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: "DPP" example on STM32F4-Discovery board, dual-mode QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -135,6 +135,7 @@ void USART2_IRQHandler(void) {
|
||||
uint32_t b = USART2->DR;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART2_IRQHandler(void) {}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, STM32746G-Discovery board, preemptive QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -127,6 +127,7 @@ void USART1_IRQHandler(void) {
|
||||
QS_RX_PUT(b);
|
||||
l_uartHandle.Instance->ISR &= ~USART_ISR_RXNE; /* clear interrupt */
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
/*..........................................................................*/
|
||||
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle) {
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP example, STM32746G-Discovery board, dual-mode QXK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -129,6 +129,7 @@ void USART1_IRQHandler(void) {
|
||||
QS_RX_PUT(b);
|
||||
l_uartHandle.Instance->ISR &= ~USART_ISR_RXNE; /* clear interrupt */
|
||||
}
|
||||
QXK_ARM_ERRATUM_838869();
|
||||
}
|
||||
/*..........................................................................*/
|
||||
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
* Product: "Fly 'n' Shoot" game example, EFM32-SLSTK3401A board, QK kernel
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-22
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
@ -158,6 +158,7 @@ void USART0_RX_IRQHandler(void) {
|
||||
uint32_t b = l_USART0->RXDATA;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
QK_ARM_ERRATUM_838869();
|
||||
}
|
||||
#else
|
||||
void USART0_RX_IRQHandler(void) {}
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QK/C port to ARM Cortex-M, ARM-KEIL toolset (Compiler 5)
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-23
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -55,9 +55,9 @@ static __inline uint32_t QK_get_IPSR(void) {
|
||||
QF_INT_DISABLE(); \
|
||||
if (QK_sched_() != 0U) { \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1(v6-M, v6S-M) */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QK/C port to ARM Cortex-M, ARM-CLANG toolset
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-23
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -56,9 +56,9 @@ static inline uint32_t QK_get_IPSR(void) {
|
||||
QF_INT_DISABLE(); \
|
||||
if (QK_sched_() != 0U) { \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QK/C port to ARM Cortex-M, GNU-ARM toolset
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-23
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -56,9 +56,9 @@ static inline uint32_t QK_get_IPSR(void) {
|
||||
QF_INT_DISABLE(); \
|
||||
if (QK_sched_() != 0U) { \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QK/C port to ARM Cortex-M, IAR-ARM toolset
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-23
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -49,9 +49,9 @@
|
||||
QF_INT_DISABLE(); \
|
||||
if (QK_sched_() != 0U) { \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QXK/C port to ARM Cortex-M, ARM-KEIL toolset
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-28
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -49,9 +49,8 @@ static __inline uint32_t QXK_get_IPSR(void) {
|
||||
}
|
||||
|
||||
/* trigger the PendSV exception to pefrom the context switch */
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QXK_ARM_ERRATUM_838869()
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U)
|
||||
|
||||
/* QXK ISR entry and exit */
|
||||
#define QXK_ISR_ENTRY() ((void)0)
|
||||
@ -62,6 +61,7 @@ static __inline uint32_t QXK_get_IPSR(void) {
|
||||
QXK_CONTEXT_SWITCH_(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QXK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1(v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QXK/C port to ARM Cortex-M, ARM-CLANG compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-28
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -50,9 +50,8 @@ static inline uint32_t QXK_get_IPSR(void) {
|
||||
}
|
||||
|
||||
/* trigger the PendSV exception to pefrom the context switch */
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QXK_ARM_ERRATUM_838869()
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U)
|
||||
|
||||
/* QXK ISR entry and exit */
|
||||
#define QXK_ISR_ENTRY() ((void)0)
|
||||
@ -63,6 +62,7 @@ static inline uint32_t QXK_get_IPSR(void) {
|
||||
QXK_CONTEXT_SWITCH_(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QXK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QXK/C port to ARM Cortex-M, GNU-ARM compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-28
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -50,9 +50,8 @@ static inline uint32_t QXK_get_IPSR(void) {
|
||||
}
|
||||
|
||||
/* trigger the PendSV exception to pefrom the context switch */
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QXK_ARM_ERRATUM_838869()
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U)
|
||||
|
||||
/* QXK ISR entry and exit */
|
||||
#define QXK_ISR_ENTRY() ((void)0)
|
||||
@ -63,6 +62,7 @@ static inline uint32_t QXK_get_IPSR(void) {
|
||||
QXK_CONTEXT_SWITCH_(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QXK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
@ -3,14 +3,14 @@
|
||||
* @brief QXK/C port to ARM Cortex-M, IAR-ARM compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 6.9.1
|
||||
* Last updated on 2020-09-28
|
||||
* Last updated for version 6.9.2a
|
||||
* Last updated on 2021-01-31
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -43,9 +43,8 @@
|
||||
#define QXK_ISR_CONTEXT_() (__get_IPSR() != 0U)
|
||||
|
||||
/* trigger the PendSV exception to pefrom the context switch */
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
|
||||
QXK_ARM_ERRATUM_838869()
|
||||
#define QXK_CONTEXT_SWITCH_() \
|
||||
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U)
|
||||
|
||||
/* QXK ISR entry and exit */
|
||||
#define QXK_ISR_ENTRY() ((void)0)
|
||||
@ -56,6 +55,7 @@
|
||||
QXK_CONTEXT_SWITCH_(); \
|
||||
} \
|
||||
QF_INT_ENABLE(); \
|
||||
QXK_ARM_ERRATUM_838869(); \
|
||||
} while (false)
|
||||
|
||||
#if (__CORE__ == __ARM6M__) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */
|
||||
|
Loading…
x
Reference in New Issue
Block a user