I have given you access to SDK3.0.x, can you verify it is still a issue?
We're using Inventek's dev kits, so I've asked them if they have a patch for 3.0.X to add support for their platform. (Similar to what they have for 2.4.X.) Will get things running and try printf()s with 64-bit types once I get that from them.
Wiced SDK does not support long long printf().
We do not have plans to support it in near future.
For workaround perhaps the following could be used:
printf("bigint-64: 0x%lx%lx\r\n", (unsigned long int)(bigint>>32), (unsigned long int)bigint);
Actually, it is not an issue with the SDK, it is related to the runtime library coming from ARM. printf is a standard LIB function.
I would think long long on printf can (should) work: you have to use the correct format specifier, e.g. "%lld". A simple "%x" or even "%lx" cannot work: "lx" is long hex, but long is 4 byte.
long long as 8 bytes needs carful use of related type specifier, assuming "llx". The format specifier tells the code how to take the parameters, as 4 or 8 bytes (from registers or stack). A mismatch results in displaying garbage and all following parameters printed wrong.
But it depends really if the common ARM runtime LIB does support (the printf implementation, actually vsprintf, also for sprintf used etc.).
If long long works in general, e.g. to define as variable, to do some math with it - actually printf should work as well, with "%lld" (two L's !).
Please, see here: