64-bit Signed Integer Division on SDK 1.1

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Does SDK 1.1 have support for 64-bit signed integer division?

0 Likes
1 Solution
Anonymous
Not applicable

If it is a regular ARM FW and compiler environment, it should support long long (as 64bit on a 32 bit architecture, a double word, ARM has instructions for it to handle).

I would assume, yes, 64bit will work.

Just a questions of Soft- or HW floating point is used (an M3 inside might not support HW floating point engine, depends if RTL designers have enabled or not). A Soft-Floating-Point support via ARM runtime library should be possible instead. It needs just specific compiler command line option and to clarify if those can be specified on SDK/IDE.

ARM Cortex-M3 should be able to handle 64bit values. Try types as:

  long long my64bitVar;


The only limitation: if you want to use printf: to print such value you would need actually:

    printf("MyVar: %lld\n", my64bitVar).

It can happen that a stripped down runtime LIB is used which does not support such one on printf (or not any floating point).

View solution in original post

0 Likes
2 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

I'm looking into this with the developers and have asked them to respond.

0 Likes
Anonymous
Not applicable

If it is a regular ARM FW and compiler environment, it should support long long (as 64bit on a 32 bit architecture, a double word, ARM has instructions for it to handle).

I would assume, yes, 64bit will work.

Just a questions of Soft- or HW floating point is used (an M3 inside might not support HW floating point engine, depends if RTL designers have enabled or not). A Soft-Floating-Point support via ARM runtime library should be possible instead. It needs just specific compiler command line option and to clarify if those can be specified on SDK/IDE.

ARM Cortex-M3 should be able to handle 64bit values. Try types as:

  long long my64bitVar;


The only limitation: if you want to use printf: to print such value you would need actually:

    printf("MyVar: %lld\n", my64bitVar).

It can happen that a stripped down runtime LIB is used which does not support such one on printf (or not any floating point).

0 Likes