Jumentum-SOC integrated BASIC programming system ported to LPC1768 and mbed
Topic last updated
22 May 2011, by
Daniel Marks.
13 replies
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
Replies
There is now a guide on-line to installing and using Jumentum-SOC on your mbed
http://jumentum.sourceforge.net/mbed.html
Dan
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!
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
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
georgestheking
#
08 May 2011
Dan,
It is really a very nice piece of code.
I recommend everybody to do a test.
Georges
georgestheking
#
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
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
Hi Jose and Daniel,
Many thanks for the Jumentum/Mbed release specific for the CoolComponents board.
Much appreciated
Regards
Peter
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
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
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
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
Hi Dan,
can SOC only be compiled with windows or is there also a chance for a macbook user ?
voy
Please log in to post a reply.
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