Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog Code Optimization Tips for ARM-based PSoC Devices
  • 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

Tags
  • MDK-Arm
  • psoc
  • cypress
  • cortex
  • GNU
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Code Optimization Tips for ARM-based PSoC Devices

Mark Saunders
Mark Saunders
September 19, 2014

AN89610.pngI’ve been writing about memory optimization for a few weeks now, both here and on the Cypress developer community site. In all those posts I (hopefully) provide a useful tidbit of information but it’s not a forum for all the details, options and consequences of a given technique.

Some colleagues of mine published an Application Note discussing PSoC 4 and PSoC 5LP ARM Cortex Code Optimization and it is a fantastic resource for engineers looking to become proficient at writing embedded application on ARM devices, like PSoC.

Unlike my posts it covers performance optimization as well as code size concerns. It explains some good coding habits that ensure you get the results you want and really delves into the linker script options for both GNU compilers and the ARM MDK.

PSoC 5LP users should particularly benefit from the sections on bit-banding (which is only available on Cortex-M3) and Cypress DMA. There is also a great section on embedding assembler instructions and using compiler intrinsic for things like the Cortex-M3 saturation functions.

I could go on and on. I’ve been in embedded software for more years than I care to admit, and this document definitely clarified a couple of things for me. I highly recommend giving it a read. And keep it handy as a reference for when you need to get a little more from your toolchain.

Anonymous
Embedded and Microcontrollers blog
  • Formally verifying a floating-point division routine with Gappa – part 2

    Simon Tatham
    Simon Tatham
    A method of testing whether a numerical error analysis using Gappa really matches the code it is intended to describe.
    • September 4, 2025
  • Formally verifying a floating-point division routine with Gappa – part 1

    Simon Tatham
    Simon Tatham
    Learn the basics of using Gappa for numerical error analysis, using floating-point division in Arm machine code as a case study.
    • September 4, 2025
  • Adapting Kubernetes for high-performance IoT Edge deployments

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    In this blog post, we address heterogeneity in IoT edge deployments using Kubernetes.
    • August 21, 2024