Debugging hard faults in ARM Cortex-M0 based SoCs
Shashikant Joshi & Hanumanthaiah Shruti (Cypress Semiconductors)
embedded.com (February 08, 2017)
Programmable system-on-chip (PSoC) architectures integrate a wide range of capabilities, including MCU cores like the Cortex-M0, programmable analog blocks (PAB), programmable digital blocks (PDB), programmable interconnect and routing, a wide range of interfaces and peripherals, and advanced capabilities such as capacitive touch sensing. These architectures over many advantages over traditional microcontrollers and can substantially reduce design time and system bill of materials (BOM) cost.
As the complexity of programmable system-on-chip architectures and their MCU increases, so do the issues that can occur at each stage of design. One common issue developers face in Cortex-M0-based embedded systems is the hard fault. In some cases, we might get lucky and be able to quickly locate the source of the hard fault. However, most of the time chasing down a hard fault can be very time consuming. In this article, we will discuss some common errors programmers make and how to debug the hard fault caused by these errors.
![]() |
E-mail This Article | ![]() |
![]() |
Printer-Friendly Page |
|
Related Articles
- Designing with ARM Cortex-M based System-On-Chips (SoCs) - Part I: The basics
- Designing with ARM Cortex-M based SoC Achitectures: Part 2 - Some typical applications
- An introduction to ARM Cortex-M0 DesignStart
- Method for Booting ARM Based Multi-Core SoCs
- ADCs in SoCs - Just a placeholder or a vital subsection?
New Articles
- CAVP - NIST ACVTS - Are you still with me?
- Paving the way for the next generation audio codec for True Wireless Stereo (TWS) applications - Optimizing latency key factor
- Basics of SRAM PUF and how to deploy it for IoT security
- Colibri, the codec for perfect quality and fast distribution of professional AV over IP
- Increasing bandwidth to 128 GB/s with a tailored PCIe 6.0 IP Controller
Most Popular
- Dynamic Memory Allocation and Fragmentation in C and C++
- System Verilog Macro: A Powerful Feature for Design Verification Projects
- System Verilog Assertions Simplified
- Using SystemVerilog Assertions in RTL Code
- Why using Single Root I/O Virtualization (SR-IOV) can help improve I/O performance and Reduce Costs