Commit Graph

599 Commits

Author SHA1 Message Date
Christian Mauderer
02f2316be7 bsp/imxrt1166: Support GPIO CS pins in LPSPI
With this, it is possible to use GPIOs as CS pins in the LPSPI. To avoid
additional complexity, the GPIOs will have the same limitations as the
native (hardware) CS pins.

The GPIO CS feature adds a number of extra code when starting SPI
transfers on this controller. Therefore it is possible to disable the
additional code by just setting the IMXRT_LPSPI_MAX_CS option to 0. In
that case only native CS pins are supported.

At the moment, this feature is only enabled on i.MXRT1166 by default
because it is not tested on i.MXRT1050. But it should work there too.
2023-11-28 13:36:41 +01:00
Sebastian Huber
f279017882 validation: Improve MrsP validation
For uniprocessor configurations, the selection of
RTEMS_MULTIPROCESSOR_RESOURCE_SHARING results in a priority ceiling
mutex.

Build the MrsP validation tests only if RTEMS_SMP is enabled.

Update #3716.
2023-11-23 14:58:21 +01:00
Philip Kirkpatrick
793c0f4671 bsps/arm: Add BSP for ZynqMP RPU 2023-11-20 10:43:55 -06:00
Sebastian Huber
6486d0bff9 build: Do not use coverage for librtemstest
The goal is to get code and branch coverage from actual tests and not
the test support itself.
2023-11-03 08:53:59 +01:00
Sebastian Huber
00e910e1f0 bsps/leon3: Install header files 2023-11-03 07:43:25 +01:00
Sebastian Huber
06f3780d60 build: Exclude performance test if RTEMS_GCOV_COVERAGE
The code coverage build is usually done without compiler optimizations.
This results in long performance test runtimes and useless performance
results.
2023-11-03 07:25:53 +01:00
Sebastian Huber
963327eaf3 build: Improve testsuite build selection
Enable an individual testsuite only through the corresponding enable.
Use BUILD_TESTS to change the default value of the individual testsuite
enable options.  This allows the user to enable all testsuites with
specific exceptions.

For example, this builds all testsuites except the benchmarks:

[arch/bsp]
BUILD_TESTS = True
BUILD_BENCHMARKS = False
2023-11-02 13:34:22 +01:00
Kinsey Moore
8a2c3af9cf bsps/xil: Adjust Xilinx support code for Cortex-R5
This fixes some issues in the Xilinx support code that are critical to
support the Cortex-R5F cores present in my Xilinx SoCs. The imported
Cortex-R5 xil_cache.c matches the existing information in
bsps/shared/xil/VERSION.
2023-10-24 09:52:27 -05:00
Sebastian Huber
b8f1988f15 doxygen: Replace and move main page
Replace the main page with a high level description of the RTEMS feature
set similar to:

https://docs.rtems.org/branches/master/user/overview/index.html#features

The replaced content can be found in the RTEMS Classic API Guide:

https://docs.rtems.org/branches/master/c-user/overview.html

https://docs.rtems.org/branches/master/c-user/key_concepts.html

Update #3705.
2023-10-23 11:16:39 +02:00
Sebastian Huber
958d517215 bsps/leon3: Use DSU time tag for GR712RC
Close #4954.
2023-10-20 11:20:14 +02:00
Sebastian Huber
abb2f8bd66 bsps/leon3: Use custom CPU counter implementation
Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
b6dc4b4707 sparc: Move CPU counter implementation
Enable a BSP-specific CPU counter implementation.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
429727cdf3 testsuites/unit: Add tests for compiler builtins
Explicitly test the 64-bit integer division and modulo operations.  They
are essential for the timekeeping services.  On most 32-bit targets,
they need a software implementation.

Update #3716.
2023-10-12 14:11:03 +02:00
Sebastian Huber
2cb3d75d9e validation: Test CPU performance
Measure the runtime of 1000 no-operation instructions.  This may help to
investigate runtime measurement variations which do not result from code
generation or source code changes.

