- Aug 04, 2022
-
-
Lingkai Dong authored
Remove `CMakePresets.json` and detach examples and tests from the SDK. This is a first step towards converting every example and test into a top-level project that adds the SDK as a dependency. Remove fetching of toolchain files from `CMakeLists.txt` because toolchain files need to be available before a top-level user project is declared, which comes before the IoT SDK is added. Examples and tests, like user projects, will fetch toolchain files directly. Previously, examples and integration tests were part of the SDK's CMake project, but this is not ideal for the following reasons: * A real user project should have itself as the top level CMake project and add the SDK with components as dependencies. If an example is under the SDK's CMake logic, it loses the benefit of demonstrating proper creation of a user project, and users will not be able to take that example as a quick start of their own projects. * Each example or test application requires its own set of config options to be applied to the SDK and components. Examples and tests that are part of the SDK project cannot directly set options in their own `CMakeLists.txt`s, because options have to be set before components are added but executables have to be added after components. We previously used CMake presets to set options outside examples, but this adds indirection, making code navigation and maintenance difficult. * CMake presets are only available when CMake is invoked in the same directory, so user projects can't use the presets we provide. * To let users select which platform to build examples for, a new config option would be needed if examples were under the SDK CMake. But such an option might add confusion, because a user project can directly link the MCU-Driver-HAL implementation for the particular platform it intends to use without an extra option. Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-
Lingkai Dong authored
The old project name `IoTSDK` does not conform to our convention of naming CMake targets with lowercase alphanumericals and dashes (`[a-z0-9\-]+`). Use `open-iot-sdk` instead. This is *not* a breaking change for existing applications that depend on the SDK, because * applications only link *libraries* fetched by the SDK, not the SDK itself which is a project * in the fetched path to the SDK, `<NAME>_SOURCE_DIR`, `<NAME>` is whatever name the application passes to `FetchContent_Declare()` instead of the SDK's own declared name (although it is strongly recommended to use the same name for FetchContent, git repository and CMake project) Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-
- Aug 03, 2022
-
-
Update CMSIS_5 to 105cfde9cce81a3d165a9810492c75dbcfc69710. Signed-off-by:
autobot <autobot-noreply@arm.com>
-
Jaeden Amero authored
Do a single allocation for both metadata and data, and align within that allocation for the start of data. This potentially reduces heap fragmentation, as fewer allocations of mixed size are done. It also simplifies freeing of memory and handling of out-of-memory conditions, as only one allocation is done. The fake heap free implementation had to be updated to test the simpler free path. Previously, it was always freeing memory even when passed a null pointer. Now, we only want it to account for freed memory if a non-null pointer is passed in. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
As CMakePresets are used to run CI tests on FVP, artefacts built with the `an552-base` CMake preset should always build for FVP as it uses different peripherals that are selected only when the CMake variable `VARIANT` is set to `FVP`. This commit adds the VARIANT CMake variable as a cacheVariable for the `an552-base` CMake preset. All presets that inherit the `an552-base` preset will inherit that CMake variable. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
The memory can be used to initialise an instance of MCU-Driver-HAL EMAC. The commit also includes unit tests for the memory manager. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
The added functions for dynamic memory management currently map to the standard library functions. However, they can be extended to provide more useful information. The module is also useful for the purpose of mocking dynamic memory allocation in unit tests to simulate behaviours when dynamic memory allocation fails. This is because googletest also uses the standard library dynamic memory management functions and mocking such functions leads to errors with the test framework. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
This is to make it possible to unit test code that lies in the `utils` directory. The EMAC module is also limited to cross-compilation for this reason. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Aug 02, 2022
-
-
Update NimBLE to f9eb3c8d27b07d441dc7a77de513ef940ad7da1f. Signed-off-by:
autobot <autobot-noreply@arm.com>
-
Update TinyUSB to 251ce9899039fbdf8e749342bc6504e7438d2e88. Signed-off-by:
autobot <autobot-noreply@arm.com>
-
- Aug 01, 2022
-
-
Jaeden Amero authored
We left in the python source code indentation in our commit message string on accident. Reformat the commit message string expression to avoid including python source code indentation. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Jaeden Amero authored
We were raising merge requests with a title that didn't match the commit title. Use "Update" instead of "update" when composing the merge request title, matching the commit message. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Update cmsis-sockets-api to 1e15f55ae08c2169c0e4a59216e78a4906a66af8. Signed-off-by:
autobot <autobot-noreply@arm.com>
-
- Jul 27, 2022
-
-
autobot authored
Update littlefs to v2.5.0. Signed-off-by:
autobot <autobot-noreply@arm.com>
-
Avoids multiple declarations of `sys_mbox_trypost`. lwIP defines `sys_mbox_trypost_fromisr` in one of its source files and the warning is generated when that file is also included. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Variables named `netif_context_t` cause compiler warnings to be generated due to the exact same name being used for a custom user type. As these variables are local, they are renamed to `context` keeping in line with other local instances of the `netif_context_t` type. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
The static function `ethernet_interface_bringdown()` was not used. Removed to remove compiler warning. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Cast custom pointer type to `uintptr_t` to print its value with the `PRIxPTR` printf format specifier conversion macro to remove compiler warnings for the iotsdk-example-freertos example. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Use the appropriate printf format specifier conversion macros in the `iotsdk-example-lwip-*` example to remove warnings. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Jul 25, 2022
-
-
Saheer Babu authored
The `autobot` runs in a scheduled pipeline from the main branch, creating Merge Requests to the `main` branch. The `main` branch, at any point in time, has already passed all CI checks, so we do not need to run the same CI checks on the `main` branch again. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Saheer Babu authored
To keep modules shipped with the SDK up-to-date, update the dependencies in a scheduled pipeline in CI. This pipeline will update one component per branch and create a Merge Request. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Saheer Babu authored
Add new line so that the auto update script can read component name properly. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Saheer Babu authored
Built in stage `.pre` is executed at the very beginning of the pipeline. Add `quality_check` stage for quality jobs so that the `autobot` stage can be executed before the `quality_check`. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
- Jul 20, 2022
-
-
Martin Kojtal authored
With just 1 exception, we want to group headers to separate each one. If we keep default (Preserve behavior for sorting), we could end up with different order if #include are separated by a blank line. Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
We do not need to specify own rules, as we basically use llvm include style. ref: https://llvm.org/docs/CodingStandards.html#include-style Move SortIncludes to the place where it was (I am fixing all other projects, where we just change one line, no move required). Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
- Jul 14, 2022
-
-
Jaeden Amero authored
Move components and utils below project_options, so we can test components' glue code. We need to add project_options first so that the appropriate options are set to enable code coverage generation for tests created from components or utils. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Jaeden Amero authored
Exclude the utils folder when not cross-compiling. The functionality that utils provides, like retargeting support, isn't needed for unit testing. We likely want to unit test the code in the utils folder at some point, but we don't at the moment, so we can exclude it for now. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Jaeden Amero authored
Set the project_options default for running cppcheck to off, to default to relying on pre-commit to run cppcheck. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Jaeden Amero authored
Add googletest via a new CMake module, TestTools. We created TestTools so that googletest and fff or other unit testing tools can be described to CMake before other software in the "components" folder. This allows any component to use googletest from its own testing folder, enabling the possibility to write unit tests for any component glue code. Additionally, add a helper function for tests to use to ensure that googletest is excluded from our clang-tidy checks. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Add code coverage report generation with CMake rather than `pre-commit`. This reduces the coupling between git commit hooks which are installed through `pre-commit` and post-build coverage generation. Developers who install commit hooks will no longer be forced to build and run tests before committing changes which are not relevant to source code (for example docs or CI changes). Add a `covreport` target to CMake which will generate the code coverage report. This target should be run after tests are executed to ensure coverage files have been generated. The line coverage threshold can be set by passing `GCOVR_FAIL_UNDER_LINE` at CMake configure time. For example `-DGCOVR_FAIL_UNDER_LINE=50` would set the line coverage threshold to 50%. The coverage report output is stored in the build directory. Update CI to run unit tests and `pre-commit` in separate CI jobs, and update the unit-tests job to run the coverage generation. Signed-off-by:
Robert Walton <rob.walton@arm.com> Co-authored-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Jaeden Amero authored
Create a new section for dependencies that are needed for test purposes in the license documentation file. This makes it easier to see which dependencies are used for what. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Jaeden Amero authored
Link to the gitlint repo instead of only documenting the URL for the project. This makes it easier to navigate to the repo for the project. Signed-off-by:
Jaeden Amero <jaeden.amero@arm.com>
-
Enable regrouping according to our design document: Includes should be grouped in the following order: - user defined libraries - standard library includes Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
The initial version of our guidelines. This contains: - how to includes headers - sorting includes - C linkage protection in headers - namespacing public functions - documentation tips Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Signed-off-by:
Paul Szczepanek <paul.szczepanek@arm.com>
-
The project specific ones should no longer be required as all projects can now pick up the defaults from the Templates repo. Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
- Jul 12, 2022
-
-
Add python code styling and linting tools in pre-commit as we are adding python code in this repository. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Anna Bridge authored
This commit adds a user defined rule to GitLint. This new rule takes a list of words, via a CI secret, which should not be publicly visible in the SDK and checks commit messages to ensure they do not contain any of these words. The list of words is provided to GitLint on the commandline using a configuration option. Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
- Jul 11, 2022
-
-
Artur Tynecki authored
Link local IPv6 address to LwIP network interface. It's required in IPv6 communication to find the proper network interface for sending IP messages. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-
- Jul 08, 2022
-
-
Artur Tynecki authored
Change the DEBUG_PRINT usage to be compatible with the syntax of the LwIP logs. Fix LwIP port log syntax. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-