ARM Cortex-M: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
m Reverted edits by JasonAnderson (talk) to last revision by PhilippeTeuwen |
|||
| (9 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Misc resources for ARM Cortex-M serie |
Misc resources for ARM Cortex-M serie |
||
==Cortex-M0== |
|||
* [http://www.nxp.com/products/microcontrollers/cortex_m0_m0/#demoboards Demo boards list] |
|||
* LPCXpresso demoboard with LPC1227: [http://www.nxp.com/demoboard/OM13008.html OM13008] |
|||
==Cortex-M3== |
==Cortex-M3== |
||
* [http://www.nxp.com/products/microcontrollers/cortex_m3/#demoboards Demo boards list] |
* [http://www.nxp.com/products/microcontrollers/cortex_m3/#demoboards Demo boards list] |
||
* |
* LPCXpresso demoboard with LPC1347: [http://www.nxp.com/demoboard/OM13045.html 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== |
==Cortex-M4== |
||
* [http://www.nxp.com/products/microcontrollers/cortex_m4/#demoboards Demo boards list] |
* [http://www.nxp.com/products/microcontrollers/cortex_m4/#demoboards Demo boards list] |
||
Relatively small demoboard with Cortex M0 + Cortex M4: [http://www.nxp.com/demoboard/OM13027.html OM13027] |
Relatively small demoboard with Cortex M0 + Cortex M4: [http://www.nxp.com/demoboard/OM13027.html OM13027], [http://shop.ngxtechnologies.com/product_info.php?cPath=21_37&products_id=104 Product page] |
||
<br>It's not a LPCXpresso board but it can be programmed through LPCXpresso LPC-Link |
|||
==LPCXPresso== |
|||
==LPCXpresso== |
|||
===Links=== |
|||
* [http://www.nxp.com/techzones/microcontrollers-techzone/tools-ecosystem/lpcxpresso.html LPC Zone] (see also [http://ics.nxp.com/lpcxpresso/ here]) |
* [http://www.nxp.com/techzones/microcontrollers-techzone/tools-ecosystem/lpcxpresso.html LPC Zone] (see also [http://ics.nxp.com/lpcxpresso/ here]) |
||
* [http://www.lpcware.com/ LPCware] online community |
* [http://www.lpcware.com/ LPCware] online community |
||
| Line 17: | Line 27: | ||
* [http://ics.nxp.com/support/lpcxpresso/ LPC Codebases at NXP] |
* [http://ics.nxp.com/support/lpcxpresso/ LPC Codebases at NXP] |
||
* [http://www.embeddedartists.com/products/lpcxpresso/ Embedded Artsts] demoboards |
* [http://www.embeddedartists.com/products/lpcxpresso/ Embedded Artsts] demoboards |
||
===Installation under Linux=== |
|||
I had troubles with the provided /etc/udev/rules.d/85-code-red.rules |
|||
<br>Here is mine: (then you need to be member of plugdev group) |
|||
<source lang=bash> |
|||
# 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" |
|||
</source> |
|||
On a 64-bit multiarch Debian, I had a few missing packages: |
|||
apt-get install gtk2-engines:i386 libcanberra-gtk-module:i386 |
|||
Latest revision as of 15:02, 2 March 2016
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