-
• #2
Good news on the new compiler - however I'll reserve judgement until I see something working. I have avoided upgrading because when I've tried I have noticed instability or just plain brokenness on some builds.
The dialog disappears but nothing happens. What is going wrong here?
You could check the dev console in Chrome? What OS do you have? I've had some reports it doesn't work on some OSes :(
I'd strongly suggest following the instructions though and using the Android app for flashing - it's significantly faster https://www.espruino.com/Bangle.js#firmware-updates
-
• #3
I'm using ubuntu 18.04.04 LTS (64 bit).
Web upgrade works.After transferring my own-build firmware to the phone I managed to flash the image to the phone. As far as I can judge it works nicely, but I did not try every available feature.
-
• #4
the .text section decreases from 0x4e6dc to 0x4e154 bytes so a code size reduction of 1516 bytes (0x588)
as for output size the 8-2019q3-update produced shorter binaries than newer gcc 9 for me, didn't hit any compiler bug so far
btw for quick tests on device you may also try inline C, it is quite easy to self host it (tried to describe it here) and you can switch compiler versions and flags and enable C preprocessor too. It is limited to self contained code but still a lot can be done with that.
-
• #5
Thanks for the report.
inlined C is interesting. I'll give it a stab. Could be useful for another experiment as well.
I want to report my findings on the cross compiler.
The Espruino README_Building.md suggest to use gcc-arm-none-eabi-5_4-2016q3
As I was interested in the pragma for loop unrolling I decided to download gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
The good news: I managed to compile (for bangle.js) and the .text section decreases from 0x4e6dc to 0x4e154 bytes so a code size reduction of 1516 bytes (0x588)
The bad news I did not manage to upload my firmware.
I use Chromium, connect to my bangle, go to Settings/Flasher select Flash from File, select the zip file. I get the firmware update dialog, bangle.js. select Next. The dialog disappears but nothing happens.
What is going wrong here?
(and the other bad news, much less important of course: according to the .lst file the loop unrolling pragma that I added did not have the desired effect, no unrolling was done,)