FreeCalypso > hg > freecalypso-sw
annotate loadagent/libprintf/README @ 3:45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
refuses to compile <varargs.h> - need to convert to Anshit C <stdarg.h>
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 29 Apr 2013 07:00:22 +0000 |
parents | |
children |
rev | line source |
---|---|
3
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 The present libprintf is a very light printf implementation that is well-suited |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 for simple bare-metal programs like loadagent; in the present case it overrides |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 the much heavier printf implementation in newlib. Programs like the present |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 loadagent only need printf in order to scribble on the serial console port, |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 and the most sensible implementation is to have the "character output" function |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 from the guts of printf point directly to the physical UART output routine, or |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 a trivial wrapper that turns \n into \r\n. In contrast, newlib's version would |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 pull in the complete FILE table infrastructure and malloc etc - maybe OK for |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 more complex embedded programs that use those facilities for other things under |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 a bona fide RTOS, but it would be disgusting to pull that stuff in for a |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 minimal program like ours. |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 The present printf implementation has been used earlier by the same author |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 (Michael Spacefalcon) in the StarMON family of PowerPC bootloaders, and in my |
45bf8af5f061
libprintf brought in from older PPC/m68k code, but fucking GCC
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 MC68x302-based SDSL CPE devices (Hack-o-Rocket and OSDCU). |