OpenEZ

 

A GPL Operating System and Stack for the eZ80 family of microprocessors.

 

Release History

Where credit is due for a code change, that person’s name is given in parenthesis following the description of the change.

 

 

 

v     Release 2.10a on 03/07/2005 OpenEZ_2.10a.zip

o       SHA speed improved by converting some code to assembler

o       HMAC_SHA routines added

o       AES functions added.  Assembler subroutines were created to make these transforms run very fast on the eZ80

v     Release 2.00a on 01/05/2005 OpenEZ_2.00a.zip

o       Driver and task code written to support I2C logic

o       Improvements to task cleanup for exit(), abort(), and kill().  Removal of timeQueue entries and unregistering resources

o       Numerous minor fixes, and improvements

o       Blowfish support added

o       LWIP stack upgraded to Stable 1.1.0

v     Release 1.10 on 10/15/2003 OpenEZ_1.10.zip

o       Boot loader improvements: application interface documentation, software package & checksum

o       Added MPI library of routines (based on libgcrypt):  arbitrary length integers

o       Several routines added to support 24 bit integers / pointer arithmetic

o       Improved input handling added, supported some line editing

o       Method of dispatching LWIP task changed to improve performance of IP

o       Added SHA-0 and SHA-1 hash routines

o       Fixed a bug in wait.c relating to removing the last wait block in a chain

o       Improved telnet negotiation, moved code to a separate function (removed from stream.c to telnet_get.c)

o       Add shell command to telnet out to a remote host

o       Changed flash support code so that a program running in FLASH can still burn FLASH

v     Release 1.00  on 7/1/2003 download OpenEZ_1.00.zip

o       Various small changes to take advantange of IAR’s new version 1.33A of the eZ80 Workbench development environment.

o       The bootloader is now a separate independent program, allowing xmodem application updates as long as the bootloader itself is undamaged.

o       A Timer now used to time the execution time in microseconds of each task and compute it’s CPU usage

o       New feature added for event driven tasks, tasks can now wait on specific events, or combinations of events before being dispatched. So dispatching can now be cooperative, pre-emptive, or event driven or any combination thereof.

v     Release 0.90

o       System mode changed, when __mode is non-zero time-slice timer simply restarts if necessary

v     Release 0.89   on 03/14/03 download OpenEZ_0.89.zip  housekeeping release

o       Various syntax changes to make the ZDS conversion easier and to better conform to strict ANSI.  (Karl Kobel)

o       Flash.c moved from startup group to utility group

o       ez80.h removed, all hardware addresses are now in ez80L92.h  which works with both C & ASM

o       Renamed:   log.c -> httpd_log.h    &    log.c -> httpd_log.c

v     Release 0.88  on 3/08/03 download OpenEZ 0.88.zip   note: this release is experimental, the changes have not been completely tested.  I put the release up in the hopes that someone will help me with the testing.

o       Dispatcher now saves and restores a short stack pointer in addition to the long stack pointer, apparently a few of IAR’s library routines use the short stack pointer (ugh!).  stack.c now sets up both a long stack and a short stack for each task.

o       Low_level_init now defines an initial low stack pointer value and cstartup.s46 uses it to set the SPS and MBASE registers

o       Renamed and changed the linkage of a couple of utility routines:  SameAs(), SameTo(), SameAsI()

o       Cleaned up several problems in the start up code related to executing the code in flash memory (Sean Smith)

o       Fixed a problem in timeQueue.c. If one or more tasks issued am msleep() or call to timerQueue_add() before the timerQueue task had a chance to run, those tasks issuing the msleep() or other call would be suspended indefinitely.  (Sean Smith)

v     Release 0.87 on  2/04/2003 download OpenEZ 0.87.zip

o       Change low_level_init.c so that GPIO PD4 cannot interrupt the CPU (Sean Smith)

o       Remove extra copy of filehdir.h from httpd directory (Sean Smith)

v     Release 0.86  on 1/26/2003 download OpenEZ 0.86.zip

o       Additional documentation notes added

o       Shell now supports the back-space character

