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.
To read the full article, click here
Related Semiconductor IP
- OPEN Alliance TC14 10BASE-T1S Topology Discovery IP
- HBM4 PHY IP
- 10-bit SAR ADC - XFAB XT018
- eFuse Controller IP
- Secure Storage Solution for OTP IP
Related Articles
- Method for Booting ARM Based Multi-Core SoCs
- Automating Hardware-Software Consistency in Complex SoCs
- An IP core based approach to the on-chip management of heterogeneous SoCs
- Verification of IP Core Based SoC's
Latest Articles
- Timing Fragility Aware Selective Hardening of RISCV Soft Processors on SRAM Based FPGAs
- Bio-RV: Low-Power Resource-Efficient RISC-V Processor for Biomedical Applications
- PermuteV: A Performant Side-channel-Resistant RISC-V Core Securing Edge AI Inference
- Making Strong Error-Correcting Codes Work Effectively for HBM in AI Inference
- Sensitivity-Aware Mixed-Precision Quantization for ReRAM-based Computing-in-Memory