liquorice.sourceforge.net
Home of the Liquorice project.


Aims

The Liquorice project aims to provide a reliable, high performance, environment for embedded application development, including: There are many other (secondary) elements that are not included in this list, but a lot of these are side effects of the ones listed (e.g. IP networking should be bomb-proof, uncrashable, etc.).
 

Latest News

The 20001018a snapshot features a new implementation of PPP and a number of minor bug fixes and enhancements. Another major change is that as of this release the software is now released under the same terms as the FSF's GUILE. Specifically, this is a GPL with an exception clause that allows the code to be linked with non-free applications, thus eliminating a problem with the LGPL used for previous snapshots.
 

Current Status

The software is somewhat in its infancy at the moment, although there's quite a lot already. Whilst the code is becoming more stable it's a little early to call it "production ready". The snapshots should give some feel as to how things are put together and the aim is to make a new release for every few days worth of development.

Liquorice currently supports Atmel AVR series of microcontrollers (high performance 8 bit RISC architecture) and i386-derived PC systems (32 bit architectures only). Whilst it is probably best suited to larger devices, the kernel libraries can be used with devices that have as little as 8 kBytes of code space (e.g. AT90S8515). It is hoped that at least one more CPU family (probably the ARM7TDMI) will be supported before v1.0 is released (64 bit support and SMP will probably have to wait until v2.0). [Aside: there's no particular preference for any of these CPUs; they are simply the ones for which I have development hardware - DJH].

Whilst it is classed as an operating system (or real-time kernel, etc), Liquorice is implemented as a series of libraries because it is intended to run in the same address space as the application. One advantage to this of course is that only those functions that are required for a particular application are linked to it, keeping the memory footprint as small as possible. If you have 256 MBytes of RAM and an 800 MHz Pentium III processor this probably isn't a concern, but try doing things with 32 kBytes of RAM (yes, kilo not Mega) and a 4 MHz ATMega103.

The software is designed to be built using the GNU GCC compiler and GNU binutils. The AVR family is now supported in the latest GCC and binutils snapshots, however an older and perhaps more stable port is currently being used (patched up v2.95.2 - please see Denis Chertykov's site http://www.overta.ru/users/denisc/). It would be nice to support the newer versions as they should make things faster and smaller! [Another aside: there's no particular reason why it would not be possible to support other C compilers and assemblers, but I don't have any others and the code does use a few GCC tweaks to gain speed - DJH].

The development environment is currently Linux, although everything is designed to try and make it easy to modify to build under other OS platforms. There's nothing too Linux-specific at the moment, although a few parts are a little *nix-oriented (although I'm sure supporting Windows wouldn't be difficult however).

So far we have:

CPU support:

Kernel mechanisms: Debug support: Device drivers: Services:


v1.0 will not be issued for a while yet (probably not until near the end of 2000) because it will take quite a while to include all of the software that is on the feature list. Please feel free to submit any patches, bug fixes or new facilities before the v1.0 release - they will be more than welcome. Each tarball now contains a current "to-do" list and so should give some idea about how things are progressing.

If anyone is interested in extending (perhaps filling in one of the to-do blanks) or porting the software, please feel free to send a note to the liquorice-devel mailing list, or alternatively contact:

Dave Hudson
davejh@users.sourceforge.net
 

Licensing

Most of the project's files are released under the GNU General Public License v2 with a special exception clause to allow the linking of Liquorice code with non-GPL'd software, whilst the remainder are either purely GPL'd or under completely non-restrictive terms. None of the pure-GPL'd files are linked into the Liquorice executables however, thus facilitating the use of Liquorice in applications where the GPL would be unacceptable.

More details...
 

Documentation

As of "snapshot 20000716a", some (fairly useful) documentation is included with each release tarball. Each subsequent release should contain a little bit more. The information hasn't been put into HTML (XHTML, XML, etc) format yet so it is not yet available on this web site. As of snapshot 20000908a there is a significantly overhauled, although still not complete, documentation set.
 

File Releases

The latest set of release files is "snapshot 20001018a".

Details of changes between each release can be found by looking at the notes associated with each one. A full change history is included in each snapshot's tarball.

More details...
 

Mailing Lists

There are two mailing lists currently active for this project. The first, liquorice-announce, provides details of anything new or particularly important. The second, liquorice-devel, is an unmoderated forum for discussing anything relating to the development of Liquorice or applications using it.

Anyone interested in Liquorice should consider joining them. There are a lot of possibilities for how the software may develop and the main source of feedback is currently the liquorice-devel list.

More details...
 

Hardware

The original aim of the Liquorice project was simply to provide software, however whilst developing things such as Ethernet drivers it became obvious that it would be beneficial to add some hardware elements too. None of these are necessary in order to use the software, but may serve to help the software's development and use.

More details...
 

The Sourceforge Project Site

The sourceforge project page contains the latest project status, released files and details of support (e.g. mailing lists).

More details...
 

Links

This project is hosted on Sourceforge. Without this service it would be far more difficult to develop, support and distribute the Liquorice files and web pages. Many thanks go to the authors and admins :-)



This site is a member of the AVR web ring. The ring is a collection of sites that all contain related to the Atmel AVR microcontroller family. There are sites with a wide variety of projects, information, source code, adverts, other links, etc.

AVR Web Ring

[ PreviousList Sites | Next | Random Site]
[ Previous 5 Sites | Next 5 Sites | Join ]


Last updated: 18th October 2000 - Dave Hudson