Luminary Micro Cortex M3 project - pre-announcement

Hi All

For anyone looking at using the Luminary Micro Cortex M3 core processors, please check out the following (pre-)announcement:

http://www.utasker.com/forum/index.php?topic=210.0

Beta users are very welcome and the project is on-line (Rowley Crossworks GCC build!) at http://demo.uTasker.com/

Note that other ARM projects are available for LPC and SAM7X so check out the forum if this is of interest to you:

http://www.uTasker.com/forum/

Best regards

Mark

http://www.uTasker.com

Hi All

The project has now been released!!

See the tutorial at http://www.utasker.com/docs/LM3Sxxxx/uT … 3SXXXX.PDF

and the official announcement at:

http://www.utasker.com/forum/index.php?topic=212.0

Best regards

Mark

Hey, thanks mjbcswitzerland for the link!!!

I did not even know uTasker was out there. i send in the request for my LPC2378 Olimex board and to my surprise it worked right out of the hole.

just had to change 2 defines, re-compile and BAM it worked.

The best thing for me is that it came with a Rowley project, as i cannot stand IAR.

I have had an interest for Luminary for some time. Now that i see how cool uTasker is i just order my Luminary LM3S8962 kit and cant wait to try it out.

Hey, glad you like it.

In fact it runs on the LPC, SAM7X, STR91, Freescale M5223X and NE64 ranges - and now on the LM3SXXXX family.

You can effectively jump a project around between chips by just using the corresponding package and setting the correct chip define (as long as they have the peripherals that are required of course).

You can also simulate all chips, so no need to wait until your evaluation board arrives - the ‘virtual’ chip will run in ‘real-time’ on your PC and can be contacted by other PCs on the network or via COM ports. You can use it for educational purposes to analyse SW and TCP/IP stack - even tracing frames through the chip’s peripheral service interrupt routines - all in the simulator. Afterwards cross-compile with your favourite compiler (including GNU) you can see it doing the same thing on the real HW - this can save huge amounts of development time…

The uTasker is quite well know in the Coldfire world (M5223X processors) with a lot of industrial projects based on it. In the ARM world the package is used by people who ‘discover’ it, but I can’t explain why there is more reluctance to take notice of it. But undeterred, we will be pushing the ARM devices more this year with more support and further developments, including a USB-stack to go with the TCP/IP stack, OS, drivers, simulator and forum support.

So enjoy it !! If you do encouter any difficulties - just visit the uTasker foum at http://www.uTasker.com/forum/ and we will do our best to sort it out as fast as possible.

Regards

Mark

i think the reluctance is a couple things.

#1) Need examples and more examples. if there were examples of how to create socket connections and things like this that would be nice.

examples of creating your own custom tasks. I believe people learn much more through examples than thumbing through pages and pages of manual and documents

#2) i don’t want to shoot my self in the foot for saying this, but you offer so much, much more that anyone else i can find. i have tried your demo for my NXP platform and it works and works well. i think people are like whats the gimmick here, why so much for so little cost.

on a side note, the only think i did not like about it was the web page format. i would have liked to be able to upload my web pages just the way they are without renaming them of worrying about sector placement.

it would be nice to use your great FTP upload and just upload my whole website to the external SPI flash, without changing a thing.

in any case, i would recommend this to people i know, the most amazing thing is how fast it runs on the NXP.

Hi

#1) Need examples and more examples

It is not easy to give people software and explain to them how to use it. Some want lots of documentation to read and others want to dive in and pick it up while experimenting. Therefore we try to give both these, plus the ability to walk through examples in the uTasker simulator (which is my favorite).

The demo project has lots of example in it and the forum contains also lots of practical descriptions and examples.

for example:

how to create socket connections

http://www.utasker.com/forum/index.php?topic=25.0

Working with UDP is here: http://www.utasker.com/forum/index.php? … 171#msg171

These contain explanations and code examples.

In addition, you can activate some demos in the demo project and see how they do it - then you can change them for your own use (don’t forget - using the simulator you can step through the code and see exactly how it works too):

#define DEMO_UDP in application.c shows how a UDP echo server is created.

#define TEST_TFTP in application.c shows how to send, get or compare files on a TFTP server.

#define USE_TIME_SERVER in config.h will show how to get the time from a time server using TCP.

examples of creating your own custom tasks

http://www.utasker.com/forum/index.php?topic=32.0 gives examples of most task issues. The demo project includes also some examples which can serve as a base for own task creation. Eg. #define SUPPORT_LCD in config.h activates an LCD task which switches between idle and polling modes - this can be used as a shell for most own new tasks. As explained in the previous link, this is also practical for adding extra open source code (which tends to run in a polling mode) - just throw it into a new task and that is basically it. Afterwards it can be optimised to becomem more efficient by making use for the OS resources rather than having to poll things.

