Updated comments and documentation files across the bsps directory
to replace obsolete references to libbsp with their new locations
in the bsps directory.
Updates #5323
The driver referenced the old libbsp/shared/console.c path in a
documentation comment. Updated it to point to the new location
in bsps/shared/dev/serial/legacy-console.c.
Updates #5323
The GCC warning -Wenum-conversion flagged the call to
_Core_message_queue_Submit() as returning a Status_Control
but the caller assigned it to a variable of type rtems_status_code.
The GCC warning -Wenum-conversion flagged assigning the return value
from _Objects_Name_to_id_u32 to an rtems_status_code variable. It
returns a Status_Control value.
The GCC warning -Wenum-conversion flagged the function
i2c_transfer_wait_sema() which was treated as returning a mix of
rtems_status_code and i2c_message_status. Changed to return an
rtems_status_code uniformly.
Add AXI timer definitions and a BSP btimer implementation and
install them in the microblaze_fpga BSP.
Co-authored-by: Alex White <alex.white@oarcorp.com>
Added the implementation of timespec_get() with tests.
The implementation used clock_gettime() as a reference.
The tests used psxtimes01 as a reference.
Updates
rtems/programs/gsoc#69
In order for the linker to pick the correct soft-float libraries when
building for a target without an FPU the -msoft-float flag needs to be
present.
This is already the case in the pkg-config file where ABI_FLAGS are
included in Ldflags:
Ldflags: ${ABI_FLAGS} -B${libdir} -qrtems -Wl,--gc-sections
But this is not present in the custom make includes:
LDFLAGS = -B$(exec_prefix)/$(RTEMS_BSP)/lib -qrtems -Wl,--gc-sections
The RTEMS template make rule for linking includes all of CFLAGS:
define bsp-link-c
$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
endef
The standard (GNU) built-in make rule for linking does not include
CFLAGS when linking:
$(CC) $(LDFLAGS) $* $(LOADLIBES) $(LDLIBS) -o $@
Add ABI_FLAGS to LDFLAGS in the custom make includes such that building
soft-float applications works with the default built-in make rules as
well.
These changes were made to address GCC -Wsign-compare warnings.
In this case, the vendor ID in the management structure was unsigned
and the vendor parameters to various helper functions were signed.
This change was made to address GCC -Wshift-negative-value.
Shifting a negative value is undefined in the C programming language
because one's and two's complement representations give different
results.
Closes#5385.
Fixes following unused parameter warning (treated as error) in build
without assertions.
[ 25/1550] Compiling bsps/arm/xilinx-zynq/start/bspsmp.c
../../../bsps/arm/xilinx-zynq/start/bspsmp.c: In function
'_CPU_SMP_Start_processor':
../../../bsps/arm/xilinx-zynq/start/bspsmp.c:42:40: error:
unused parameter 'cpu_index' [-Werror=unused-parameter]
42 | bool _CPU_SMP_Start_processor(uint32_t cpu_index)
| ~~~~~~~~~^~~~~~~~~
cc1: all warnings being treated as errors
Happens if arm/xilinx_zynq_zedboard board is configured and RTEMS_SMP
is enabled.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
The sizeof(ino_t) can potentially vary based on the target. This
resulted in -Wformat warnings. Add PRIdino_t in <rtems/inttypes.h>
to have a portable format specifier.
Closes#5393.
This adds a backend for flashdev that simulates a flash device with
adjustable delays to simulate real flash devices and offers
configurable flash parameters. This also migrates the JFFS2
filesystem tests to the flashdev framework and eliminates the
purpose-built simulated flash in the testsuite in favor of a more
generic and widely usable solution.
This adds summary support to the build with a global option to enable
this support and necessary changes to the imported summary support
source to integrate it into the build system and resolve errors.
This makes the number of active chipselects a BSP configuration
parameter. The name of the macro in upstream source is misleading and
suggests that the driver can support up to the selected value when in
actuality it requires that number of chips to be present. If this number
of chips is not present, the driver will hang on initialization waiting
for a chip to respond that does not exist.
Move JFFS2 from the Cygwin implementation of CRC32 to the zlib
implementation which can take advantage of hardware acceleration and
reduces code duplication. Synthetic benchmarks on AArch64 hardware show
approximately a 17x improvement in CRC32 calculation speed and
real-world testing with JFFS2 shows a 1% improvement in mount times, a
5% improvement in data write times, and a 9% improvement in garbage
collection times.
A test was written to compare hash generation between the two algorithms
and a partition was created with one and then remounted with the other
with no errors.
Adds the registers that expose the second microblaze timer interrupt.
Moves the system clock to a shared interrupt so users may add a new
interrupt off the second interrupt.