Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Announcements
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Processors
  • Developer Community
  • IP Products
  • Processors
  • Jump...
  • Cancel
Processors
Processors blog Customizing Cortex A5 DesignStart Software
  • Blogs
  • Leaderboard
  • Forums
  • Videos & Files
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
More blogs in Processors
  • DesignStart blog

  • Machine Learning IP blog

  • Processors blog

  • TrustZone for Armv8-M 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

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
Processors blog
  • Learning from StaffPad: How to deploy apps with the Universal Windows Platform

    Ben Clark
    Ben Clark
    This blog explores how StaffPad, a music notation app, was deployed on Windows on Arm devices through the Universal Windows Platform.
    • January 18, 2021
  • Time to get excited about the growing Windows on Arm Ecosystem

    Rahoul Varma
    Rahoul Varma
    This blog highlights the latest developments with the growing Windows on Arm ecosystem.
    • November 30, 2020
  • Parallel heterogenous computing for IoT-boards and nanocomputers with Armv8 and AArch64 hardware architecture

    Arthur Ratz
    Arthur Ratz
    Read this guest blog by Arthur Ratz about computing for IoT-boards and nanocomputers with Armv8-A and AArch64. This is a guest blog contribution from Arthur Ratz Build and run a modern parallel code…
    • November 20, 2020