Gen7 Board-ARM 2.0

From RepRapWiki
(Redirected from Gen7-ARM)
Jump to: navigation, search
Gen7 Board History   --   Gen7 Board is part of Generation 7 Electronics
Gen7 Board-ARM 2.0 | Gen7 Board-AVR 1.5 | Gen7 Board 1.4.1 | Gen7 Board 1.3.1
Gen7 Board 1.2 | Gen7 Board 1.1 | Gen7 Board 1.0

<< Next Version
Gen7 Board-ARM 2.0
Previous Version >>

Crystal Clear action run.png
Generation 7 Electronics Board

Release status: working

Gen7 Board-ARM 2.0.jpeg
Description Generation 7 Electronics based on an 32-bit ARM Cortex-M0
License Creative Commons BY-NC-SA 3.0
Author Traumflug
Contributors
Based-on Delta
Categories Mendel_Development Generation 7 electronics
CAD Models
External Link (none)


Generation 7 Electronics Board-ARM v2.0 is the first Gen7 based on an ARM, an LPC1114FN28. Like all earlier Gen7s it's still easily DIY-able, because this FN28 comes with through-hole pins spaced at 0.1“ (2.54 mm).


Infobox info icon.svg.png Gen7 has moved
This page shows just the early beginnings of Gen7-ARM. Documentation has moved since then to RepRap DIY.


Compared to earlier Gen7s it's considerably faster. It has been demonstrated to deliver as many as 130'000 steps/second to the stepper driver, so 1/32 microstepping is no longer a bottleneck. Even at 1/128 microstepping one can achieve reasonable performance.

Contents

Serial Line Troubleshooting

In case your serial line doesn't work as expected, here are hints for finding the cause.

Connecting to the Bootloader Manually

Even with a factory fresh chip, you can connect to the chip using a serial terminal (PuTTY, GtkTerm, ...).

  • Connect the USB-TTL adapter as usual. You should get an additional serial port on your host's operating system. Baud rate doesn't matter, I've tested 9600 and 115200 baud.
  • Connect with the serial terminal to this port.
  • Connect PIO0_1 to GND. On the Gen7-ARM, this is also the Z axis Step signal, so you can use the Pololu's header's pin for this.
  • Press and release the Reset button.
  • In the serial terminal, enter a question mark ( '?', 0x3F ).
  • The LPC1114 should answer with "Synchronized" in clear text.
  • Send back the same text ("Synchronized"), followed by Enter.
  • The LPC1114 should answer with "OK".
  • ... etc. etc. The protocol is described on p408ff of the LPC1114 User Manual.

If you don't get a response from the chip, press Reset again and start over. If it still doesn't work, it's time to grab the voltage meter or logic analyzer to find out what's going on.

Basic example

Here's a transscript of the first successful attempt to upload a firmware:

$ git svn clone https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp
[...]
$ cd lpc21isp/
$ make
[...]
$ ./lpc21isp -control -bin /tmp/build3402789950117874614.tmp/Blink.cpp.bin \
  /dev/ttyUSB0 115200 12000
lpc21isp version 1.85
File /tmp/build3402789950117874614.tmp/Blink.cpp.bin:
  loaded...
  image size : 9752
Image size : 9752
Synchronizing (ESC to abort). OK
Read bootcode version: 1
7
Read part ID: LPC1114.../102, 32 kiB ROM / 4 kiB SRAM (0x1A40902B)
Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.
Erasing sector 0 first, to invalidate checksum. OK 
Sector 1: ...........................|.........................|.........................|.........................
Sector 2: ...........................|.............
Sector 0: ..........................|.........................|.........................|.........................
Download Finished... taking 1 seconds
Now launching the brand new code

History

bobc was the first RepRapper to run his printer with a Gen7-ARM, see also the RepRap wiki: