Using the Cortex M0+ in USB Memory Sticks for Audio Decoding

The Cortex M0+ microcontroller from ARM is well-suited for audio decoding applications in USB memory sticks due to its low power consumption, small size, and built-in DSP capabilities. By leveraging the Cortex M0+ processor, USB drive manufacturers can add high-quality audio playback to standard thumb drives without significantly increasing cost or power draw. Overview of…

Setting Up Thumb vs ARM Instruction Fetching on Cortex-M1

The Cortex-M1 processor from ARM can execute both Thumb and ARM instructions. The processor starts up in Thumb mode by default, but it is possible to switch between Thumb and ARM modes at runtime. This allows mixing 16-bit Thumb and 32-bit ARM instructions to optimize code size and performance. Thumb vs ARM Instructions Thumb instructions…

Configuring Cortex-M1 Reset Behavior When Using External BRAM

When using external BRAM with the Cortex-M1 processor, it is important to properly configure the reset behavior to ensure correct system operation. The Cortex-M1 supports flexible reset configurations to accommodate different use cases. This article provides guidance on configuring the start-up reset behavior when integrating external BRAM with Cortex-M1. Overview of Cortex-M1 Reset The Cortex-M1…

Using External BRAM as Instruction/Data Memory for Cortex-M1

The Cortex-M1 processor allows for flexible memory configuration by supporting both internal and external memories for instructions and data. Using external block RAM (BRAM) as additional instruction and data memory can provide several benefits compared to relying solely on internal SRAM, such as increased memory size, lower cost per bit, and reduced power consumption. Benefits…

Options for Exporting Code Coverage Results from Keil μVision

Keil μVision is a popular integrated development environment (IDE) used for developing and debugging embedded applications based on ARM Cortex microcontrollers. One useful feature it provides is code coverage analysis, which shows how much of your source code is executed during testing. μVision can generate detailed code coverage reports, but it does not directly support…

File Format for Code Coverage Data in Keil μVision

When running code coverage in Keil μVision, the code coverage data can be exported to a file for further analysis. This file uses a specific format to store the coverage information generated during testing. Understanding this file format is important for processing and visualizing the coverage data outside of the μVision environment. Overview of Code…

Using the Cortex-M0 DesignStart Soft Core with MPS2+

The Cortex-M0 DesignStart soft core provides a low-cost entry point for exploring ARM’s Cortex-M0 processor IP. By combining the DesignStart core with the MPS2+ FPGA development board, users can quickly prototype and evaluate Cortex-M0 based systems. This combination offers an affordable option for learning about ARM’s most energy efficient Cortex processor. Overview of the Cortex-M0…

Tips for Updating Vivado and Migration of ARM Projects

Updating to the latest version of Xilinx Vivado can provide access to new features, improved performance, and bug fixes. However, it also often requires migrating existing projects to the new version. For ARM-based designs, this migration process can be tricky if not handled properly. Here are some tips for smoothly updating Vivado and migrating ARM…