Skip to content
  1. Mar 21, 2022
    • Lingkai Dong's avatar
      contributing: Add Pre-commit section · ec44eae9
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      The pre-commit tool performs automated actions on user commits, as
      configured in `.pre-commit-config.yaml`. This project's pre-commit
      currently includes hooks for formatting code and license headers,
      which help an author ensure their contribution is compliant to some of
      the project's standards.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      ec44eae9
    • Lingkai Dong's avatar
      ci: pre-commit: Show diff on failure · 39e3ffa8
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      Pass the option `--show-diff-on-failure` when running pre-commit in the
      pipeline, so the author can see what needs to be changed.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      39e3ffa8
    • Lingkai Dong's avatar
      examples: Use a common serial_printf() · 66d5f743
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      As the printf() function has not been retargeted to use MCU-Driver-HAL's
      serial, we have a custom function in each example's main.c for printing
      to serial. To avoid duplicating this function in every example which
      makes it hard to maintain, move it into a new library and name the
      function serial_printf().
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      66d5f743
    • Lingkai Dong's avatar
      Set CMAKE_EXECUTABLE_SUFFIX to .elf · e4cb80fc
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      When linking an executable target, the output binary name CMake passes
      to the linker is <target>${CMAKE_EXECUTABLE_SUFFIX}. CMake automatically
      sets CMAKE_EXECUTABLE_SUFFIX to .elf for the Arm Compiler but does not
      set it for GCC.
      
      We set it in the SDK so that image names do not depend on which compiler
      is used, making scripting simpler. The name of an image to use for htrun
      is simplified to <target>.${IOTSDK_HTRUN_IMAGE_FORMAT}.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      e4cb80fc
    • Lingkai Dong's avatar
      ctest: Set baud rate to 115200 · 761bc09f
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      The baud rate used by all examples is 115200, which needs to be
      specified when running tests with htrun. As there is more than one
      common option to pass to htrun for all examples, add a new variable
      IOTSDK_HTRUN_COMMON_ARGUMENTS to store the list of options to avoid
      duplication.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      761bc09f
    • Lingkai Dong's avatar
      littlefs example: Fix wrong order in the log file · 8d7ae89f
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      Prior to the addition of --sync=0, this issue was hidden because the
      example was executed twice due to htrun retrying after sync timed out.
      After sync is disabled, the example is run once only.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      8d7ae89f
    • Lingkai Dong's avatar
      littlefs example: Add missing elf to bin conversion · d25fc7af
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      The linkers' output format of executables is ELF which contains useful
      information such as section addresses and debug symbols. But sometimes
      raw binaries are needed, for example when a board's disk mount takes a
      raw binary image for flashing.
      
      We always generate a raw binary for each example so users and CTest can
      use it as needed. This was missing for the littlefs example.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      d25fc7af
    • Vincent Coubard's avatar
      Update TF-M version to version 1.4.1 · c1635490
      Vincent Coubard authored and Rob Walton's avatar Rob Walton committed
      
      
      This version contains a useful update for the AN547 target and is base
      for TF-M branches that support floating point.
      
      Signed-off-by: Vincent Coubard's avatarVincent Coubard <vincent.coubard@arm.com>
      c1635490
    • Vincent Coubard's avatar
      Add patch command to TF-M · 977548ee
      Vincent Coubard authored and Rob Walton's avatar Rob Walton committed
      
      
      This change allows an application to provide its own patch for TF-M. It
      can be used by an application to use experimental features such as
      floating point.
      
      Signed-off-by: Vincent Coubard's avatarVincent Coubard <vincent.coubard@arm.com>
      977548ee
    • Lingkai Dong's avatar
      examples: Link HAL targets for startup file and linker script · 039cd425
      Lingkai Dong authored and Rob Walton's avatar Rob Walton committed
      
      
      While an application can provide its own startup file and linker script,
      it can instead use default ones from an `mcu-driver-<vendor>` repository
      by linking the corresponding `INTERFACE` target. In the examples that
      come with the SDK, we use the default target
      `mdh-arm-an547-mps3-startup` from
      `mcu-driver-reference-platforms-for-arm` for Corstone-300.
      
      The revisions of the `mcu-driver-reference-platforms-for-arm` repository
      have been bumped to bring in the aforementioned targets.
      
      Note: The `PRIVATE` keyword has been removed from
      `target_link_libraries` of `iotsdk-example-freertos`, because an
      executable is final and not linked by anything else anyway. This avoids
      the need for `PRIVATE` when subsequently linking the target for startup
      file and linker script, because CMake requires scope keywords to be used
      or not used consistently.
      
      Note: As before, TF-M and non-TF-M examples cannot be built together
      because
      * The CMSIS-RTX configuration depends on whether TrustZone is enabled
      or not, controlled by the macro `DOMAIN_NS`. It is not possible to have
      a single build of RTX that works in both cases.
      * For now, they use the same target `mdh-arm-an547-mps3-startup` for
      start up file and linker script but require different memory layouts
      (controlled by the macros `DOMAIN_NS` and `BL2`). This limitation would
      not exist if the TF-M example used the NS linker script from TF-M, but
      some pre-main functions in `mcu-driver-hal` (e.g. `mbed_boot()`) need
      special symbols (e.g. `__StackTop`) that are not provided by TF-M's NS
      linker script. In the future, wrapping of `main()` (and other
      "bootstrap" code) should be cleaned up from `mcu-driver-hal`.
      
      Signed-off-by: Lingkai Dong's avatarLingkai Dong <lingkai.dong@arm.com>
      039cd425
    • Jaeden Amero's avatar
      Update the pulled in toolchain · 8c9e2e28
      Jaeden Amero authored and Rob Walton's avatar Rob Walton committed
      
      
      The toolchain repo has been updated to remove setting of fshort-enum and
      fshort-wchar for ArmClang.
      
      Signed-off-by: Jaeden Amero's avatarJaeden Amero <jaeden.amero@arm.com>
      8c9e2e28
  2. Feb 07, 2022
Loading