The runtime measurement of a function which does nothing and just
returns gives an estimate of the measurement overhead.

Update #3716.
2023-10-12 14:10:57 +02:00
Sebastian Huber
a986262380 validation: Check stack of interrupted context
Check the stack of the interrupted context during the multitasking
start.

Update #4955.
2023-09-26 08:08:06 +02:00
Sebastian Huber
ee63681aeb tests: Add header for RTEMS test printer
The <rtems/test-info.h> header file is required for every RTEMS test
program.  Move the RTEMS test printer support to a dedicated header file
<rtems/test-printer.h>.  This removes an unnecessary dependency to the
RTEMS printer support in <rtems/test-info.h>.

Tests using the RTEMS Testing Framework no longer depend on the
<rtems/printer.h>.
2023-09-26 08:04:30 +02:00
Sebastian Huber
109479e874 build: Remove enabled-by special case
Doing the enabled-by processing just for the ldflags and just for the
link custom commands is confusing.  Use an option instead which is
intended to be used for such use cases.
2023-09-22 07:59:11 +02:00
Sebastian Huber
580a457724 build: Add target to build scripts
Document that the build scripts in the testsuites produce a test program.
2023-09-15 10:44:08 +02:00
Sebastian Huber
36b330910d bsp/stm32h7: Exclude some tests 2023-09-15 10:44:08 +02:00
Sebastian Huber
92fc82b54d arm/lm3s69xx: Exclude monitor test program
It is too big with GCC 13.
2023-09-15 10:44:08 +02:00
Sebastian Huber
5dc43a04ef build: Merge regulator build into library item
There is no need to use a separate build object item.
2023-09-13 07:56:38 +02:00
Sebastian Huber
d2d1fa18a9 build: Use build context for custom commands
Revert duplicated listing of TEST_OPTIMIZATION_FLAGS.

Close #4947.
2023-09-11 11:36:58 +02:00
Alex White
51a79912e0 microblaze: Add link options to dl07, dl08, and dl09
This adds `-u__extendsfdf2` to the `ldflags` for the dl07, dl08, and
dl09 tests to force the inclusion of `__extendsfdf2` in the base image.
This function is part of the GCC software floating point library and is
used in the tests to convert floats to doubles when calling `printf`.
2023-08-30 11:05:33 -05:00
Alex White
cd7ad64602 microblaze: Add dl05 to expected failures
Updates #4949
2023-08-30 11:05:33 -05:00
Alex White
d5318d6ae3 microblaze: Add dl06 to expected failures
Updates #4948
2023-08-30 11:05:33 -05:00
Alex White
a1b23d0e23 microblaze: Align exception-related sections
This fixes unaligned data access exceptions found while debugging test
dl05.
2023-08-30 11:05:33 -05:00
Alex White
feee169aa7 microblaze: Add libdl support 2023-08-30 11:05:33 -05:00
Chris Johns
dcc6409f91 spec/testsuite/dl: Fix optimization flags
Updates #4944
2023-08-27 07:30:41 +10:00
Chris Johns
27da374e48 libdl: Add support to import base image TLS symbols
This change requires an rtems-tools update for symbol generation.

Working architectures:
 - aarch64
 - arm
 - powerpc
 - sparc

No newlib TLS support but checked:
 - i386
 - m69k

Updates #4920
2023-08-21 11:16:17 +10:00
Kinsey Moore
723c096d57 spec/cpukit: Omit Cortex-M from libdebugger build
The current ARM support in libdebugger does not cover Cortex-M series
cores since it requires support for CP14 system register accessor
instructions. Cortex-M series cores support debug monitor mode, but its
configuration is accessed by memory mapped registers instead of using
CP14. This omits building libdebugger from BSPs that use a cortex-m ABI
flag.
2023-08-18 09:21:17 -05:00
Chris Johns
663e0dae8a cpukit/libdl: AARCH64 unwind uses DWARF 2 tables
Closes #4943
2023-08-12 16:35:39 +10:00
Joel Sherrill
fd693085ea Add the Regulator Interface and test
Updates #4924.

