ARM Cortex-M

From YobiWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Misc resources for ARM Cortex-M serie

Cortex-M0

Cortex-M3

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

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