Welcome! Log In Create A New Profile

Advanced

ARM Processor

Posted by jbernardis 
ARM Processor
May 21, 2013 02:50PM
I'm building a delta/rostock printer of my own design, and I've reached the point where I need to start thinking about electronics/controller. I like everything I read about the Gen7 project, and am leaning in that direction. One thing I have to ask, though, is how close you are to having an ARM processor version. It's mentioned on the reprap wiki that the main stumbling block is the porting (or lack thereof) of the firmware.

I'm just trying to get a handle on whether I should buy the AVR version or wait for the ARM.

BTW - I am a software engineer by profession. Perhaps there is a way I can help out with the porting effort?
Re: ARM Processor
May 22, 2013 07:29AM
Waiting won't help, I guess. I have a Gen7-ARM on my desk here, collecting dust. The CPU is an LPC1114FN28, which is an ARM-Cortex-M0. Just 32 kB flash and 8 kB RAM, which is small compared to something like a RaspberryPi. But should be sufficient.

If you want one, or just a PCB, and feel like being capable of completing the ARM port of Teacup Firmware (works on ARM-based Teensy already), drop me a PM.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: ARM Processor
May 22, 2013 05:14PM
I did a port of Teacup for Gen7-ARM, I'm using it right now in fact. The code is at [github.com]

I used ChibiOS to provide an abstraction layer for LPC1114 peripherals, though if I was doing it again I think I would call the NXP driver library directly. ChibiOS is rather complicated for what we need, and the abstraction layer is not very complete anyway.

I looked into how Paul from Teensy did the Teensy support in Arduino, and he has provided a fairly comprehensive library which is compatible with Arduino-AVR. He has added all the necessary glue it appears to make the Teensy series fairly seemless in the Arduino IDE.

The same could be done for LPC1114, but I would not be keen to embark on that much effort just to get Gen7-ARM compiling under Arduino, particularly as the latest Arduino 1.5.x IDE is quite different to previous versions.

I don't know how far DaveX got with the Teensy3 port, I did try building the teensy3 branch in Teacup and was unable to get it to compile either in Arduino IDE or using make.

I was hoping to find a better way to separate target code than using a forest of #ifdefs, but the Arduino IDE is very limited, and there a few options available. I think I would at least try to separate the code into generic and target specific modules.
Re: ARM Processor
May 23, 2013 07:52AM
Quote

I was hoping to find a better way to separate target code than using a forest of #ifdefs, but the Arduino IDE is very limited, and there a few options available. I think I would at least try to separate the code into generic and target specific modules.

To some extents, @DaveX has done this already: [github.com] Teacup has done pretty well so far with its #define-based abstraction layer and this file provides most of this layer for one of the ARM CPUs.

The teensy3 port has a dependency on a custom extension for the Arduino IDE, though, which, I agree, should go away.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Sorry, only registered users may post in this forum.

Click here to login