- Posts: 390
GNU ARM Tools V4.8, code size and Devo7e features
- domcars0
- Topic Author
- Offline
As the devo 7e lose the permanent Timer with the 4.x release, I've tried the new GNU Tools (V4.8 ) which has been optimized to reduce code size.
One very important feature of this new compiler for deviation is the Newlib-nano (newlib branch optimized for code size).
So I've tried this new crosscompiler on my Linux Box...
And I'm happy to say that now I'm able to have not only the permanent Timer on my devo 7e but also the Layout Editor !!!
Install the new compiler from:
launchpad.net/gcc-arm-embedded/+milestone/4.8-2013-q4-major
and then edit the src/libopencm3/lib/stm32/f1/Makefile
add the "--specs=nano.specs" to the CFLAGS variable
Edit also the src/target/common/devo/Makefile.inc
and add also the "--specs=nano.specs" to the CFLAGS variable
you have also to add the -lnosys to the LDFLAGS
(LFLAGS = -nostartfiles -Wl,-gc-sections -Wl,-Map=$(TARGET).map,--cref -lc -lnosys)
with #define HAS_PERMANENT_TIMER 1 and #define HAS_LAYOUT_EDITOR 1
I get :
+ Optimizing placement and re-linking
ROM: 0x08003000 - 0x0801ff94 = 115.89kB
RAM: 0x20000000 - 0x2000243c = 9.06kB
2014 is really a very good year is'nt it ?
Enjoy!
[EDIT] Change the title and the link to the GNU ARM V4.8 compiler
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- sbstnp
- Offline
- Posts: 649
So it works with 4-8-2013q4-0precise7 as well:
+ Optimizing placement and re-linking
ROM: 0x08003000 - 0x0801fc68 = 115.10kB
RAM: 0x20000000 - 0x2000243c = 9.06kB
Edit: ok this was on my flexible build, trying a clean repo now.
Devo 10 + 4in1
FrSky Taranis + TBS Crossfire
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- sbstnp
- Offline
- Posts: 649
So, standard build (no timer, no layout editor), clean repo:
+ Optimizing placement and re-linking
ROM: 0x08003000 - 0x0801f1ac = 112.42kB
RAM: 0x20000000 - 0x20002424 = 9.04kB
With timer and editor, clean repo:
+ Optimizing placement and re-linking
ROM: 0x08003000 - 0x0801fd64 = 115.35kB
RAM: 0x20000000 - 0x20002438 = 9.05kB
Devo 10 + 4in1
FrSky Taranis + TBS Crossfire
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
The only issue is that we need to be able to build for Windows too.
If you provide instructions on what you are doing, I can try to cross-compile for windws and see how it goes.
Please Log in or Create an account to join the conversation.
- domcars0
- Topic Author
- Offline
- Posts: 390
This is a must!
+ Optimizing placement and re-linking
ROM: 0x08003000 - 0x0801fdcc = 115.45kB
RAM: 0x20000000 - 0x2000244c = 9.07kB
(with 2 extra switches, Permanent timer and Layout editor)
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Please Log in or Create an account to join the conversation.
- sbstnp
- Offline
- Posts: 649
PhracturedBlue wrote: If you provide instructions on what you are doing, I can try to cross-compile for windws and see how it goes.
Haven't done anything special, that was on a Ubuntu 12.04 vm with gcc-arm-embedded 2103q4 and domcars0 mods to the Makefiles.
You reckon there would be a chance to have this gcc and newlib cross compiled for Windows?
Devo 10 + 4in1
FrSky Taranis + TBS Crossfire
Please Log in or Create an account to join the conversation.
- HappyHarry
- Offline
- Posts: 1136
RAM: 0x20000000 - 0x200027ec = 9.98kB
that's with the 2x2way patch, perm timer and layout editor, built with tonights code using sbstnp's arch vm that hasn't been changed since it was downloaded.
and a completely stock build with no target_defs changes
ROM: 0x08003000 - 0x0801fd8c = 115.39kB
RAM: 0x20000000 - 0x200027d8 = 9.96kB
so is there a chance of getting the telemetry and the layout editor to fit with this new version of the compiler? as building the same source as above but with the permtimer off and switching telemetry on ends up being 1012 bytes over
Please Log in or Create an account to join the conversation.
- kreidler
- Offline
- Posts: 157
I tested https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major on the mingw environment with domcars options. Unfortunately I do not have a 7e on hand but the emu is running fine.
All builds done with 3430be7
Started with 4.7 2012q4
with telemetry, permanent timer, layout editor + 1x3sw patch
ROM: 0x08003000 - 0x0801fff0 = 115.98kB
RAM: 0x20000000 - 0x20002450 = 9.08kB
and on 4.7 2013q3
with telemetry, permanent timer, layout editor + 1x3sw patch
region `rom' overflowed by 4 bytes
now going to 4.8 2013q4
with telemetry, permanent timer, layout editor + 1x3sw patch
ROM: 0x08003000 - 0x0801fdb8 = 115.43kB
RAM: 0x20000000 - 0x20002450 = 9.08kB
For comparision with the linux users around:
Standard build with 4.8 2013q4 (telemetry only)
ROM: 0x08003000 - 0x0801f1a8 = 112.41kB
RAM: 0x20000000 - 0x20002424 = 9.04kB
with telemetry, permanent timer, layout editor
with 4.8 2013q4
ROM: 0x08003000 - 0x0801fd60 = 115.34kB
RAM: 0x20000000 - 0x20002438 = 9.05kB
Hey, is the Windows one now better than the others ?
Please Log in or Create an account to join the conversation.
- HappyHarry
- Offline
- Posts: 1136
ROM: 0x08003000 - 0x0801fdbc = 115.43kB
RAM: 0x20000000 - 0x20002450 = 9.08kB
great news indeed , thanks for the heads up domcars0
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
Please Log in or Create an account to join the conversation.
- HappyHarry
- Offline
- Posts: 1136
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
HappyHarry wrote: I'm not sure bud, but I have posted builds for the 7e with everything enabled in the builds forum
Thanks for sharing Harry
But the best option will be compile NB like this now by the way ...
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- robca
- Offline
- Posts: 174
I'm being lazy, I know
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Development
- GNU ARM Tools V4.8, code size and Devo7e features