mbed-retarget: Make filehandles optional to reduce code size #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The retarget code allocates an array of
FileHandle*
for console and filehandling (filehandles). A tiny target only needs a console (putc/getc).
There is no need for file handling.
The POSIX layer and the array of
FileHandle*
is not required for smalltargets that only need a console ; this code should be optionally compiled
out if the configuration parameter
platform.stdio-minimal-console-only
isselected instead of
platform-stdio-buffered-serial
.See below sizes obtained with various configurations when building
mbed-os-example-blinky
with the following command line:mbed compile -t arm -m k64f
Use
class UARTSerial
target.console-uart = true
platform.stdio-buffered-serial = true
platform.stdio-minimal-console-only = false
Use
class DirectSerial
target.console-uart = true
platform.stdio-buffered-serial = false
platform.stdio-minimal-console-only = false
Use
class MinimalSerial
target.console-uart = true
platform.stdio-buffered-serial = false
platform.stdio-minimal-console-only = true
Use
class Sink
target.console-uart = true
platform.stdio-buffered-serial = false
platform.stdio-minimal-console-only = true
Pull request type
Reviewers
Release Notes