Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Open Source Software and Platforms
Open Source Software and Platforms
Wiki Musca-A Secure/Non-secure Blinky example
  • Help
  • Jump...
  • Cancel
  • About this wiki
  • Supported platforms
  • Obtaining support
  • +Arm Reference Platforms deliverables
  • +A-class platforms
  • -M-class platforms
    • -IoT Subsystems
      • Corstone-300 Platforms
      • +Beetle development board
      • -Musca development boards
        • Musca Platforms Links & Resources
        • -Musca-A development board
          • Musca-A Links and Resources
          • Musca-A Frequently Asked Questions
          • Musca-A Power Rail Information
          • Drag & Drop issues on Musca-A boards
          • Musca-A Firmware update & QSPI / Boot recovery
          • Keil Support for Musca-A
          • -Musca-A Software Examples
            • TF-M Musca Demo
            • TF-M Musca Regression Test
            • Musca-A Secure/Non-secure Blinky example
            • Musca-A MHU Doorbell example
        • +Musca-B1 development board
        • +Musca-S1 development board
        • Configuring S/NS Memory in an Armv8-M System
  • +R-class platforms
  • +FPGA prototyping boards
  • +Open source software

Musca-A Secure/Non-secure Blinky example

NOTE: This example does not build when Keil Musca-A BSP v2.0.0 or later is installed

This example switches the Musca LEDs ON and OFF with a hard coded interval.

The implementation is divided into secure and non-secure code projects. You need to set a project as the "Active Project" in order to compile it, load it, or view it's settings.

The secure code performs the follow functionality:

  • Sets secure and non-secure system configuration.
  • Handles time management
  • Initilizes GPIO pins for the LEDs
  • Switches user LEDs on/off

The non-secure code performs the follow functionality:

  • If there is only one LED
    • Asks the secure code to switch LED state
    • Maintains LED state based on the return value from the secure code
  • If there are many LEDs
    • Maintains the state of the LED that has changed the last time based on the return value from the secure code
    • Asks the secure code to switch state of the next LED

All the target options necessary for compiling, loading and debugging this example are already set in the project for you.  These can be viewed by clicking on the "Options for Target" button for both projects. 

To compile this example correctly the secure code needs to be compiled first and then the non-secure. Each projects image can be loaded onto the board by clicking the Load icon. It does not matter which image is loaded first.

IMPORTANT NOTE: The latest Keil pack examples have been developed using newer firmware than that delivered on the boards.  Before trying to use these examples on the boards, please ensure that the board has the latest firmware installed (see here for instructions on installing the latest firmware).

  • Musca-A
  • Share
  • History
  • More
  • Cancel
Related
Recommended