ARM Cortex-M

From YobiWiki
Jump to navigation Jump to search

Misc resources for ARM Cortex-M serie



Be careful example codes for LPC1343 won't run on LPC1347, use examples from the 13xx 12-bit ADC version:


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.


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



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"
ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="000c", MODE="0664", GROUP="plugdev"
# TI/LMI Eval board
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="0664", GROUP="plugdev"
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"


On a 64-bit multiarch Debian, I had a few missing packages:

apt-get install gtk2-engines:i386 libcanberra-gtk-module:i386