The Regulator is an application support class which is used to
deal with the scenario where there is a bursty input source
which needs to be metered out to a destination sink. The maximum
size of bursts needs to be known and the delivery method must
be configured to deliver messages at a rate that allows the
traffic to not overflow.
2023-08-11 13:44:47 -05:00
Sebastian Huber
52e595104c build: Clarify PROGRAM_PREFIX description 2023-08-10 08:17:22 +02:00
Uchenna Ezeobi
ae534d10df spec: Add -mstrict-align to mvme2100 default build
Update #3767
2023-08-09 15:17:13 -05:00
Sebastian Huber
62e39a8e47 rtems: Install <rtems/dev/io.h> 2023-08-09 10:26:06 +02:00
Sebastian Huber
573a7202e6 bsp/lpc32xx: Restore lpc32xx_set_translation_table_entries()
This implementation disables the MMU during the modification of the
translation table.  This behaviour is required by boot loaders for these
boards.
2023-08-09 07:22:10 +02:00
Sebastian Huber
0d76cc9f04 build: Add PROGRAM_PREFIX option
Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
the use of vendor tools.
2023-08-03 09:23:10 +02:00
Sebastian Huber
54a04cc917 build: Fix build dependency order 2023-08-02 11:02:11 +02:00
Sebastian Huber
aca1724c4c build: Optionally use a VERSION file
Define the RTEMS version in the wscript.  Optionally use a VERSION file
to change the default values of the wscript.  Allow the command line
option --rtems-version to override __RTEMS_MAJOR__.  Remove support for
command line configurable options (--rtems-option).

Rename internal define RTEMS_VERSION_VC_KEY to
RTEMS_VERSION_CONTROL_KEY.
2023-08-02 07:27:51 +02:00
Vijay Kumar Banerjee
d4587a698a spec: Remove empty reset from mvme3100 2023-08-01 22:48:17 -05:00
Karel Gardas
f89f0d8476 Revert "bsps/arm/beagle/dcan: Added DCAN support"
This reverts commit 26d50bdfb6.
2023-08-01 16:00:49 +02:00
Christian Mauderer
9f571b6494 bsps/arm/imx: Enable shared RTC support
This allows to use a I2C RTC together with this BSP.
2023-08-01 09:24:33 +02:00
Christian Mauderer
38dd86355d bsps/shared: Add MCP7940M RTC driver
The MCP7940M is a I2C RTC chip. The new driver uses the dev/i2c API to
support the RTC. It is written with the intention, that the driver can
be adapted to other RTCs with a similar register layout by just
replacing the initialization function.
2023-08-01 09:24:33 +02:00
Karel Gardas
0c10626f75 arm/stm32h7: build and install files added by new HAL 2023-07-31 15:15:10 +02:00
Sebastian Huber
3ba43da922 score: Move <rtems/score/gcov.h>
Move <rtems/score/gcov.h> to <rtems/test-gcov.h>.  These functions do
not belong to an super core service.
2023-07-28 11:58:32 +02:00
Sebastian Huber
527af2b7f2 score: Move formatted I/O functions
These functions do not belong to an super core service.
2023-07-28 11:58:32 +02:00
Sebastian Huber
4516a5b797 build: Export BSP base and family via pkg-config
This allows application and library build systems to derive option
values from the BSP base and family names.
2023-07-28 07:50:15 +02:00
Gedare Bloom
c1cad595af Revert "cpukit/dev/can: Added CAN support"
This reverts commit cd91b37dce.

Closes #4803.
2023-07-27 12:41:28 -06:00
Gedare Bloom
08a6b8c1ba Revert "build: Fix copyright statement format"
This reverts commit 5b124432e2.
2023-07-27 12:24:04 -06:00
Chris Johns
c1d9dcbbb2 bsps/arm: Fix CMSIS v5 install files list 2023-07-25 11:03:07 +10:00