Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Architectures and Processors blog Customizing Cortex A5 DesignStart Software
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • DesignStart
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Customizing Cortex A5 DesignStart Software

Matt Spencer
Matt Spencer
December 9, 2019
2 minute read time.

Software Architecture

The Software Structure of Cortex A5 DesignStart stack is as shown in Figure 1.  At the base of the stack is Trusted Firmware -A, which provides the foundation for secure boot and standard power management interface using PSCI. Above this is a Mainline Linux kernel, this can be used to support a wide range of applications.   We have chosen to deploy Poky-Tiny Openembedded Distro as the default filesystem in our reference stack as this brings us an easy to develop and deploy distribution.

Yocto Structure

Yocto is the tool we use to build root filesystems to deploy to the A5 DesignStart FastModel or FPGA image.  The structure of the Yocto recipes can be seen in figure 2.  If you are new to Yocto, there are plenty of resources available online.  Check out the references section below that will bring you up to speed.  The Making Changes section of this post will cover how you can modify the configuration of code that we have supplied to bootstrap your development on A5 DesignStart.

Making Changes

Assuming the code has already been built using the instructions mentioned in this guide, there is a well defined process for modifying code in pre-existing layers.  More in-depth details of this process can be found here.

As an example, consider you wanted to add a driver or config change to your kernel, the Yocto defined process for doing this would be

cd /build-iota-tiny/

devtool modify linux-arm

# Edit the code that is now available in /build-iota-tiny/workspaces/sources/linux-arm

# Once you are happy with the code, commit to the locally created git repository in /build-iota-tiny/workspaces/sources/linux-arm

# Create the patches that will be applied to your recipes, layerpath here refers to the location of the 'User created layer' path shown in the Yocoto Structure diagram above

devtool update-recipe -a <layerpath> linux-arm

This same process works when modifying supplied recipes for trusted-firmware-a and u-boot.

Conclusion

This post has given a very brief quick-start-guide to working with A5 DesignStart with Yocto.  You should now be able to build and deploy a vanilla stack to a FastModel or FPGA.  You should also now be able to customize the reference components to suit your need.  All you need to do now is build your application ready to deploy on final silicon.

References

  • Yocto Reference Manual
  • Bitbake User Manual
  • How to create your own layers
  • Poky-Tiny Yocto Distro
  • Trusted firmware For Cortex A CPUs

Read more here

Anonymous
Architectures and Processors blog
  • When a barrier does not block: The pitfalls of partial order

    Wathsala Vithanage
    Wathsala Vithanage
    Acquire fences aren’t always enough. See how LDAPR exposed unsafe interleavings and what we did to patch the problem.
    • September 15, 2025
  • Introducing GICv5: Scalable and secure interrupt management for Arm

    Christoffer Dall
    Christoffer Dall
    Introducing Arm GICv5: a scalable, hypervisor-free interrupt controller for modern multi-core systems with improved virtualization and real-time support.
    • April 28, 2025
  • Getting started with AARCHMRS Features.json using Python

    Joh
    Joh
    A high-level introduction to the Arm Architecture Machine Readable Specification (AARCHMRS) Features.json with some examples to interpret and start to work with the available data using Python.
    • April 8, 2025