ARM Cortex-M
Revision as of 16:02, 2 March 2016 by <bdi>PhilippeTeuwen</bdi> (talk | contribs) (Reverted edits by JasonAnderson (talk) to last revision by PhilippeTeuwen)
Misc resources for ARM Cortex-M serie
Cortex-M0
- Demo boards list
- LPCXpresso demoboard with LPC1227: OM13008
Cortex-M3
- Demo boards list
- LPCXpresso demoboard with LPC1347: OM13045
Be careful example codes for LPC1343 won't run on LPC1347, use examples from the 13xx 12-bit ADC version:
/usr/local/lpcxpresso_5.1.2_2065/lpcxpresso/Examples/NXP/LPC1000/LPC13xx_12bitADC
If board is messed up, one can force ISP mode to enable flashing a new code by pulling pin P0_1 to GND during reset.
Cortex-M4
Relatively small demoboard with Cortex M0 + Cortex M4: OM13027, Product page
It's not a LPCXpresso board but it can be programmed through LPCXpresso LPC-Link
LPCXpresso
Links
- LPC Zone (see also here)
- LPCware online community
- Forum @ NXP
- Getting started (pdf), newer version here
- code_red IDE (info here)
- LPC1343 Codebase at MicroBuilder
- LPC Codebases at NXP
- Embedded Artsts demoboards
Installation under Linux
I had troubles with the provided /etc/udev/rules.d/85-code-red.rules
Here is mine: (then you need to be member of plugdev group)
# Define some simple rules for supported Code Red USB Devices
# Each rules simply makes the device world writable when connected
# thus avoiding the need to run the debug drivers as root
SUBSYSTEM!="usb|usb_device", GOTO="codered_rules_end"
ACTION!="add", GOTO="codered_rules_end"
# LPC-Link (unbooted)
ATTRS{idVendor}=="0471", ATTRS{idProduct}=="df55", MODE="0664", GROUP="plugdev"
# LPC-Link (winusb)
ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0009", MODE="0664", GROUP="plugdev"
# LPC-Link (hid)
ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0007", MODE="0664", GROUP="plugdev"
# NXP LPC
ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="000c", MODE="0664", GROUP="plugdev"
# TI/LMI Eval board
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="0664", GROUP="plugdev"
# TI/LMI ICDI
ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0664", GROUP="plugdev"
# Red Probe
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ad08", MODE="0664", GROUP="plugdev"
# RDB-Link
ATTRS{idVendor}=="21bd", ATTRS{idProduct}=="0001", MODE="0664", GROUP="plugdev"
# Red Probe+
ATTRS{idVendor}=="21bd", ATTRS{idProduct}=="0003", MODE="0664", GROUP="plugdev"
# Redlink
KERNEL=="hidraw*", ATTRS{idVendor}=="21bd", ATTRS{idProduct}=="0006", MODE="0664", GROUP="plugdev"
# FTDI adapters (i.e. USB serial ports)
# Generically set to world read/write. If not, ftdi driver aborts when trying to
# scan for debug adapters.
ATTRS{idVendor}=="0403", MODE="0664", GROUP="plugdev"
LABEL="codered_rules_end"
On a 64-bit multiarch Debian, I had a few missing packages:
apt-get install gtk2-engines:i386 libcanberra-gtk-module:i386