Skip to content

Commit

Permalink
freertos-kernel: Update to V11.1.0 release
Browse files Browse the repository at this point in the history
Even though CMake supports circular dependency, but currently it is
supported only for static libraries. If CMake detects a circular
dependency which involves an object library then CMake stops. For more
info, check https://gitlab.kitware.com/cmake/cmake/-/issues/17905.

With FreeRTOS-Kernel 11.1.0 release, FreeRTOS-Kernel produces a single
static library. As part of this effort, `freertos_kernel_port` library
has been changed to an `OBJECT` library. With our current dependency
chain in FRI, this leads to a circular dependency with an object
library. Therefore, remove the dependency of `freertos_config` on
`fri-bsp` to avoid this. Because of this, we've to add the necessary
includes from bsp to `freertos-config`.

The CS315 network interface layer inside the FreeRTOS TCP/IP stack
https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/source/portable/NetworkInterface/MPS4_CS315/Device/Include/SSE315.h#L62
is done in such a way that it depends on fri-bsp. Therefore, add
`freertos_plus_tcp` dependency on `fri-bsp`.

In general, a library A  depending on another library B should avoid
linking against granular libraries defined inside the library B. This
can cause build failures in future. Therefore, the dependency of
`isp_platform_driver_system` and `isp_control` on
`freertos_kernel_include` has been changed to `freertos_kernel`.

Signed-off-by: Devaraj Ranganna <[email protected]>
  • Loading branch information
urutva committed May 9, 2024
1 parent 35da8b9 commit 12828dc
Show file tree
Hide file tree
Showing 11 changed files with 17 additions and 9 deletions.
1 change: 0 additions & 1 deletion applications/blinky/configs/freertos_config/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ target_link_libraries(freertos_config
INTERFACE
tfm-ns-interface
app-config
fri-bsp
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ target_link_libraries(freertos_config
INTERFACE
tfm-ns-interface
app-config
fri-bsp
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ target_link_libraries(freertos_config
INTERFACE
tfm-ns-interface
app-config
fri-bsp
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ target_link_libraries(freertos_config
INTERFACE
tfm-ns-interface
app-config
fri-bsp
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ target_link_libraries(freertos_config
INTERFACE
tfm-ns-interface
app-config
fri-bsp
)
4 changes: 2 additions & 2 deletions bsp/isp_mali-c55/integration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ add_library(isp_platform_driver_system)
target_link_libraries(isp_platform_driver_system
PUBLIC
isp_driver
freertos_kernel_include
freertos_kernel
)
target_include_directories(isp_platform_driver_system
PUBLIC
Expand Down Expand Up @@ -87,5 +87,5 @@ target_sources(isp_control

target_link_libraries(isp_control
isp_driver
freertos_kernel_include
freertos_kernel
)
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ target_include_directories(freertos_plus_tcp SYSTEM
)

target_link_libraries(freertos_plus_tcp
PUBLIC
# TODO: The CS315 network interface layer inside the FreeRTOS TCP/IP stack
# https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/source/portable/NetworkInterface/MPS4_CS315/Device/Include/SSE315.h#L62
# is done in such a way that it depends on fri-bsp. This dependency
# should be removed.
fri-bsp
PRIVATE
coremqtt
helpers-events
Expand Down
6 changes: 6 additions & 0 deletions components/freertos_kernel/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,10 @@ endif()

# FreeRTOS requires the freertos_config library to exist first
add_library(freertos_config INTERFACE)
target_include_directories(freertos_config
INTERFACE
$<$<STREQUAL:${ARM_CORSTONE_BSP_TARGET_PLATFORM},corstone300>:${IOT_REFERENCE_ARM_CORSTONE3XX_SOURCE_DIR}/bsp/corstone300/include>
$<$<STREQUAL:${ARM_CORSTONE_BSP_TARGET_PLATFORM},corstone310>:${IOT_REFERENCE_ARM_CORSTONE3XX_SOURCE_DIR}/bsp/corstone310/include>
$<$<STREQUAL:${ARM_CORSTONE_BSP_TARGET_PLATFORM},corstone315>:${IOT_REFERENCE_ARM_CORSTONE3XX_SOURCE_DIR}/bsp/corstone315/include>
)
add_subdirectory(library)
2 changes: 1 addition & 1 deletion components/freertos_kernel/library
Submodule library updated 748 files
2 changes: 1 addition & 1 deletion manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: |-
dependencies:
- name: "FreeRTOS-Kernel"
license: "MIT"
version: "V10.6.1"
version: "V11.1.0"
repository:
type: "git"
url: "https://github.com/FreeRTOS/FreeRTOS-Kernel.git"
Expand Down
1 change: 1 addition & 0 deletions release_changes/202404301532.change
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
freertos-kernel: Update to `V11.1.0` release

0 comments on commit 12828dc

Please sign in to comment.