o       Extra copy of httpd.h removed from .zip file

o       Shell display-date function now displays the day-of-the-week as a string

o       Real Time Clock now sets the day of the week automatically

v     Release 0.85  on 1/09/2003 download OpenEZ_0.85.zip

o       System Mode altered to allow nesting

o       Make CFIFO process safe

o       Renamed gcs.h to OpenEZ.h

o       Fixed a bug in httpd that crashed the machine when trying to display a web page with an offset greater than 64K.

v     Release 0.80  on 1/8/2003  download OpenEZ_0.80.zip

o       Changed / improved the dynamic content feature.  This feature has you code a special tag in the HTML document then, at run time, that tag is replaced by the output of a function you provide.  This is useful in cases where the majority of a page is static, but there is a bit of calculated data sprinkled about.

o       Added a date/time function as a second example of dynamic functionality.

o       Improved the speed of HTML transfers of text files.

v     Release 0.70  on 1/6/2003

o       The perl scripts for converting web pages to assembler, and for converting the M28 file from IAR to assembler source for ZDSII are now available on the IAR Tools menu.

o       Memory dump cgi function provided as a sample of how to write cgi functions.

o       Utilities provided to retrieve values from a URL query string or the request body if a POST request, making it easy to write a CGI function that will work either way.

o       Greatly improved parsing of HTTP request header

o       Added timeout feature to HTTPd connections

o       Enchanced peek function to look ahead to the nth next char.

o       Code no longer labeled “Beta”, it now seems mature enough to drop that term.

o       An option has been added to the timer queue functions to support auto-rescheduling, this makes recurring callbacks easier to setup.

v     Beta release 0.60  on 1/3/2003

o       Several miscellaneous bugs fixed that were caused by the time slicing feature.

o       “SYSTEM MODE” added to let system functions operate more efficiently: priority of tasks is set to maximim and time-slicing is suspended when a task calls certain system routines, these features are then resumed/restored when the system routines return to their callers.

o       msleep() added, to put a task to sleep for a given number of milliseconds

o       TimerQueue functions added to schedule an unlimited number of call backs with millisecond resolution

o       Added “test-and-set” function, for fast and simple mutual exclusion

o       Added recursive mutex support, similar to those in Linux threads, for more robust mutual exclusion

v     Beta release 0.51  on 12/31/2002

o       Fixed a bug relating to calling exit() from a time sliced task.

v     Beta release 0.50  on 12/31/2002

o       OpenEZ now supports pre-emptive scheduling, in addition to cooperative scheduling. Each running task can be assigned a time slice, and control will be taken away from it once the time slice expires unless the task gives up control on its own before then. Time slice values are specified in microseconds, and can range from 100us to 80ms.

o       Shell upgraded to display the time slice value of each task.

o       Routine added to let a task change its time slice value, or disable its time slice limit for critical sections of code, without turning off interrupts.

o       Added edit function for formatting numeric fields

v     Beta release 0.45  on 12/30/2002

o       Routines to write/erase FLASH added.

o       New shell command for erasing a flash bank.

o       Shell command “load”, upgraded to support loading to RAM or FLASH

v     Beta release 0.40  on 12/29/2002

o       HTTPd server added, supports static and dynamic content

o       perl script added for converting html, gif, jpg files to assembler code for inclusion in the project.

v     Beta release 0.30  on 12/27/2002

o       DHCP client ported and tested, OS can now use static or dynamic IP configuration

o       Shell command to test security transforms added

o       Security transforms added: md5 (hash), href-md5 (authentication), blowfish (encryption)

o       Add sign on greeting

o       Add help feature, clean up shell

o       Remove unneeded patches that were added while trying to make Zilog complier work

v     Beta release 0.20  on 12/26/2002

o       stderr stream added for each task

o       eprintf() and edmp() added to direct debug output to stderr

o       DML changed to shell, commands renamed

o       login function added, username/password

o       partial telnet negotiation added

v     Beta release 0.10  on 12/23/2002

o       initial release

 

Copyright2002, Robert Laughlin

Last Update 3/7/2005 12:50:33 PM