Whydoloopbacktestsoflargedatatransfers
sometimeshaveproblems?
Inatypicalloopbacktest,anexternalwrapplugisusedtoloopback
transmitsignalstoreceivesignals.Inthisconfiguration,datatransmitted
isreadbackonthesameserialporttotestportcommunication.
Loopbackprogramsoftenperformthisdatatransferusingasinglewrite
followedbyasingleread,andthusrelyondriversoftwareandserial
hardwarebufferingtoholdthedatabetweenthetwofunctioncalls.
However,thesebuffersareoffinitesize,andthusanydatatransferthat
exceedsthebuffersizeeithertimesout,blocks(duetoflowcontrol),or
dropsdata.Thisbehaviorisaresultofthetestdesignanddoesnot
representahardwareordrivererror.Buffersizesvarybetweenoperating
systemsandhardware,buttypicallyrangefrom4–8KBinsize.