

This is unfortunate for the use of GCC in embedded systems, as the precision of the 32-bit float type is more than sufficient for measurement and control applications, and using the 64-bit double type balloons the code size. By default, floating point literals are interpreted as type double by GCC, and the basic standard library functions with headers in math.h such as log(), pow(), etc., accept arguments and return values of type double. In particular, this tends to happen when extensive calculations are performed using Double-precision_floating-point_format variables, the C double type. The fact that it crashes is a bug, but the root cause is that an individual function has grown too large to be allocated.

This is a failure of the objalloc program which places blocks of code in the PDQ Board's paged flash storage.

Allocating code in into pages objects → C:/MosaicPlus/my_projects/…/…_prelink.elf - m6811-elf-objalloc … make.exe: * * * Error 5 Process terminated with status 1 (0 minutes, 7 seconds)
