Difference between revisions of "ARM Board"

From Fixme.ch
Jump to: navigation, search
Line 58: Line 58:
  
 
* gcc/binutils/gdb support ARM Cortex-M0
 
* gcc/binutils/gdb support ARM Cortex-M0
 +
 +
==== In progress ====
 +
 +
[http://dangerousprototypes.com/docs/Bus_Blaster Bus Blaster] can speak SWD with KT firmware; use UrJTAG git as root to [http://dangerousprototypes.com/docs/Bus_Blaster_v2_manufacturing_resources flash] (interface=1).  TODO: test SWD connection to target.
  
 
==== What needs work ====
 
==== What needs work ====

Revision as of 23:18, 27 September 2011

Revision 1 of the ARM development board

The goal is to have a small, cheap, and powerful development board that supports USB for easy programming, at low parts costs (current estimate < $5). This allows us to use the board for all silly purposes where spending >$20 for an Arduino is just too much. The board is like the Teensy, just with an ARM microcontroller instead.

Quick links

Detailed Description

The board uses a Nuvoton NUC120 48-pin microcontroller which has an ARM Cortex-M0 CPU 32-bit CPU core.

Features:

  • up to 50MHz
  • 32KKB-128KKB program flash, 4KKB-16KKB RAM, 4KKB data flash, 4KKB boot loader flash
  • 2 UART, 1 SPI, 2 I2C, USB, 1 analog comparator, 4 PWM, 8 12-bit ADC channels

The board contains:

  • USB A connector on board outline
  • optional Mini-USB receptacle
  • USB header connector for direct wire connections (e.g. inside PC)
  • optional voltage regulator for external voltage (up to 13V)
  • optional LiPo battery charger IC for battery operation
  • LiPo charger can be driven from a solar panel
  • SWD debug/programming header
  • reset button
  • 1 LED for binary debug/information display

Project roadmap

Hardware design

In beta state. Version 1 boards have been fabbed and need to be tested and assembled

Errata/changes required for next version:

  • probably a problem with 3.3V circuit operation and battery: PMOS gate only gets pulled up to 3.3V, but likely needs the full battery voltage. Replacing PMOS with SOT-323 footprint might help routing.

Toolchain

Proprietary windows software is available, but we'd like to have complete support with free software tools.

What works

  • gcc/binutils/gdb support ARM Cortex-M0

In progress

Bus Blaster can speak SWD with KT firmware; use UrJTAG git as root to flash (interface=1). TODO: test SWD connection to target.

What needs work

  • Programming/Debugging: OpenOCD supposedly supports SWD. Needs to be confirmed what works.
  • Need bootloader and programming software. Proprietary from Nuvoton available
  • Tool library?

Programming envionment

Example projects

  • OTP generator (yubikey-like)
  • Your idea here

People involved

Simon