Skip to content

Commit 6b5bb9c

Browse files
committed
Remove orbfifo from build as its no longer relevant
1 parent 36683d3 commit 6b5bb9c

File tree

8 files changed

+4
-1479
lines changed

8 files changed

+4
-1479
lines changed

README.md

Lines changed: 1 addition & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ used as a base interface to the target by other programs in the suite. Generally
4545
this for the TRACE tool you're using and then you can just leave it running. It will grab
4646
data from the target and make it available to clients whenever it can.
4747

48-
* orbfifo: The fifo pump: Turns a trace feed into a set of fifos or, optionally, permanent files.
49-
5048
* orbcat: A simple cat utility for ITM channel data.
5149

5250
* orbdump: A utility for dumping raw SWO data to a file for post-processing.
@@ -412,7 +410,7 @@ probes are found you will get the option to choose between them. To avoid this c
412410
serial number for the probe you want to use on the command line.
413411
The command above will start the daemon with a monitor reporting interval of 100ms. Orbuculum exposes TCP ports 3402 and 3443 to which
414412
network clients can connect. 3402 delivers orbflow, 3443+x deliver raw frames. Both will relay to any
415-
client that is connected (such as orbcat, orbfifo or orbtop).
413+
client that is connected (such as orbcat or orbtop).
416414
The practical limit to the number of clients that can connect is set by the speed of the host machine....but there's
417415
nothing stopping you using another one on the local network :-) Orbuculum can optionally call out to `orbtrace` when a
418416
probe first connects. this is typically used to set configuration parameters for the problem. For example, if you've got an
@@ -474,79 +472,6 @@ For `orbuculum`, the specific command line options of note are;
474472

475473
`-t, --tag x,y,...`: List of streams to decode (and onward route) from the probe (low stream numbers are TPIU channels). *By default only stream 1 (ITM) is routed over legacy protocol, add additional streams via this command*
476474

477-
478-
Orbfifo
479-
-------
480-
481-
**Note:** `orbfifo` is not supported on Windows. Use `orbzmq` instead.
482-
483-
The easiest way to use the output from orbuculum is with one of the utilities
484-
such as `orbfifo`. This creates a set of fifos or permanent files in a given
485-
directory containing the decoded streams which apps can exploit directly. It also has
486-
a few other tricks up it's sleeve like filewriter capability. It used to be integrated into
487-
`orbuculum` but seperating it out splits the trace interface from the user space utilities, this is a
488-
Good Thing(tm).
489-
490-
A typical command line would be;
491-
492-
```>orbfifo -b swo/ -c 0,text,"%c" -v 1```
493-
494-
The directory 'swo/' is expected to already exist, into which will be placed
495-
a file 'text' which delivers the output from swo channel 0 in character
496-
format. Multiple -c options can be provided to set up fifos for individual channels
497-
from the debug device. The format of the -c option is;
498-
499-
```-c ChannelNum,ChannelName,FormatString```
500-
501-
ChannelNum is 0..31 and corresponds to the ITM channel. The name is the one
502-
that will appear in the directory and the FormatString can present the data
503-
using any printf-compatable formatting you prefer, so, the following are all
504-
legal channel specifiers;
505-
506-
-c 7,temperature,"%d \260C\n"
507-
-c 2,hexAddress,"%08x,"
508-
-c 0,volume,"\l%d\b\n"
509-
510-
Be aware that if you start making the formatting or screen handling too complex
511-
its quite possible your machine might not keep up...and then the client will be dropped and you will loose data!
512-
513-
While you've got `orbfifo` running a further fifo `hwevent` will be found in
514-
the output directory, which reports on events from the hardware, one event per line as follows;
515-
516-
* `0,[Status],[TS]` : Time status and timestamp.
517-
* `1,[EventType],[ExceptionNumber]` : Hardware exception. Event type is one of [Enter, Exit, Resume].
518-
* `2,[PCAddr]` : Report Program Counter Sample.
519-
* `3,[DWTEvent]` : Report on DWT event from the set [CPI,Exc,Sleep,LSU,Fold and Cyc].
520-
* `4,[Comp],[RW],[Data]` : Report Read/Write event.
521-
* `5,[Comp],[Addr]` : Report data access watchpoint event.
522-
* `6,[Comp],[Ofs]` : Report data offset event.
523-
* `7` : Currently unused.
524-
* `8,[Status],[Address]` : ISYNC event.
525-
526-
The command line options are;
527-
528-
`-b, --basedir [basedir]`: for channels, terminated with a trailing directory seperator,
529-
so if you put xyz/chan then all ITM software channels will end up in a directory
530-
xyz/chan. If xyz/chan doesn't exist, then channel creation will fail silently.
531-
532-
`-c, --channel [Number],[Name],[Format]`: of channel to populate (repeat per channel) using printf formatting.
533-
534-
`-E`: When reading from file, terminate when file exhausts, rather than waiting for more data to arrive.
535-
536-
`-f, --input-file [filename]`: Take input from specified file (CTRL-C to abort from this).
537-
538-
`-h, --help`: Brief help.
539-
540-
`-P, --permanent`: Create permanent files rather than fifos - useful when you want to use the processed data later.
541-
542-
`-s [address]:[port]`: Set address for Source connection, (default localhost:3443).
543-
544-
`-t, --tag`: <stream> Which orbflow tag to use (normally 1).
545-
546-
`-v, --verbose`: Verbose mode 0==Errors only, 1=Warnings (Default) 2=Info, 3=Full Debug.
547-
548-
`-W, --writer-path [path]` : Enable filewriter functionality with output in specified directory (disabled by default).
549-
550475
Orbzmq
551476
------
552477
`orbzmq` is utility that connects to orbuculum over the network and outputs data from various ITM HW and SW channels that it finds. This output is sent over a [ZeroMQ](https://zeromq.org/) PUBLISH socket bound to the specified URL. Each published message is composed of two parts: **topic** and **payload**. Topic can be used by consumers to filter incoming messages, payload contains actual message data - for SW channels formatted or raw data and predefined format for HW channels.

0 commit comments

Comments
 (0)