Wednesday, June 8, 2011

June 9 Space for AVR

Last step to complete lms_main is adding a call to init the avr interface.
This requires more lms code be included, which in turn made lms overflow the available memory.

To fit in the LMS:
#1. More in the Exclude FBs list: Added FBs  and forte types that were excluded with working lms forte ver.0.3
Except for WSTRING this was easy looking at the old makefile.am 
Arrays were also turned off.

**This alone saved enough space to fit in the Lego.

Observation:
In the working lms forte v.0.3  with autoconf, the makefiles used flags to turn off the major options it didn't need. BUT used a kind of include FBs list.
Currently forte v0.4 with cmake now uses an exclude FBs list.

#2. Alios added a cMake flag to turn off use of iso values and wstring as a new option for Strings
Request: So wstring and iso flags appear together in the Cmake gui,
it would be nice if FORTE_UNICODE_SUPPORT
was renamed to FORTE_USE_UNICODE_SUPPORT

**This (also) alone saved enough space to fit in the Lego.
    Loader list change: forte_wstring and unicode_utils are now excluded.
    Looking at the size of the object files (.o) for forte data types wstring is one of the largest.

    Bottom Line: Went from using more than 15 sectors down to 14 sectors !

    Next tests: Verify working with OpenOCD
    Next steps: Finish enviroment installs of:
      * eCos driver
      * OpenOCD under Eclipse (needs Yagarto)
    LMS CPP code left to add & test:  FBs

    Current list of forte types and FBs excluded:
    forte_sint forte_dint forte_udint forte_usint forte_dword forte_forte_word forte_byte  forte_struct 
    E_D_FF E_R_TRIG E_MERGE E_DEMUX E_SPLIT E_SR



    Yagarto documentation solved the "unused" libusb driver mystery.
    • This driver is a generic driver for the JLink.
    • Related there are cygwin issues with more recent JLink firmware versions, making using Yagarto, which is not cygwin dependent more interesting.




    No comments:

    Post a Comment