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

Combined commit: update with latest changes #24

Merged
merged 2 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
43 changes: 43 additions & 0 deletions .treefmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[global]
excludes = [
"**/3rdparty/*/**",
"**/Doxyfile",
"**/Makefile",
"*.*-format",
"*.S",
"*.cmm",
"*.css",
"*.dld",
"*.gdb",
"*.gif",
"*.gitignore",
"*.html",
"*.ini",
"*.josh",
"*.json",
"*.md",
"*.png",
"*.py",
"*.rb",
"*.rst",
"*.s",
"*.sh",
"*.spec",
"*.toml",
"*.txt",
"*.yaml",
"*.yml",
"LICENSE",
"admin/cmake/CodeCoverage.cmake",
"tools/clang-format-wrapper",
]

[formatter.cpp]
command = "tools/clang-format-wrapper"
options = [ "--style=file", "-i" ]
includes = [ "*.c", "*.cc", "*.cpp", "*.h", ".hh", "*.hpp" ]

[formatter.cmake]
command = "cmake-format"
options = [ "-i" ]
includes = [ "**/CMakeLists.txt", "*.cmake" ]
65 changes: 64 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,70 @@

All notable changes to this project will be documented in this file.

## [0.1.0] - 2024-10-??
## [0.2.0] - 2024-11-19

### Added

* Added/updated the documentation for:
* asyncImpl module
* timer::Timer
* async module
* common
* asyncConsole
* stdioConsoleInput
* Updated the Testing Guide
* Change location of linker script in setup documentation
* setup gdb server, Visual Studio Code and IntelliSense
* building referenceApp unit tests
* Improve links in io docs
* Add ADC test for channel 1
* Add support in pytest for a hardware testing board
* Generate docs from code using Doxygen
* Add treefmt and improve code formatting doc
* Add ADC channel
* Add VS code settings files
* Add console lifecycle and logger test cases
* Add DemoCommand as AsyncConsole testcase
* Add code coverage in CMakeLists.txt
* Implement pytest for console command stats stack
* Add cmake-format via cmakelang
* Create CMake OpenBSW module

### Changed

* Bulk reformat to comply to our clang-format file
* Make default C and CXX version overridable
* Centralizing Version Information
* Use hardware-based ticks in StatisticsWriter
* Update nxp IDE setup to 3.5
* Replace socat with python alternative
* Unhide toctree in platform doc landing page
* Clean up includes in application/systems
* Switch camel_case to PascalCalse filenames
* Downgrade cmake to version 3.22
* Make unit test separate executeable
* Move platform support code into executables
* Switch from platform::atomic to std::atomic

### Fixed

* Minor fixes of console
* Fix pytest failures by adding delays and retries in serial write
* Fix POSIX CanSystem startup
* Increase code coverage of RoutineControlJob.cpp in uds
* Fix reference to multiple cores in directory structure
* Fix minor compilation warnings
* Fix unsupported assembler flag

### Removed

* C++11 support
* platform support options from unitTest
* DCC optimization from big_endian.h
* platform/atomic from referenceApp
* unused scale parameter from io docs

## [0.1.0] - 2024-10-17

### Added

Expand Down
20 changes: 18 additions & 2 deletions CMakeLists.txt → Filelists.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
# This file is to be included into an application CMakeLists.txt to use OpenBSW.
# The variable OPENBSW_DIR should be set to the location of the OpenBSW root and
# OPENBSW_APP_DIR to the root of the application sources.

cmake_minimum_required(VERSION 3.22 FATAL_ERROR)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 99)
if (CMAKE_CXX_STANDARD AND NOT ${CMAKE_CXX_STANDARD} EQUAL 14)
message(WARNING "Using custom CXX standard (C++${CMAKE_CXX_STANDARD})")
else ()
set(CMAKE_CXX_STANDARD 14)
endif ()
if (CMAKE_C_STANDARD AND NOT ${CMAKE_C_STANDARD} EQUAL 99)
message(WARNING "Using custom C standard (C${CMAKE_C_STANDARD})")
else ()
set(CMAKE_C_STANDARD 99)
endif ()

