Skip to content

Latest commit

 

History

History
89 lines (66 loc) · 2.94 KB

README.md

File metadata and controls

89 lines (66 loc) · 2.94 KB

OpenChronos

Status

Should be fully functional. The hidden menu RFBSL places the wireless update (RFBSL) menu entry as a sub-menu with the battery voltage monitor.

This update makes toggling between the battery and rfbsl behave like a normal submenu (uses the down arrow), as well as fixes some pre-processor issues. Specifically, disabling the battery voltage monitor AND enabling the hidden rfbsl menu would result in no rfbsl menu, forcing the user to use the (SLOW!) USB programmer for the next firmware upload.

To-do idea (from gibbons): merge the battery, rfbsl, and sync functions all into one menu (a "hardware" or "tools" menu, for example). Ideally, also make it easier to pick and choose from these three options without needing ridiculous preprocessor commands, e.g. #if !defined(CONFIG_BATTERY) && defined(CONFIG_DISCRET_RFBSL) && ...

Requirements

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 too 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, ...
  • msp430static - static analyzer for sourcecode. Run 'make source_index' to index all source files