Jumentum-SOC integrated BASIC programming system ported to LPC1768 and mbed

25 Dec 2010

Hello mbed fans,

I have ported the Jumentum system-on-chip to mbed.  The web page is at

http://jumentum.sourceforge.net

and can be downloaded at

https://sourceforge.net/projects/jumentum/files/Jumentum-SOC/Jumentum-SOC-0.99.zip/download

It is a BASIC programming language you can use to program your mbed from over the Internet.  It supports many of the LPC ARM processor's features such as ethernet, SPI, SD cards, and like mbed itself, is programmable on the web.  Jumentum, however, contains the entire development environment on the microcontroller itself, and only needs a web browser to program.

You can literally flash it onto your mbed and start programming.  There is a full-screen text editor built (accessible from the serial port or telnet), or you can use the serial port.

It is easy to use to create web-based apps to control hardware, as there are built-in commands in BASIC for web forms and TCP/IP sockets.  Examples include controlling an LCD from the web, streaming MP3's from an SD card, and an oscilloscope app that captures waveforms and shows the waveforms as a graphical trace on a web page.

If you want to hook your mbed onto an Ethernet port to try Jumentum-SOC among other projects, use the instructions here (I used the SparkFun PRT-08534):

http://mbed.org/users/rolf/notebook/ethernet/

Jumentum-SOC also works with the earlier LPC21xx ARM processors too.

Enjoy!

Dan

26 Dec 2010

There is now a guide on-line to installing and using Jumentum-SOC on your mbed

http://jumentum.sourceforge.net/mbed.html

Dan

26 Dec 2010

Wow! This is a great idea! I understand that this may be a little early in its life-cycle, but I can imagine this being distributed as a stand alone *.bin and becoming quite popular, especially in universities and amongst hobbyists, not unlike the original basic stamps.

Great Job!

20 Apr 2011

Hi Daniel, Congratulations! Jumentum SOC runs really well on the mbed, thank you for porting it over to the LPC1768.

Truly a Basic Stamp 3+

Regards Pete

05 May 2011

Hi Daniel, I am new into Mbed (I am used to PICs) and still amazed of how easy is to do complex things . I tried the Jumentum Basic porting to be able to do some quick applications off-line and worked inmediatly, via USB serial port and web browser. Probably I will end up doing something to remotely control appliances in my fathers in law home using the Basic porting.

One thing that I am not able to use is the access to the SD. I have a Cool Components expansion board for MBED and I can use the micro-SD card successfully with the Mbed libraries, but does not seem to work from within the Basic: Despite configuring nofatfs=y or n, I always get the "MMC/SD absent" message. ¿Is there some additonal configurations needed to enable de SD?. ¿Needs to be formatted with an specific format?. I am using a 2GB micro SD card.

Regards, Josep

08 May 2011

Dan,

It is really a very nice piece of code. I recommend everybody to do a test.

Georges

14 May 2011

Info,

The SPI port use by Jumentum for the SD Card is not the same as the CoolComponents board use.

Regards

Georges

15 May 2011

Hi, Info2: Jumentum is using 11,12,13,14 for the SD while Coolcomponents board is using the other SPI in 5,6,7,8.

Anyhow, if someone wants to do a test with an unmodified Coolcomponents board, Daniel Marks was very kind and made a compilation of the 0.99.1 release with the the SD arrangements for this board, and it works!
I suposse that there will be no more specific compilations for this board, so the ones that are using it should rework the board to suit the 11,12,13,14 pinout.
This special compilation can be found at:

No floating point http://mbed.org/media/uploads/profdc9/basic-mbed.bin

Floating point http://mbed.org/media/uploads/profdc9/basic-mbed-float.bin

Regards, Jose-maria

15 May 2011

Hi Jose and Daniel,

Many thanks for the Jumentum/Mbed release specific for the CoolComponents board. Much appreciated

Regards Peter

16 May 2011

Hi Daniel,

After successfully testing the compilation you made to use a Coolcomponents board for MBED, I am a bit confused regarding the SPI channel used in the compilation for MBED (0.99-1).

According to the contents of the "Makefie-lpc1700", it seems to be using the SPI1:

<nowiki># Special stuff for MBED</nowiki>

BOARDTYPE = -DLPC1768 -DSPI1 -DMBED

but looking at the Jumentum documentation, where the equivalence of Mbed/Jumentum is listed, I se the following correspondence:

MBED -JUM -Function NXP

DIP5 -9 -MOSI1

DIP6 -8 -MISO1

DIP7 -7 -SCK1

DIP8 -6 -SSEL1

DIP11 -18 -MOSI0

DIP12 -17 -MISO0

DIP13 -15 -SCK0

DIP14 -16 -SSEL0

According to this, the compilation should come out ready to use an SD in SP1 (DIP5,6,7,8) when in fact the compilations seem to be using the SP0 (DIP11,12,13,14).

In theory, the usual compilations you were releasing should be using DSPI1, according to the makefile, and therefore compatible with the Coolcomponents boards.... but are not.

Is the source file wrong ?, Are the compiler references of SPI0 and SPI1 reversed compared to the NXP naming ?

I will appreciate if you could bring some light to my mental darkness.

Thanks,

Jose Maria

19 May 2011

To make thinks more fuzzy, release 0.99.2 is using the SD in SPI DIP5,6,7,8. In summary, if DIP5,6,7,8 do not work, try DIP11,12,13,14 of MBED.

Josep Maria

21 May 2011

I think I have the SSP blocks assigned correctly. The Cool Components board (and my mbed board from ngx technologies) appears to use SSP1 which can be set by defining LPC17XX_SPI1, the default is SSP0. Chapter 7 in the LPC1768 data sheet seems to confirm this, and this is the code in Jumentum to select between the two:

#ifdef LPC17XX_SSP1
	PinCfg.Pinnum = 7;
#else	
	PinCfg.Pinnum = 15;
#endif
	PINSEL_ConfigPin(&PinCfg);
#ifdef LPC17XX_SSP1
	PinCfg.Pinnum = 8;
#else
	PinCfg.Pinnum = 17;
#endif
	PINSEL_ConfigPin(&PinCfg);
#ifdef LPC17XX_SSP1
	PinCfg.Pinnum = 9;
#else
	PinCfg.Pinnum = 18;
#endif
	PINSEL_ConfigPin(&PinCfg);
#ifdef LPC17XX_SSP1
	PinCfg.Pinnum = 6;
#else
	PinCfg.Pinnum = 16;
#endif

The bottom line is, if you want to use the Cool Components board, define MBED and/or LPC17XX_SSP1 when compiling which will use SSP1, pins 6-9. Otherwise SSP0 is used, which are pins 15-18.

Dan

21 May 2011

Hello Dan,

Now it is clear .Thanks for your patience with me..... :-)

Current version 0.99.2 is running fine with the SD on 5,6,7,8.

I moved my MBED to a breadboard and made a cable from the SD to the MBED with 4 post pins, so now it takes 2 seconds for me to change from SPI0 to SPI1. Problem solved.

Jose-Maria

22 May 2011

Hi Dan,

can SOC only be compiled with windows or is there also a chance for a macbook user ?

voy