overlap problems when building bangleJS 1

Posted on
  • Sorry i must be doing something really dumb but this is what i'm doing.

    source scripts/provision.sh BANGLEJS

    • Expected 13.2.1
    • Got 10.3.1

    make -j BOARDNAME=BANGLEJS BOARD=BANGLEJS RELEASE=1

    LD bin/espruino_2v21.84_banglejs.elf
    BANGLEJS bin/espruino_2v21.84_banglejs.elf
    python scripts/check_elf_size.py BANGLEJS bin/espruino_2v21.84_banglejs.elf
    Testing bin/espruino_2v21.84_banglejs.elf for BANGLEJS
    STORAGE: 0x60000000 -> 0x60400000
    FS DATA: 0x76db8 -> 0x76dc8 (16 bytes)
    FLASH_AVAILABLE: 0x76000
    CODE: 0x1f000 -> 0x76dc8 (359676 bytes)

    ==========================
    CODE AND STORAGE OVERLAP
    by 3528 bytes
    ==========================

    So what i'm tying to do seems very simple, i just want to flash bangle.js on a bangle 1 watch. Other then having a wrong gcc version, it should build?

  • Other than that yes, and it builds, it is just too big :-) Get 10.3.1 out of your path.

  • maybe easiest is to change provision script to prepend downloaded compiler path instead if appending it to the PATH

  • Ok, i'll give it a go. Thats a tight build if the compiler changed the size enough to make it not fit!

  • Thats a tight build if the compiler changed the size enough to make it not fit!

    Welcome to my world. It's a constant fight to try and get everything in - if you look back at the commits you'll see I've spent literally months making small commits to try and shave a few bytes off here and there.

  • I figured that what embedded developers do for fun ;)

  • I'm able to flash the bangle1 and get bangle one there. I just commands @Gordon runs before sending a watch out. What the setup to make a watch function as if its getting send to a customer. The way I'm doing is doesn't include all the launchers and apps. So i can go to esperuino IDE and upload stuff. I just don't see any of the apps.

    To flash i run this

    echo "load bin/espruino_2v21.84_banglejs.hex" >> gdbinit
    echo "load bin/espruino_2v21.84_banglejs.elf" >> gdbinit
    echo "load bin/bootloader_espruino_2v21.84_banglejs­.hex" >> gdbinit
    echo "load bin/bootloader_espruino_2v21.84_banglejs­.elf" >> gdbinit
    echo "load bin/espruino_2v21.84_banglejs.app_hex" >> gdbinit
    

    I remember from this post you do a make .... flash then do a gdb file load. But the flash command only works with segger tools because it uses "nrfjprog"

  • if you just do a BOARD=BANGLEJS RELEASE=1 make that's enough to build bootloader+app+softdevice in one, so you just upload the final file

    To install JS, you have to do that from the app loader - just "install default apps". On BJS1 there's not enough flash to store a 'factory reset' image like we do on BJS2

  • So my bangle 1 watch seems to be acting wear when i program it. I see the booting part fine. So i know the screen is ok. Just when it loads after that the screen just produces garbage. I cab load a program on it fine just the screen doesn't seem to want to display data correctly.

    So I've reset the flash

    • require("Storage").eraseAll();
    • installed "installed default apps"



    3 Attachments

    • 20240429_073553.jpg
    • 20240429_073533.jpg
    • 20240429_073434.jpg
  • Is this with your modified firmware, or with a build directly from what's on Github?

  • This is directly from github

  • This is directly from github

    you can also try binary from https://www.espruino.com/Download and upload over DFU
    If that looks OK then it is probably something with your build environment.
    If it is broken too then you possibly have some HW issue like bad flex cable contact etc.

  • I just tested and this happens to me too! 2v21 is fine

    In bootloader mode the display driver is very simplistic and 'safe'

    When Bangle.js runs I believe we push the display as fast as we can get away with (adding some NOPs where it was too fast), and it seems that the new compiler we started using since 2v21 is a bit faster and manages to cause problems! I've added some NOPs and it's fine now!

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

overlap problems when building bangleJS 1

Posted by Avatar for user156811 @user156811

Actions