project(
"Eclipse OpenBSW"
Expand All @@ -10,6 +22,8 @@ project(
"BSW workspace with reference application for multiple platforms"
LANGUAGES CXX C ASM)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/admin/cmake")

option(BUILD_UNIT_TESTS "Build unit tests" OFF)

add_compile_options(
Expand All @@ -30,6 +44,8 @@ if (BUILD_UNIT_TESTS)
add_compile_definitions(UNIT_TEST=1)
include(GoogleTest)
include(CTest)
include(CodeCoverage)
append_coverage_compiler_flags()
enable_testing()
endif ()

Expand Down
9 changes: 5 additions & 4 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ We recommend to read their licenses, as their terms may differ from the terms de
|---------------------------|---------|-----------|----------------------------------------------------------------------|
| googletest | 1.12.1 | BSD-3 | ``libs/bsw/3rdparty/googletest/LICENSE`` |
| printf | 5.2.0 | MIT | ``libs/bsw/3rdparty/printf/LICENSE`` |
| FreeRTOS Real Time Kernel | 10.6.2 | MIT | ``platforms/posix/3rdparty/freeRtosPosix/LICENSE.md`` |
| FreeRTOS Real Time Kernel | 10.6.2 | MIT | ``platforms/s32k1xx/3rdparty/freertos_cm4_sysTick/LICENSE.md`` |
| FreeRTOS Real Time Kernel | 10.6.2 | MIT | ``platforms/posix/3rdparty/freeRtosPosix/LICENSE.md`` |
| FreeRTOS Real Time Kernel | 10.6.2 | MIT | ``platforms/s32k1xx/3rdparty/freertos_cm4_sysTick/LICENSE.md`` |
| FreeRTOS Real Time Kernel | 10.6.2 | MIT | ``libs/os/3rdparty/freeRtos/LICENSE.md`` |
| CMSIS | 6.1.0 | Apache v2 | ``platforms/s32k1xx/bsp/bspMcu/include/3rdparty/cmsis/LICENSE`` |
| NXP S32K148 Headers | 1.1a | BSD-3 | ``platforms/s32k1xx/bsp/bspMcu/include/3rdparty/nxp`` |
| CMSIS | 6.1.0 | Apache v2 | ``platforms/s32k1xx/bsp/bspMcu/include/3rdparty/cmsis/LICENSE`` |
| NXP S32K148 Headers | 1.1a | BSD-3 | ``platforms/s32k1xx/bsp/bspMcu/include/3rdparty/nxp`` |
| CodeCoverage | | BSD-3 | ``admin/cmake/CodeCoverage.cmake`` |

## MISRA

Expand Down
12 changes: 1 addition & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,6 @@ allowing developers to get up and running quickly.
learning about automotive technologies, conducting research, and exploring innovative solutions
in automotive areas.

## Media

Talks:

[Eclipse OpenBSW - A fresh view on Automotive Microcontroller Software - OCX 2024](https://www.youtube.com/watch?v=9zlya-cdrgo)

Articles:

[OpenBSW: A Code-first Software Platform for Automotive Microcontrollers](https://medium.com/@ESRLabs/openbsw-a-code-first-software-platform-for-automotive-microcontrollers-609d3406cf0d)

## Feature Overview

### Implemented Features
Expand All @@ -61,7 +51,7 @@ Articles:

## Documentation

The [documentation](https://eclipse-openbsw.github.io/openbsw)
The [documentation](https://eclipse-openbsw.github.io/open-bsw)
describes Eclipse OpenBSW in detail and provides simple setup guides to build and use it.

## Contributing
Expand Down
37 changes: 37 additions & 0 deletions admin/cmake/ArmNoneEabi.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Toolchain for gcc-arm-none-eabi-10.3-2021.10
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR ARM)

set(TOOLCHAIN arm-none-eabi)

# Compiler test with static library because of missing symbols for executable
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)

set(CXX_FLAGS
"-Wno-psabi -fno-asynchronous-unwind-tables -fno-builtin -fshort-enums -mcpu=cortex-m4 -funsigned-bitfields -fmessage-length=0 -fno-common -ffunction-sections -fdata-sections -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mno-unaligned-access -femit-class-debug-always"
)

set(CMAKE_C_FLAGS "${CXX_FLAGS} -ffreestanding ")
set(CMAKE_CXX_FLAGS
"${CXX_FLAGS} -fno-rtti -fno-exceptions -fno-non-call-exceptions -fno-threadsafe-statics -fno-use-cxa-atexit "
)
set(CMAKE_ASM_FLAGS "-g -mcpu=cortex-m4 ")
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS "s;S")

set(CMAKE_EXE_LINKER_FLAGS
"-mcpu=cortex-m4 -static -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 --specs=nano.specs -specs=nosys.specs -Wl,--gc-sections -Wl,-Map,application.map,--cref "
)

set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
set(CMAKE_LINKER arm-none-eabi-g++)
set(CMAKE_AR arm-none-eabi-ar)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

add_compile_definitions(REALTIME_OS=1)
add_compile_definitions(ESTL_NO_ASSERT_MESSAGE=1)
31 changes: 0 additions & 31 deletions admin/cmake/ArmNoneEabi10.3-2021.10.cmake

This file was deleted.

Loading
Loading