stack error for downloading 6678l

Stack errors for downloading

Encounter this problem when i trying to download the GPIO program to 6678L.

1

The .stack and .heap sections are created for the stack and heap respectively. This message is saying is that since you have not explicitly set the size of these sections, it is defaulting to a size of 0x400. This may be ok in some cases, but in projects that are C I/O intensive (like ones with printf, scanf etc), you may need to increase the stack and heap size. This can be done from the linker options (Project Properties->Build->Linker->Basic Options).

C I/O

C I/O is a broad term referring to the input and output functions in the RTS; and also to the ABI between the low-level RTS functions and the debugger, which allows the debugger to service the user's I/O requests.

C standard I/O functions:

putc getc *puts, putchar, getchar

scanf

printf (exception: the *sprintf functions do not require the entire C I/O ABI)

fopen, fclose, fread, fwrite, fflush, freopen
fseek, fgetpos, fsetpos, ftell, rewind
perror
remove, rename
tmpfile, tmpnam

very important!


C I/O is one of the MORE COMPLICATED THINGS in the RTS. It has several layers of abstraction, invokes dynamic memory allocation, has lots of helper functions, and requires intervention from a host debugger to even work at all. For details about the implementation of C I/O, see the Optimizing C Compiler User's Guide section on the C I/O functions.