ARM compiler version (and uploading firmware) #6278
Replies: 1 comment
-
Posted at 2020-06-04 by @gfwilliams 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.
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 Posted at 2020-06-04 by FransM I'm using ubuntu 18.04.04 LTS (64 bit). 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. Posted at 2020-06-05 by @fanoush
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. Posted at 2020-06-05 by FransM Thanks for the report. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2020-06-04 by FransM
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,)
Beta Was this translation helpful? Give feedback.
All reactions