Newlib, syscall.c and printf

Hard Maker hardmaker@gmail.com
Tue Feb 8 20:37:00 GMT 2011


Thank's for your answer Federico,

I try with 8192 bytes of stack and this code and printf not work.

extern unsigned int _HEAP_START;
extern unsigned int _HEAP_END;
int main(void)
{
     char txt[20];
     float fVal = 3.141596;
     setvbuf(stdin, NULL, _IONBF, 0);
     setvbuf(stdout, NULL, _IONBF, 0);
     setvbuf(stderr, NULL, _IONBF, 0);

     InitHW();

     lcd_gotoxy(0,0);
     snprintf(txt, 20, "Start: %X", (unsigned int)&_HEAP_START);
     _write(0, txt, strlen(txt));    // work

     lcd_gotoxy(0,1);
     snprintf(txt, 20, "End:   %X", (unsigned int)&_HEAP_END);
     lcd_print(txt); // work

     lcd_gotoxy(0,2);
     printf("Hi %.2f\n", fVal);    // not work
     fflush(stdout);
     while (1)
         ;
     return 0;
}

Thank's for your answer.

Sergio

El 08/02/2011 11:03 a.m., Federico Terraneo escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 02/08/2011 02:23 PM, Hard Maker wrote:
>> I'm using 1 KB of system stack and have 60KB free of heap. Anyone has
>> this problem?
>>
> Hi, I'm not a newlib developer, just an user.
> I've been using newlib with stm32 for quite some time, and printf works,
> but takes up nearly 2KB of stack. Maybe the problem is this.
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJNUU0qAAoJECkLFtN5Xr9fLhsIAJ88Gor7LdTDv8sS1bt0gQys
> rqUMTkh+3eF2bX7i65G2zqa0iaMREELZlTNI7IxVDUwRTU7yaVrpPc6kiHrfOxwZ
> FpxHYclhWWe9yDGCS+gzWtpiHZG8lYVVKc9kaqbLsH3MEhnP169wfzDmUyDa6zKC
> BVzYvc3Shymi8zDdKXAOPOnwI1voYzhrGK6HHQOP4ZAXh9BNoWXNiYuoRY/kMj7F
> D4KuvK8fC02YhTPqxQm0ZqpIc9AnrZk5OIZK5VxtjGX+1kjpfxJIRtzNkPgW+M/w
> HsTo5iWMFnFBefPN3FjBTukt1P6BozdU/QGkV5ZDaWLp6bq2QfTg1TgEnEWOg0A=
> =+2ZR
> -----END PGP SIGNATURE-----



More information about the Newlib mailing list