- Jul 06, 2022
-
-
Martin Kojtal authored
Separate them as own cmake module. An app should be able to reuse the same default warning flags. Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
- Jul 04, 2022
-
-
Lingkai Dong authored
When the SDK is used in another project, `project_options` is not fetched or added by the SDK and results in the following error when linking executables: Fatal error: L3900U: Unrecognized option '-lproject_options' This is a linker error rather than a CMake error, because when no CMake target exists for a named library, CMake assumes this library to be in the linker's search path and adds a link flag. To fix this, link `project_options` and `project_warnings` only when the SDK is the top-level project. This fix is needed for libraries only, and examples and tests are not affected because they are not built when the SDK is used inside another project. Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-
- Jul 01, 2022
-
-
In the SDK the only .txt file that should have a license is CMakeLists.txt. All other .txt files should be ignored. This commit adds a regex pattern to the "certain special files are not required for license" part of the license schema to facilitate this check. Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
Vincent Coubard authored
LwIP expresses timeout in milliseconds which are latter converted into ticks. Depending on the tick frequency of the system, the previous conversion routine was returning a tick value of 0 for certain amounts of ms. This update take into account the remainder of division made for the conversion. If a remainder is present, it unconditionally adds 1 tick. This solves issues in keyword where the system request to sleep for 3ms but sleeps for 0 ticks. This ends up in busy waiting. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
Lingkai Dong authored
Utility libraries such as retargeting are useful to projects that depend on the SDK. Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-
Vincent Coubard authored
The azure middleware contains logic to reconnect in case of failure. Instead of ending the azure example when a disconnection happen, this change let the middleware attempt a reconnection. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
Vincent Coubard authored
The define MU_FAILURE may return the __LINE__ of the error depending on compile flags. Instead of comparing to it, we just compare the error with 0. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
Vincent Coubard authored
Sometimes, pool.ntp.org does not reply to requests. When this happens, the ntp client blocks forever. To solve that issue, a timeout of 3s is set on the ntp socket. The timeout in the azure stack has been raised to 15s to accomodate this change. Finaly since the azure example require custom lwip options; it is now isolated from examples that uses the default lwip configuration. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
Vincent Coubard authored
The function IoTHubDeviceClient_LL_DoWork must be called at most every 100ms. To timeout of the message queue has been changed to fullfil that requirement. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
Vincent Coubard authored
When a thread returns from its starting function; it does not consistently terminate the threads accross CMSIS RTOS implementations. On RTX, the thread exits properly while it crashes the system on FreeRTOS. This change fixes this behavior in the NTP task of the azure client. The ntp thread is now explicitely terminated when stopped. Signed-off-by:
Vincent Coubard <vincent.coubard@arm.com>
-
- Jun 30, 2022
-
-
David Horstmann authored
Fix a link in docs/OS_Configuration.md that is incorrectly named. Signed-off-by:
David Horstmann <david.horstmann@arm.com>
-
- Jun 29, 2022
-
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Fix warning: ``` `warning: format specifies type 'unsigned int' but the argument has type 'osThreadId_t' (aka 'void *') [-Wformat]` ``` Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Compare first negative value (error) than positive value returned. Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
`asm()` directive require gnu extensions. We should use `__asm` instead, tested with c11 and c99. Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
This is our code, apply project options to both utils we provide Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
As we enabled project_options, we require to set these standards. The numbers follow what we set in storage project and have used in other projects as well. This fixes the warnings: ``` -- The default CMAKE_CXX_STANDARD used by external targets and tools is not set yet. Using the latest supported C++ standard that is 20 -- The default CMAKE_C_STANDARD used by external targets and tools is not set yet. Using the latest supported C standard that is 17 ``` Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Only apply these to the sdk project files (not external components). -Wall - this enables various useful warnings -Wextra - enable additional warnings -Wcast-align - Warn whenever a pointer is cast such that the required alignment of the target is increased -Wformat-security - also warn about uses of format functions that represent possible security problems (requires Wformat to be set) -Wno-format-zero-length - C allows this, we should not warn about it -Werror=format-security - error if warning is enabled (-Wformat) -Wdouble-promotion - give a warning when a value of type float is implicitly promoted to double (using unintentionally double floating precision increases the footprint and impacts performance) -Wpointer-arith - warn if void pointer arith used, illegal in C -Werror=implicit-function-declaration - not allowed anymore in C11, we should not use implicit declarations in the new code -Wnull-dereference - Warn if the compiler detects paths that trigger erroneous or undefined behavior due to dereferencing a null pointer -Wredundant-decls - Warn if anything is declared more than once in the same scope -Wshadow - Warn whenever a local variable or type declaration shadows another variable -Wswitch-default -Warn whenever a switch statement does not have a default case We enable two errors to stop the build as format-security and implicit function declarations are important to be addressed. Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
Martin Kojtal authored
Add CMake library https://github.com/aminya/project_options to facilitate enabling or disabling flags (testing, doxygen, etc) Signed-off-by:
Martin Kojtal <martin.kojtal@arm.com>
-
- Jun 24, 2022
-
-
Artur Tynecki authored
Add function that reads date from serial input in serial_retarget.c This function is implemented for the GCC and ARMClang toolchain. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-
- Jun 23, 2022
-
-
This is the list of commit guidelines that are enforced by this change: Separate subject from body with a blank line - body-first-line-empty Commit message subject is allowed to be 72 characters wide - title-max-length Capitalize the subject line - title-match-regex Do not end the subject line with a period - title-trailing-punctuation Subject line must include a prefix that identifies the subsystem being changed - title-match-regex Wrap the body at 72 characters - body-max-line-length Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
- Jun 22, 2022
-
-
Hugues Kamba Mpiana authored
mcu-driver-reference-platforms-for-arm reference is updated to get the latest fixes including LAN91C111 broadcast packet handling. `mdh-arm-corstone-300-startup` is linked to example applications that require the startup file to be visible. The ARM linker requires the startup symbols to be in an object file rather than an archive so `tfm-ns-startup-an552` was converted to an object library. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Jun 21, 2022
-
-
Evelyne Donnaes authored
Signed-off-by:
Evelyne Donnaes <evelyne.donnaes@arm.com>
-
- Jun 09, 2022
-
-
Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
Signed-off-by:
Anna Bridge <anna.bridge@arm.com>
-
- Jun 08, 2022
-
-
Saheer Babu authored
New version of clang-format pre-commit hook formats json files as well. Fix formatting errors found by clang-format. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Saheer Babu authored
Use public `developer-tools` so that CI will work when enabled in public GitLab. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
Saheer Babu authored
Update pre-commit hooks to use latest tools with security and bug fixes. Signed-off-by:
Saheer Babu <saheer.babu@arm.com>
-
- Jun 07, 2022
-
-
The changes contain the implementation of azure-sdk example applications. RTX and freertos versions are supported. It's a simple IoT Hub client which establishes a connection with the cloud and sends text messages. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-
The Azure IOT Hub Device SDK allows C/C++ applications to communicate easily with Azure IoT Hub, Azure IoT Central and to Azure IoT Device Provisioning. Add azure-sdk as separate SDK components. It could be a part of network communication apps. Azure-sdk component depends on others connectivity items: ip-network and sockets. Also CMSIS-RTOS API should be available for proper building. Mbedtls libraries is also required for TLS communication with Azure cloud. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-
- Jun 03, 2022
-
-
Artur Tynecki authored
We need to add the extern "C" {...} guard around `cmsis_compiler.h` header because of a known issue with cmsis_gcc.h file https://github.com/ARM-software/CMSIS_5/issues/617 that causes an error during C++ compiling In cc.h file there is also declaration of `rand()` function. The `stdlib.h` already contains this declaration so we have a conflict during C++ compiling. Change it to include `stdlib.h` directly. Changes allow for building LwIP components in C++ projects. Signed-off-by:
Artur Tynecki <Artur.Tynecki@arm.com>
-
- May 26, 2022
-
-
Lingkai Dong authored
Add a simple integration test for using floating point on the non-secure side when `CONFIG_TFM_ENABLE_FPU=ON`. Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-
- May 25, 2022
-
-
Lingkai Dong authored
The TF-M example was previously built with small libc, because the Arm Compiler's full libc's printf uses floating point in its string formatting algorithm but TF-M did not permit non-secure access to the FPU. Now with the new config option `CONFIG_TFM_ENABLE_FPU` available, enable it to permit non-secure usage of the FPU. Hence enable full libc in the TF-M examples. Also fix an unrelated side effect of using the Arm Compiler's full libc in conjunction with CMSIS RTX: Switch RTX mutex allocation to be from the heap. Previously, the pool of four static mutex objects was sufficient for the TF-M NS interface but now RTX's integration[1] with Arm libc's thread safety mechanism[2] requires five additional mutex objects. Allocating mutex objects from the heap removes the need to hardcode the number of objects. The thread in the TF-M example is already heap-allocated anyway, so this change does not introduce any inconsistency. [1] https://github.com/ARM-software/CMSIS_5/blob/5.9.0/CMSIS/RTOS2/RTX/Source/rtx_lib.c#L756-L799 [2] https://developer.arm.com/documentation/100073/0618/The-Arm-C-and-C---Libraries/Multithreaded-support-in-Arm-C-libraries/Management-of-locks-in-multithreaded-applications?lang=en Signed-off-by:
Lingkai Dong <lingkai.dong@arm.com>
-