Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
The format of "field : value" is obsolete. The proper syntax is
".field = value"
In SMP systems, the interrupt handler may run concurrently with tasks
trying to transmit. Properly protect the transmit state through the
device lock. Simplify the transmit process.
Close#5552.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
GCC 16 flagged this while GCC 15 did not. On some targets, the
macros used to ensure the floating point context was fully in
use with task specific values would result in set but unused
warnings. Tweaked the tests and macros as needed to eliminate
the warnings.
GCC 16 flagged this while GCC 15 did not. Because the code was
using the "temp" variable in what appeared to be delay loops,
added the "(void) temp" hint to avoid the warning.
GCC 16 flagged this while GCC 15 did not. Because the code was
using the "temp" variable in what appeared to be delay loops,
added the "(void) temp" hint to avoid the warning.
This commit renames function rtems_ctucanfd_initialize to
rtems_can_ctucanfd_initialize. It standardizes the naming for CAN
controllers to always begin with rtems_can_ (similar to virtual
controller or sja1000 at the moment under review).
This is an API breaking change.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
GCC 16 flagged this while GCC 15 did not. Because the variable was
used only when ACPI_DEBUG_PRINT() was defined to print, there was
no way to conditionalize the presence of the variable.
Added the "(void) NumCarats" hint to avoid the warning.
GCC 16 flagged this while GCC 15 did not. Because the code was in
an area which was only enabled for debug, the modification disabled
the entire debug code block and added the "(void) gpr" hint.
Fix the this compiler error introduced by commit
d9de3dac5d:
bsps/sparc/leon3/start/amba.c: In function 'amba_initialize':
bsps/sparc/leon3/start/amba.c:221:32: error: passing argument 1 of
'grlib_store_32' makes pointer from integer without a cast
[-Wint-conversion]
221 | grlib_store_32(timer_regs->sreload, leon3_timer_prescaler);
Tested with the following config.ini:
[sparc/gr740]
LEON3_GPTIMER_BASE =
Update #5541.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Commit 810b2d50c9 introduced a potential
NULL pointer access in the LEON3 timer initialization. Fix the
initialization order.
Update #5541.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This adds a BSP for the ESP32-C3 with external flash. This BSP can use
the USB serial interface or UART0 as the debug console and supports
interrups along with the SYSTIMER clock source.
The MDT bit is defined by the Smdbltrp extension which is dependent on
the Zicsr extension, so if zicsr is not present then neither is
Smdbltrp. Smdbltrp also introduces mstatush on rv32, so this entire
block must be skipped if Zicsr is not present.
This adds a callback early in the RISC-V startup process that allows a
BSP to copy linker sections in situations where they may not be
automatically mapped.
The content may end up in documentation sources, for this CC-BY-SA-4.0
is required.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Use the configuration values for RISCV_RAM_REGION_BEGIN and
RISCV_RAM_REGION_SIZE to determine the workspace instead of
using the FDT or linker variables.
Fixes#5545.
Where LEON3_GPTIMER_BASE was defined, the finding and initialization of
the timer devices was disabled. However, this code block has an
important side-effect. It initializes all frequencies of the device
tree. Make sure this part is done even if a dynamic initialization of
LEON3_Timer_Adev and LEON3_Timer_Regs is not required.
Close#5541.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
The original internal SRAM build variant (tms570ls3137_hdk_intram)
has been used heavily during our initial TMS570 BSP development.
It is much faster then Flash application erase and update
and it prolongs kit usability as the guaranteed erase/write
cycles count is low (1000) for TMS570 used Flash technology.
The problem manifested when I have prepared tms570lc4357_hdk_intram
variant to help in #5537 with start of TMS570 development project
and environment.
HWINIT for internal SRAM build is enabled by
--- a/spec/build/bsps/arm/tms570/objhwinitlc4357hdk.yml
+++ b/spec/build/bsps/arm/tms570/objhwinitlc4357hdk.yml
@@ -5,7 +5,9 @@ copyrights:
- Copyright (C) 2023 embedded brains GmbH & Co. KG
cppflags: []
cxxflags: []
-enabled-by: arm/tms570lc4357_hdk
+enabled-by:
+ - arm/tms570lc4357_hdk
+ - arm/tms570lc4357_hdk_intram
includes: []
install: []
links: []
--- a/spec/build/bsps/arm/tms570/optlowinit.yml
+++ b/spec/build/bsps/arm/tms570/optlowinit.yml
@@ -10,6 +10,7 @@ default:
- enabled-by:
- arm/tms570ls3137_hdk
- arm/tms570lc4357_hdk
+ - arm/tms570lc4357_hdk_intram
value: true
- enabled-by: true
value: false
Closes#5539
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
This build places all code and data into the on-chip
internal SRAM. Even though this limits the application
size and has not much use for final applications
deployment, this configuration is important during
development because the guaranteed Flash write/erase
cycle count is limited to 1000 if a 15-year data retention
guarantee is required.
The load to SRAM is much faster as well.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
The fetch() function requires a considerable amount of stack space.
Increase the stack size accordingly.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Fixed various typos and grammatical errors in the documentation
throughout the stm32f4 include folder. Additionally, updated
several incorrect register names to ensure technical accuracy.