Skip to content

cr/OpenChronos

 
 

Repository files navigation

Updates the eggtimer to be fully working, with a slightly reduced code-size.


== Status ==

Should be fully functional. Can be run concurrently with the stopwatch
without harm.  Can also be run in the background (i.e. you can navigate
away from its menu and it will still run and go off at the correct time.)

The icon used for it ("R" with a circle around it) is on solid for when
its menu entry is active, and blinks when running, even if on a separate
menu (menu entry not active).

Resolution is in seconds, maximum hours is 19, max minutes is 99, and max
seconds is 99. (Note that a time of 2:90:00 == 3:30:00, since the minutes
will rollover to 59 after 90 minutes, not back up to 90 --> 2:90:00...
2:89:59...2:89:58......2:00:01...2:00:00...1:59:59...)

These updates reduce the (.elf) delta compiled codesize by about 40 bytes,
from 1524 to 1480.


== Requirements ==

msp430-gcc4 http://mspgcc4.sourceforge.net/
make
python http://python.org

== Supported Compilers ==

msp430-gcc4
   Working combinations:
   gcc=4.4.3 binutils=2.20.1 libc=20100430

IAR msp430

Patches for more (more efficient) compilers are welcome :-)


== HOWTO ==

Copy gcc/intrinsics.h into [msp430-gcc-path]/msp430/include/intrinsics.h

To configure your image, run:

   make config

which will generate a config.h file that contains the settings for your build.

To compile the image run:

   make


It is HIGHLY suggested to make a clean build before you flash the image with:

   make clean main

== Problems ==

 * Compile / Link problems:
   If you get error messages like this one:

     msp430/bin/ld: build/eZChronos.elf section `.text' will not fit in region `text'
     .../msp430/bin/ld: section .vectors loaded at [000000000000ff80,000000000000ffff] overlaps section .text loaded at [0000000000008000,0000000000013343]
     .../msp430/bin/ld: region `text' overflowed by 13250 bytes
     collect2: ld returned 1 exit status

    or
     
     section .vectors loaded at [0000ff80,0000ffff] overlaps section .data loaded at [0000ff4e,0000ffcb]

   Your image is simply to large and will not fit into the flash. Try to disable some modules with make config and try again
   Or even better, send some patches that reduce code size ;-)

== Difference to the TI Firmware ==

 * More Features that can be configured with make config
 * Day of week
 * Disable 12h support (saves space)
 * Sleep Phase Clock - primary designed for http://github.com/poelzi/uberclock
 * The wireless flashing starts differently:
   Select RFBSL, Press DOWN to unlock, Press # long to start
 * No BlueRobin support. BlueRobin is a closed source binary blob.
   We don't have a compatible object file for that
 * Pressing STAR and UP long sets silent mode (no beep)

== Usefull Tools ==
 * mspdebug - debugger, proxy for gdb, flasher, ...  
     http://mspdebug.sourceforge.net
 * msp430static - static analyzer for sourcecode
     http://msp430static.sourceforge.net/
   run 'make source_index' to index all source files

About

OpenChronos - Open Source Firmware for the TI EZ430-Chronos Watch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.4%
  • Other 0.6%