This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ez430 Chronos sports watch project - module removal?

Other Parts Discussed in Thread: CC430F6137

Hello,

I am working on a project that uses the baseline sportswatch code.  I have actually attempted to add some functionality by working in another module similar to the egg timer project found online. My problem is now CCS tells me the code will not fit.

Is there a simple way to strip down the sportswatch functionality by removing modules?

Regards,

Matthew

  • I fogot to add the cmd line info....


    <Linking>
    warning: could not resolve index library "libmath.a" to a compatible library
    "../lnk_cc430f6137.cmd", line 118: error: program will not fit into available
    memory. placement with alignment fails for section ".cinit" size 0x185 .
    Available memory ranges:
    FLASH size: 0x7f80 unused: 0x9b max hole: 0x9b
    error: errors encountered during linking; "ez430_chronos_868MHz.out" not built

    >> Compilation failure
    gmake: *** [ez430_chronos_868MHz.out] Error 1
    gmake: Target `all' not remade because of errors.
  • The Chronos project you use generates an output in COFF format while ‘libmath.a’ is only available in EABI format, you can try to change the project output to EABI but probably you will get a lot of new errors while other libraries are not in EABI format. You can just delete the reference to ‘libmath.a’.

    You can extend FLASH a little bit by adding INFO segments, change the ‘Linker Command file’ to;

    //    .text       : {} > FLASH              /* CODE                              */
        .text       : {} >> FLASH | INFOB | INFOC | INFOD	/* CODE 		       */
    
        .infoA     : {} > INFOA              /* MSP430 INFO FLASH MEMORY SEGMENTS */
     //   .infoB     : {} > INFOB
     //   .infoC     : {} > INFOC
     //   .infoD     : {} > INFOD
    

    >> DON’T use INFOA, this contains calibration data!

    In Project properties\Debug select “Erase Main and Information Memory”.

    Another way to free some Flash is to remove modules. Open ‘Menu.c’, from here you see what’s all in use. Comment out all what you don’t want to use and Exclude the related source files. Not very easy, you will get some error to solve, but possible.

  • I just tried switching to EABI, but it choked on a bluerobin file BRRX_Radio.obj.   

    I will try the other suggestions too.  Thank you very much for your help.

  • HI, I tried the merging the other sections and it worked for a day.

    However, today i was modifying menu.c and now I am getting a verification error at load time.  Here are the details.

    MSP430: File Loader: Data verification failed at address 0x00001880 Please verify target memory and memory map.
    MSP430: GEL: File: C:\Users\matthew\workspace_v5_5\ez430_chronos\868MHz - Unrestricted CCS Platinum\ez430_chronos_868MHz.out: a data verification error occurred, file load failed.

    So, I  think its because i'm running out of space or have a section/boundary/alignment issue.  I've even gone back to the original (menu.c) and i'm still getting the load error.

  • The only reason for this error is you didn’t select: “Project properties\Debug” >> ‘Erase Main and Information Memory’. Again DON’T select ‘Protected information memory’!

    That it works before was that the size of your program was within the FLASH memory size, or you add INFOA to .text which shouldn’t.

    What space you are using you can see in the <configuration name>\<project name>.map file.

  • Thanks Again, back in business. 

    I checked the map. i'm using all of flash, infoC, infoB, and NONE of A. Looks like i need to do some trimming.

  • And InfoD?

    But then you should get a ‘memory placement’ error and not the one you meant!

**Attention** This is a public forum