Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stable_20.3.x.FOME: merge upstream ChibiOS stable_20.3.x branch #6

Open
wants to merge 54 commits into
base: stable_20.3.x.FOME
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
2821d16
Fixed bug #1235.
gdisirio Sep 18, 2022
de39418
Fixed bug #1234.
gdisirio Sep 18, 2022
d17179f
Fixed bug #1236.
gdisirio Sep 18, 2022
6b5ae2a
Fixed bug #1237.
gdisirio Sep 18, 2022
93176a5
Fixed bug #1240.
gdisirio Oct 22, 2022
2f56f67
Fixed bug #1241.
gdisirio Nov 20, 2022
4a52632
Fixed bug #1242.
gdisirio Nov 20, 2022
7cc8f15
Fixed bug #1243.
gdisirio Nov 20, 2022
9765a0c
Improved WolfSSL bindings.
gdisirio Nov 25, 2022
6cc1119
Fixed bug #1244.
gdisirio Dec 8, 2022
956e949
Fixed bug #1245.
gdisirio Dec 8, 2022
b4ccd4f
Fixed bug #1246.
gdisirio Dec 8, 2022
03f0bd8
Fixed bug #1247.
gdisirio Dec 9, 2022
28bd6db
Small fix to the shell.
gdisirio Dec 18, 2022
66d5a0c
Fixed bug #1251.
gdisirio Mar 2, 2023
ca2dfc5
Fixed harmless warning with GCC 12.
gdisirio Mar 3, 2023
f6fe09b
Fixed bug #1252.
gdisirio Mar 3, 2023
44ee205
Fixed bug #1253.
gdisirio Mar 4, 2023
987b26f
More bug #1252.
gdisirio Mar 4, 2023
2561fd6
Fixed bug #1256.
gdisirio Mar 4, 2023
e7e78a5
Fixed bug #1258.
gdisirio Apr 2, 2023
360cc0c
Tentative fix for F401 I2S PLL.
gdisirio Apr 4, 2023
14fb62e
Small fix to STM32F4xx EFL driver.
gdisirio Apr 11, 2023
011ea87
Tentative USBv1 and USBv2 fix about wrong size of PMA buffers larger …
gdisirio Apr 11, 2023
7fcf0f5
Tentative BOARD_OTG_NOVBUSSENS fix for STM32 OTGv1 driver.
gdisirio Apr 14, 2023
6fb6e2f
Fixed bug #1261.
gdisirio Apr 25, 2023
5aec7c2
Fixed bug #1263.
gdisirio Apr 25, 2023
778d38e
Wrong patch.
gdisirio Apr 26, 2023
38460fa
Fixed bug #1265.
gdisirio May 27, 2023
c8f9175
Documentation improvement.
gdisirio May 27, 2023
5470978
Fixed some device description strings.
gdisirio May 28, 2023
f9c5e95
Fixed a possible name conflict in oslib.mk.
gdisirio Jun 19, 2023
7e34aea
Explicit LTO mode.
gdisirio Jul 2, 2023
deaa86b
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio Jul 2, 2023
214fede
Fixed OSLIB makefile regression.
gdisirio Jul 8, 2023
7557146
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio Jul 8, 2023
f15055f
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio Jul 8, 2023
6049000
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio Jul 25, 2023
dd0783c
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio Jul 26, 2023
fed7a82
Fixed extra parameter in some RCC macros.
gdisirio Dec 2, 2023
1977b8c
External removed.
gdisirio Dec 5, 2023
f944e2d
Fixed bug #1277.
gdisirio Dec 24, 2023
6ffc244
Fixed bug #1269.
gdisirio Dec 24, 2023
09eb5c2
Fixed bug #1274.
gdisirio Dec 24, 2023
49af7fd
Fixed bug #1288.
gdisirio Aug 14, 2024
f66b3dc
Recursive locks in RT and NIL made optional, only enabled if the unde…
gdisirio Aug 16, 2024
70eec9d
LWIP fix related to possible systick frequencies.
gdisirio Aug 28, 2024
b669493
Fixed bug 1292.
gdisirio Oct 11, 2024
bdf7bf1
Fixed wrong condition in sdcErase().
gdisirio Oct 14, 2024
d3666fb
Small registry fix for STM32F7xx CRC.
gdisirio Oct 14, 2024
85424e7
STM32 OTGv1 ULPI fix.
gdisirio Oct 14, 2024
071bdc0
Fixed bug 1293.
gdisirio Nov 30, 2024
eb0d0fb
Fixed partial patch, removed an extra check.
gdisirio Dec 15, 2024
08b01ef
Merge remote-tracking branch 'ChibiOS/stable_20.3.x' into stable_20.3…
nmschulte Jan 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion demos/STM32/RT-STM32F042K6-NUCLEO32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# Compiler options here.
ifeq ($(USE_OPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
USE_OPT = -Os -ggdb -fomit-frame-pointer -falign-functions=16
endif

# C specific options here (added to USE_OPT).
Expand Down
2 changes: 1 addition & 1 deletion demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# Compiler options here.
ifeq ($(USE_OPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
USE_OPT = -Os -ggdb -fomit-frame-pointer -falign-functions=16
endif

# C specific options here (added to USE_OPT).
Expand Down
5 changes: 5 additions & 0 deletions demos/STM32/RT-STM32L053-DISCOVERY/cfg/mcuconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,16 +125,21 @@
*/
#define STM32_I2C_USE_I2C1 FALSE
#define STM32_I2C_USE_I2C2 FALSE
#define STM32_I2C_USE_I2C3 FALSE
#define STM32_I2C_BUSY_TIMEOUT 50
#define STM32_I2C_I2C1_IRQ_PRIORITY 3
#define STM32_I2C_I2C2_IRQ_PRIORITY 3
#define STM32_I2C_I2C3_IRQ_PRIORITY 3
#define STM32_I2C_USE_DMA TRUE
#define STM32_I2C_I2C1_DMA_PRIORITY 1
#define STM32_I2C_I2C2_DMA_PRIORITY 1
#define STM32_I2C_I2C3_DMA_PRIORITY 1
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")

/*
Expand Down
5 changes: 5 additions & 0 deletions demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/mcuconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,16 +125,21 @@
*/
#define STM32_I2C_USE_I2C1 FALSE
#define STM32_I2C_USE_I2C2 FALSE
#define STM32_I2C_USE_I2C3 FALSE
#define STM32_I2C_BUSY_TIMEOUT 50
#define STM32_I2C_I2C1_IRQ_PRIORITY 3
#define STM32_I2C_I2C2_IRQ_PRIORITY 3
#define STM32_I2C_I2C3_IRQ_PRIORITY 3
#define STM32_I2C_USE_DMA TRUE
#define STM32_I2C_I2C1_DMA_PRIORITY 1
#define STM32_I2C_I2C2_DMA_PRIORITY 1
#define STM32_I2C_I2C3_DMA_PRIORITY 1
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")

/*
Expand Down
21 changes: 19 additions & 2 deletions os/common/ports/ARMCMx/chcore_v6m.h
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,23 @@ struct port_context {
}
#endif

/**
* @brief Returns a word representing a critical section status.
*
* @return The critical section status.
*/
#define port_get_lock_status() __port_get_irq_status()

/**
* @brief Determines if in a critical section.
*
* @param[in] sts status word returned by @p port_get_lock_status()
* @return The current status.
* @retval false if running outside a critical section.
* @retval true if running within a critical section.
*/
#define port_is_locked(sts) !__port_irq_enabled(sts)

/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
Expand All @@ -351,7 +368,7 @@ extern "C" {
*
* @return The interrupts status.
*/
static inline syssts_t port_get_irq_status(void) {
static inline syssts_t __port_get_irq_status(void) {

return (syssts_t)__get_PRIMASK();
}
Expand All @@ -365,7 +382,7 @@ static inline syssts_t port_get_irq_status(void) {
* @retval false the word specified a disabled interrupts status.
* @retval true the word specified an enabled interrupts status.
*/
static inline bool port_irq_enabled(syssts_t sts) {
static inline bool __port_irq_enabled(syssts_t sts) {

return (sts & (syssts_t)1) == (syssts_t)0;
}
Expand Down
21 changes: 19 additions & 2 deletions os/common/ports/ARMCMx/chcore_v7m.h
Original file line number Diff line number Diff line change
Expand Up @@ -591,6 +591,23 @@ struct port_context {
#endif
#endif

/**
* @brief Returns a word representing a critical section status.
*
* @return The critical section status.
*/
#define port_get_lock_status() __port_get_irq_status()

/**
* @brief Determines if in a critical section.
*
* @param[in] sts status word returned by @p port_get_lock_status()
* @return The current status.
* @retval false if running outside a critical section.
* @retval true if running within a critical section.
*/
#define port_is_locked(sts) !__port_irq_enabled(sts)

/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
Expand Down Expand Up @@ -620,7 +637,7 @@ extern "C" {
*
* @return The interrupts status.
*/
__STATIC_FORCEINLINE syssts_t port_get_irq_status(void) {
__STATIC_FORCEINLINE syssts_t __port_get_irq_status(void) {
syssts_t sts;

#if CORTEX_SIMPLIFIED_PRIORITY == FALSE
Expand All @@ -640,7 +657,7 @@ __STATIC_FORCEINLINE syssts_t port_get_irq_status(void) {
* @retval false the word specified a disabled interrupts status.
* @retval true the word specified an enabled interrupts status.
*/
__STATIC_FORCEINLINE bool port_irq_enabled(syssts_t sts) {
__STATIC_FORCEINLINE bool __port_irq_enabled(syssts_t sts) {

#if CORTEX_SIMPLIFIED_PRIORITY == FALSE
return sts == (syssts_t)CORTEX_BASEPRI_DISABLED;
Expand Down
43 changes: 17 additions & 26 deletions os/common/ports/templates/chcore.h
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,23 @@ struct port_context {
}
#endif

/**
* @brief Returns a word representing a critical section status.
*
* @return The critical section status.
*/
#define port_get_lock_status() 0U

/**
* @brief Determines if in a critical section.
*
* @param[in] sts status word returned by @p port_get_lock_status()
* @return The current status.
* @retval false if running outside a critical section.
* @retval true if running within a critical section.
*/
#define port_is_locked(sts) ((sts) != 0U)

/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
Expand Down Expand Up @@ -313,32 +330,6 @@ extern "C" {
asm module.*/
#if !defined(_FROM_ASM_)

/**
* @brief Returns a word encoding the current interrupts status.
*
* @return The interrupts status.
*/
static inline syssts_t port_get_irq_status(void) {

return 0;
}

/**
* @brief Checks the interrupt status.
*
* @param[in] sts the interrupt status word
*
* @return The interrupt status.
* @retval false the word specified a disabled interrupts status.
* @retval true the word specified an enabled interrupts status.
*/
static inline bool port_irq_enabled(syssts_t sts) {

(void)sts;

return false;
}

/**
* @brief Determines the current execution context.
*
Expand Down
2 changes: 1 addition & 1 deletion os/common/startup/ARM/compilers/GCC/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ endif

# Link time optimizations
ifeq ($(USE_LTO),yes)
OPT += -flto
OPT += -flto=auto
endif

# Undefined state stack size
Expand Down
Loading