Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
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 and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems 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
  • How Arm is making it easier to build platforms that support Confidential Computing

    Mark Knight
    Mark Knight
    With new open-source patches for the Realm Management Extension (RME) now available, this blog explores latest developments and techniques for confidential computing on Arm.
    • April 28, 2023
  • Apache Arrow optimization on Arm

    Yibo Cai
    Yibo Cai
    This blog introduces Arm optimization practices with two solid examples from Apache Arrow project.
    • February 23, 2023
  • Optimizing TIFF image processing using AARCH64 (64-bit) Neon

    Ramin Zaghi
    Ramin Zaghi
    This guest blog shows how 64-bit Neon technology can be used to improve performance in image processing applications.
    • October 13, 2022