I want to use 64-bit variables to handle storing some values, but I am having issues.
I am able to declare the variable as a long long int without problems, but if I try to use that value, I find that only 32 bits are being used and any efforts to hard code 64-bit values return the error of number is out of range.
I read on another Freescale forum that long long variables are treated like 32-bit numbers by default, but I attempted to enable 64-bit variables through using the pragma slld with the _slld suffixed libraries and I have added *(ll_engine.text) to the code section of the linker, but it doesn't appear to change anything.
I think that I might be missing a step to configure enabling 64-bit support, but I don't see what can be causing it. Any thoughts?
I am using:
-Target: MC56F84763
-CodeWarrior for Microcontrollers
Version: 10.5
Build Id: 130916
Hi:
I had save the simulator problem yet。
Except use the SLLD lib and #pragma slld on ,you must check that properties ->c/c++building->Setting->tools settings->dsc compiler->processer->Generator elf file for 56800EX core,because in some version of CW (like 10.2),it didn't had this selection,if you moved the project form that version
Hi,
From our release notes:
Date: Aug 29, 2007
Build 1033, R8.2
* New features:
- compiler library has support for C99 support functions, including trigonometric,
hyperbolic, power, absolute value functions, exponential and logarithmic functions.
NOTE: in order to use double precision function versions, one has to make use of
libraries that support long long and double data types (name includes SLLD) and
of #pragma slld on to compile the project
- compiler has support for new 64-bit integer and fractional intrinsics
( __LL_deposit_h, __LL_deposit_l, __LL_extract_h, __LL_extract_l, __LL_abs,
__LL_negate, __LL_add, __LL_sub, __LL_round, __LL_LL_mult_int, __LL_mult_int,
__LL_LL_mac_int, __LL_mac_int, __LL_msu_int, __LL_LL_msu_int, __LL_mult_ls_int
__LL_LL_mult, __LL_mult, __LL_LL_mac, __LL_mac, __LL_msu, __LL_LL_msu,
__LL_mult_ls, __LL_div_int, __LL_div_s4q_int), whose definitions are in
intrinsics_LL_56800E.h file