[En-Nut-Discussion] Extending printf for handling 64 bit values
harald.kipp at egnite.de
Mon Sep 23 16:44:24 CEST 2013
I'm sure, that many developers wants to have this and it's great that
Uwe implemented it and tested it on the Cortex.
But there's a big problem with the current implementation.
This simple program
NutRegisterDevice(&devDebug0, 0, 0);
freopen("uart0", "w", stdout);
printf("%d bytes free\n", NutHeapAvailable());
creates an AVR 8-bit binary of 6804 bytes and consumes 2020 bytes of
RAM. That's already an awful lot.
When adding Uwe's 64-bit patch, the binary grows by another 748 bytes
and consumes an additional 36 bytes of RAM. Even if you don't need
64-bit values. I think this is too costly.
When adding a new function, which consumes significantly more resources
without actually using it, user should have to ability to disable this
new feature via the Configurator.
More information about the En-Nut-Discussion