The Cortex-M0 DesignStart evaluation board allows developers to prototype and evaluate designs using the ARM Cortex-M0 processor. However, users may encounter issues when attempting to get started with the DesignStart board and Versatile Express Cortex-M prototyping system. This article provides troubleshooting tips and solutions for common problems.
Verifying Hardware Setup
Before software debugging, first verify the hardware is properly connected:
- Connect the 20-pin JTAG cable from the Versatile Express board to the Cortex-M0 DesignStart board. Ensure the cable is securely attached at both ends.
- Check that the Versatile Express board is powered on. The green power LED should be illuminated.
- Verify the Cortex-M0 DesignStart board is powered. Check for +3.3V power LED.
- Confirm jumper settings on the DesignStart board are correct for JTAG debugging mode.
Configuring Debug Software
The ARM Development Studio 5 (DS-5) software is recommended for debugging Cortex-M0 designs. Properly configuring the debug settings is important:
- Launch the DS-5 Debug Configuration wizard to create a new debug configuration.
- Select the Versatile Express board in the wizard and enable multi-core debugging.
- Specify the Cortex-M0 target, such as the DesignStart board.
- Point the DS-5 project to the compiled executable file for your application.
- Verify debugger settings like JTAG clock speed are appropriate.
- Save the debug configuration settings for future debugging sessions.
Troubleshooting JTAG Connection
Failure to connect to the target Cortex-M0 processor is a common issue. Try the following to troubleshoot JTAG connectivity:
- Reseat JTAG cable connections at both ends to ensure a solid connection.
- Try swapping out the JTAG cable in case the cable is defective.
- Check for bent or damaged JTAG pins on header connectors.
- Ensure jumper settings on the DesignStart board enable JTAG mode.
- Test continuity across JTAG cable using multimeter to verify cabling is OK.
- Slow down JTAG clock speed in DS-5 debugger settings if using long cable.
Updating Hardware Drivers
Outdated or missing drivers for Versatile Express or DesignStart boards can also cause issues:
- Install latest Versatile Express board drivers from ARM.
- Update USB drivers for any required bridges or interfaces.
- On Linux, ensure up-to-date kernel drivers are loaded for ARM boards.
- Scan for any unknown devices in system device manager if boards not recognized.
- Review dmesg logs on Linux to identify driver problems reported at bootup.
Checking Clock and Power Settings
Incorrect clock configurations or power problems can prevent the Cortex-M0 target from operating properly:
- Verify correct clock sources and frequencies are used for Versatile Express and target boards.
- Check for missing or damaged capacitors on power supplies.
- Monitor target power rails during debug session for any dropouts or spikes.
- Measure target reset and brown-out voltages to ensure in spec.
- Examine target board schematics for any clock or power design issues.
Software Debugging Steps
If the hardware checks out, investigate software related problems:
- Examine DS-5 Debugger views during connection attempt to get clues.
- Use DS-5 steps, breakpoints and RTT printf to isolate code issues.
- Verify compiled executable is built for Cortex-M0 target.
- Check linker scripts and vectors for problems.
- Confirm Cortex-M0 startup code executes properly.
- Look for stack overflows or memory corruption.
Target Test Programs
Simple test programs can help validate the target Cortex-M0 hardware:
- Blink LED on timer interrupt to verify basic functionality.
- Loopback UART or SPI test to check peripherals.
- Echo ADC inputs on GPIO to validate converters.
- Exercise I2C or EEPROM to confirm connectivity.
- Run coremark benchmark for a quick performance test.
Seeking Additional Help
For further assistance, consult these additional resources:
- DesignStart user forums to find othersfacing similar issues.
- ARM support and knowledgebase fortechnical troubleshooting info.
- Versatile Express documentation and user guides.
- Technical questions on community sites like Stack Overflow.
- Contact DesignStart or Versatile Expressvendors for hardware-specific help.
By methodically troubleshooting both hardware configuration and software, most issues with the Cortex-M0 DesignStart and Versatile Express prototyping system can be resolved. Seeking help from documentation, forums, or vendor support can also assist in debugging more complex problems.