why so much for so little cost

That is a strange question. Nowadays people expect to get all software for free (I thought) - what we sell is more the support which goes with it so that (commercial) users can get the most out of it to reduce development schedules and costs. Anyway we don’t actually sell the LPC package at the moment since we don’t consider it adequate yet (the support for Coldfire and SAM7X projects is better since it includes all important things including all standard interfaces and useful stuff like encrypted software uploads via web browser - this will be also extended to the LPC and Luminary projects as time goes by.

web page format

Yes this is a bit special. However it does allow a practical file system and FTP server to upload web pages at a cost of around 3k code. This has been a discussion point because some people would like FAT compatibility, but this has been decided against in the main project.

It is an idea to first know a bit of background:

  • there are many packages which require web pages to be compiled into the project and these often have conversion programs to do this. This was decided against because it doesn’t allow end users to change web pages (some one may simply like to translate some content but would need to be able to convert the input and recompile the code to do it… very awkward for an end user…!) FTP was therefore decided on (although it is also possible via HTTP post) since it is very practical for developers and also for end users (it can also be disabled or protected by password to block malicious changes).

  • the project is not designed to compete against Windows CE or uCLinux. If you have large chips with lots of memory then these are the ones to go for. It was designed for small footprint single chip processors and this means that the code should run not only on an LPC23XX with 256k FLASH but also on the smaller ones - like LPC2101 with 8k FLASH and 2k RAM. Although the TCP/IP stack won’t work on one of these the rest will - simply configure for LPC2101 in config.h and your project will be stripped of Ethernet and the rest will operate on the smallest chips (theoretically also the file system).

It needs a little file design from the programmer but the result is that most embedded projects can make good use of it and often allow a real product to fit in to a smaller chip - saving costs for production quantities which easily covers the cost of extra programmer’s effort.

Two last notes:

  1. One user has written a Java program which takes the files to be loaded and automatically converts them respecting the uFileSystem layout, plus stripping any white space to optimise size. These are then sent via FTP and it avoids any programmer effort at all… This is a nice idea but it will need a slight adjustment to work well with the LPC due to its rather large FLASH granularity… but it would be nice!

  2. Some users have added FAT to their projects - there is nothing to stop it being done, if this is necessary. See for example: http://www.utasker.com/forum/index.php? … 310#msg310

how fast it runs on the NXP

I am not sure how you interpret this but the uTasker project does try to optimise things especially for small processors.

This is an example of a product using it on a SAM7X128 (32k RAM):

http://www.altec-ag.ch/eng/products/AL6000.asp

It was tested for Zmodem RS232<->Telnet file throughput and was faster than a similar product based on a large ARM9 with lots of external DRAM.

We recently tested large file downloads (32Meg) from SPI FLASH to a browser client and achieved about 400kByte/s throughput using less that 1.5k RAM overhead, based on a special technique of TCP windowing requiring only about 80 bytes per HTTP connection. [Actual user code overhead to format the file content to .WAV type and control the browser interaction was about 20 lines].

As you see, the emphesis is on being able to do things efficiently and sometimes this involves things that are not absolutely standard (although RFC conform…) - it is fun though!

Regards

Mark

how fast it runs on the NXP

I am not sure how you interpret this but the uTasker project does try to optimise things especially for small processors.

This is an example of a product using it on a SAM7X128 (32k RAM):

what i meant, was that it ran very fast on my LPC2378.

thanks for the all the info, it will greatly help when my Luminary kit comes in tomorrow :wink:

Hi All

Here is an update to the development state of the new Luminary and the (not quite so new) LPC projects.

This is the state of the development project which will be released as service packs to the present releases as soon as possible:

  • Both packages have now support for the uFileSystem in external SPI FLASH (useful of the internal FLASH space is critical) - AT45BDxxx and ST25P(E)xx types are handled.

  • Both packages now have firmware upload support via Ethernet (FTP or HTTP post) allowing fast remote programming.

For more details, the developer logs are here:

Luminary:

http://www.utasker.com/forum/index.php?topic=239.0

http://www.utasker.com/forum/index.php?topic=231.0

LPC23XX:

http://www.utasker.com/forum/index.php?topic=237.0

http://www.utasker.com/forum/index.php?topic=230.0

New users are welcome!!

Regards

Mark

http://www.uTasker.com

Hi All

A new service pack of the uTasker project for the LPC23xx has been released, including complete firmware upload via Ethernet (FTP or Web Browser) as well as SPI FLASH file system in ATMEL of ST devices.

SW Uploads via Web Browser are achieved in about 4…5s (from pressing upload button to the new application communicating again).

Full details of the SP3 release are here:

http://www.utasker.com/forum/index.php?topic=240.0

New users are welcome to try it out!!

Regards

Mark

http://www.uTasker.com