Copyright © https://mongoose-os.com

Mongoose OS Forum

frame
ATTENTION! This forum has moved to:

https://community.mongoose-os.com

Do not post any new messages.

Error when linking CC3220-based project

My goal is to copy the firmware from a CC3200-based board to a CC3220-based board. Nearly identical sources, only differs in one GPIO pin definition.

I have copied my project dir and updated the mos.yml file with arch: cc3220

I build locally using the following command:
mos build --platform cc3220 --local --repo ../mongoose-os

First I did a git pull on the local mongoose-os repository.

I expected the build to be successful, but in the linking stage at the end I get the following error message:

<Linking>

 undefined first referenced                                                      
  symbol       in file                                                           
 --------- ----------------                                                      
 HOSTtime  /opt/ti-cgt-arm_16.9.6.LTS/lib/rtsv7M4_T_le_eabi_cesanta.lib<time.obj>

error #10234-D: unresolved symbols remain
warning #10063-D: entry-point symbol other than "_c_int00" specified:
   "resetISR"
error #10010: errors encountered during linking;
   "/Users/ulf/Documents/Projects/mongoose/psgwng/build/objs/psgwng.elf" not
   built

>> Compilation failure
/mongoose-os/fw/platforms/cc3220/Makefile.build:329: recipe for target '/Users/ulf/Documents/Projects/mongoose/psgwng/build/objs/psgwng.elf' failed
make: *** [/Users/ulf/Documents/Projects/mongoose/psgwng/build/objs/psgwng.elf] Error 1
make: Leaving directory '/app'
Error: exit status 2

When building the same project for the CC3200 everything is fine.

Any thoughts?

Comments

  • ulsoulso Stockholm

    An update. When building remotely using the normal mos build command I still get the same linking error.

  • ulsoulso Stockholm

    I think I found the bug in mongoose-os for CC3220.

    I started over with the smallest possible project by issuing the following command in a new dir:

    mos init --platform cc3220

    Of course this tiny project builds just fine, both local and remote.

    By modifying the main.c source file like below, this tiny project no longer builds for CC3220.

    #include <time.h>
    
    #include "mgos.h"
    
    enum mgos_app_init_result mgos_app_init(void)
    {
        long t = time(NULL);
    
        return MGOS_APP_INIT_SUCCESS;
    }
    

    I suspect there should be a common/platforms/cc3220 directory added to the mongoose-os source tree, or maybe a renaming of the cc3200 dir to cc32xx.

    In the file common/platforms/cc3200/cc3200_libc.c there's a function named HOSTtime(), but this seems to be missing for the CC3220 platform.

Sign In or Register to comment.