summaryrefslogtreecommitdiff
path: root/FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt')
-rw-r--r--FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt337
1 files changed, 337 insertions, 0 deletions
diff --git a/FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt b/FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt
new file mode 100644
index 000000000..09daa78f4
--- /dev/null
+++ b/FreeRTOS-Labs/Source/FreeRTOS-Plus-Trace/tracealyzer_readme.txt
@@ -0,0 +1,337 @@
+-------------------------------------------------------------------------------
+ Tracealyzer Recorder Library for FreeRTOS
+-------------------------------------------------------------------------------
+
+Tracealyzer is a sophisticated tool for tracing and visualization
+of FreeRTOS-based software systems.
+
+Tracealyzer gives an unprecedented insight into the runtime behavior, which
+speeds up debugging, validation and optimization.
+
+This, the Trace Recorder Library, is the target-side part of Tracealyzer, that
+performs the actual tracing. The resulting data can then be viewed in the
+Tracealyzer PC application, found at https://percepio.com/tracealyzer
+
+To learn more, see these links.
+
+ - Getting Started (videos etc): https://percepio.com/gettingstarted
+
+ - FAQ: https://percepio.com/category/faq
+
+In case you have any questions, don't hesitate to contact support@percepio.com
+
+Tracealyzer supports FreeRTOS v7.3 and newer, including Amazon FreeRTOS.
+
+-------------------------------------------------------------------------------
+Changes, v4.1.4 -> v4.1.5
+
+- Fixed a bug in the ITM stream port, that required Port 0 to be enabled.
+- Added missing include of stdio.h (needed by vTraceConsoleChannelPrintF).
+- Moved standard includes from trcRecorder.h into the .c files needing them.
+
+-------------------------------------------------------------------------------
+
+Changes, v4.1.2 -> v4.1.4
+
+- Fixed a compile error when certain FreeRTOS settings were used
+- Disabled filter support for FreeRTOS v7.3 since it uses "char" for object id
+
+-------------------------------------------------------------------------------
+
+Changes, v4.1.0 -> v4.1.2
+
+- Added vTraceConsoleChannelPrintF(...)
+
+-------------------------------------------------------------------------------
+
+Changes, v4.0.3 -> v4.1.0
+
+- Improved performance of User Events
+- Fixed handling of format strings ending with '%'
+- Improved handling of creative user configuration macros
+
+-------------------------------------------------------------------------------
+
+Changes, v4.0.2 -> v4.0.3
+
+- Minor fix for TCP/IP stream port.
+- Corrected default RTT mode setting.
+
+-------------------------------------------------------------------------------
+
+Changes, v4.0.1 -> v4.0.2
+
+- Memory allocation trace events now ignore filters.
+
+-------------------------------------------------------------------------------
+
+Changes, v4.0.0 -> v4.0.1
+
+- Minor fixes to default values.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.3.0 -> v4.0.0
+
+- Fixed some issues with filters.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.2.0 -> v3.3.0
+
+- Added support for FreeRTOS v10, including the new object types Message Buffer
+ and Stream Buffer.
+
+- Improved the object-level filtering to also support Timer, Event Group,
+ Message Buffer and Stream Buffer objects.
+
+- Fixed a few remaining build problems with older FreeRTOS versions (v7.x).
+
+- vTraceStoreISRBegin now reports an error on invalid handles, i.e., if the
+ initialization of the handle (xTraceSetISRProperties) had not been made.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.1.2 -> v3.2.0
+
+- Added new filtering system - that works in both snapshot and streaming mode.
+ Filtering was previously not supported in streaming mode, but can be very
+ useful for slower streaming interfaces. By exluding irrelevant events, the
+ amount of data produced can be reduced a lot.
+
+ * New functions vTraceSetFilterGroup and vTraceSetFilterMask allows for
+ excluding all events from specific objects (like a semaphore or queue).
+
+ * Added new "generic" filters (preprocessor level) to trcConfig.h, that
+ exclude all events of a particular types.
+ - TRC_CFG_INCLUDE_NOTIFY_EVENTS
+ - TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS
+ - TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS
+ - TRC_CFG_INCLUDE_TIMER_EVENTS
+
+ * Upgraded some previous filters from "Snapshot only" to the Common API
+ and thereby moved them from trcSnapshotConfig.h to trcConfig.h.
+ - TRC_CFG_SCHEDULING_ONLY
+ - TRC_CFG_INCLUDE_MEMMANG_EVENTS
+ - TRC_CFG_INCLUDE_USER_EVENTS
+ - TRC_CFG_INCLUDE_ISR_TRACING
+ - TRC_CFG_INCLUDE_READY_EVENTS
+ - TRC_CFG_INCLUDE_OSTICK_EVENTS
+
+ * Removed the old filter system from trcSnapshotRecorder.c.
+
+- Improved streaming interface - Now only two (2) macros are needed to be
+ defined in most cases, read and write. This makes it a lot easier to make
+ custom stream ports.
+
+ * Many definitions that were identical in most stream ports, have been
+ replaced by default definitions in the recorder core. If needed, they
+ can be overriden by custom definitions in trcStreamingPort.h.
+
+ * Stream ports are now assumed to use recorder's internal event buffer.
+ Other stream ports that writes directly to the streaming interface
+ (like J-Link) should define TRC_STREAM_PORT_USE_INTERNAL_BUFFER
+ as zero (0) to make it work correctly.
+
+ * Macro TRC_STREAM_PORT_PERIODIC_SEND_DATA has been replaced by
+ TRC_STREAM_PORT_WRITE_DATA. Together with TRC_STREAM_PORT_READ_DATA,
+ this is all that is necessary for a typical stream port.
+
+ * Return values from the stream port macros READ_DATA and WRITE_DATA are
+ now checked. Expects 0 on success, anything else produces a warning
+ that can be retrived using xTraceGetLastError() and also seen in
+ Tracealyzer if a trace was produced.
+
+ * Stream ports should no longer call prvPagedEventBufferInit explicitly
+ (e.g. in TRC_STREAM_PORT_ON_TRACE_BEGIN). This is now called
+ automatically if TRC_STREAM_PORT_USE_INTERNAL_BUFFER == 1.
+
+ * Macros TRC_STREAM_PORT_ON_TRACE_BEGIN and TRC_STREAM_PORT_ON_TRACE_END
+ are now unused by default and don't need to be defined.
+ You can however use them to hook in some own function at these events.
+
+- Added two new stream ports
+
+ * TCPIP-Win32: allows for testing the streaming on Windows ports of your
+ RTOS, using Winsock.
+
+ * File: example of streaming to a local file system (tested on Windows,
+ but easy to modify).
+
+- Added support for FreeRTOS v9.0.1
+
+ * Replaced FreeRTOS version code TRC_FREERTOS_VERSION_9_X with
+ - TRC_FREERTOS_VERSION_9_0_0
+ - TRC_FREERTOS_VERSION_9_0_1
+
+ * Using TRC_FREERTOS_VERSION_9_X is no longer allowed.
+
+- Added additional events for xQueuePeek, for blocking and timeouts events.
+
+- Added event for traceTIMER_EXPIRED, showing when the timer callback
+ function is called.
+
+- Improved diagnostics in streaming mode, in case of errors in the recorder.
+
+ * Added prvTraceWarning() - registers a "warning" error code, without
+ stopping the recorder. Called if READ_DATA or WRITE_DATA returns a
+ non-zero value, and in several other cases where the recorder
+ configuration is incorrect (e.g., too small symbol table).
+
+ * Added several new warning codes (PSF_WARNING_XYZ), corresponding to the
+ issues detected by prvCheckRecorderStatus.
+
+ * Fixed duplicate definitions of warning messages, so the warnings reported
+ to Tracealyzer are the same as those provided in xTraceGetLastError().
+
+ * Added better explainations of warning/error messages in the body of
+ xTraceGetLastError (in streaming mode).
+
+- Added xTraceIsRecordingEnabled() to Common API.
+
+- Added "unofficial" hardware port for Altera Nios-II.
+ This is a user contribition, not yet verified by Percerpio.
+
+- Fixed bug in vTraceEnable - option TRC_START_AWAIT_HOST was ignored if already initialized.
+
+- Fixed a few remaining compiler warnings.
+
+- Changed order of some settings in trcConfig.h - moved advanced stuff to the
+ bottom.
+
+- Removed SEGGER_RTT_Printf.c from the J-Link stream port since not required
+ for Tracealyzer.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.1.1 -> v3.1.2
+- Fixed two bugs related to User Events, one in vTracePrintF and other in vTracePrint.
+
+- Fixed a build problem related to a single reference of the old FreeRTOS type "xTaskHandle", in trcKernelPort.c.
+ Changed to "TaskHandle_t", unless if using an older FreeRTOS kernel or the "compatibility mode".
+
+- Removed traceCREATE_MUTEX hook for FreeRTOS v9 or later (no longer required)
+
+- Updated the User Manual regarding snapshot trace via IAR Embedded Workbench.
+
+- Renamed vTraceGetTraceBuffer to xTraceGetTraceBuffer, since returning a pointer.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.1.0 -> v3.1.1
+
+After the major changes in the v3.1.0 trace recorder library, this update
+corrects a number of minor issues. Only minor functional improvements.
+
+- You can now use TRC_ALLOC_CUSTOM_BUFFER to declare a trace buffer on a custom
+ location (using linker directives).
+ The related function vTraceSetRecorderDataBuffer has been promoted to the
+ Common API (previously only supported in snapshot mode, but custom allocation
+ is now generally supported also in streaming mode).
+
+- Removed TRC_CFG_USE_LINKER_PRAGMA. No longer necessary thanks to the custom
+ allocation mode.
+
+- Added support for timestamping from custom periodic timers, required for
+ accurate timestamping on Cortex-M0/M0+ devices when using tickless idle.
+ Only for streaming mode so far. See TRC_CUSTOM_TIMER_INCR / DECR.
+
+- ARM Cortex-M port: Made sure the DWT unit is initialized properly, in case
+ the debugger doesn't handle this.
+
+- ARM Cortex-M port: Added possibility to use Systick timestamping also on
+ Cortex-M3/M4/M7 devices (that otherwise use DWT timestamping by default).
+ To use this option, define the macro TRC_CFG_ARM_CM_USE_SYSTICK.
+
+- J-Link streaming: The default RTT buffer has been changed from 0 to 1.
+
+- J-Link streaming: The RTT buffer settings for buffer 1 and higher, are now
+ found in trcStreamingPort.h. Note: These settings don't apply to buffer 0.
+
+- vTracePrint has been optimized for better performance in string logging.
+
+- Minor performance improvement related to symbol table transfer in streaming mode.
+
+- Timer names now registered also in streaming mode.
+
+- Timer start and stop event are now traced.
+
+- Implemented support for queue registry (traceQUEUE_REGISTRY_ADD) also for streaming.
+
+- Fixed a bug related to repeated calls of vTraceEnable.
+
+- Fixed a bug where task-switches seemed to occur even though the scheduler was disabled.
+
+- Renamed HARDWARE_PORT_TEXAS_INSTRUMENTS_TMS570_RM48, added prefix TRC.
+
+- Fixed several language issues in the comments and documentation.
+
+- Fixed several minor issues and warnings from different compilers
+ (including PowerPC/gcc) and configurations.
+
+-------------------------------------------------------------------------------
+
+Changes, v3.0.9 -> v3.1.0
+
+- Merge of previously separated snapshot and streaming recorders into a single
+ recorder supporting both streaming and snapshot as different modes.
+
+- New common API for supporting both streaming and snapshot modes.
+
+- New integration guide, see the User Manual.
+
+- Major improvement of API documentation in source files and User Manual.
+
+- New concept of "stream ports", giving a better structure defining streaming
+ interfaces, and restructured the J-Link and TCP/IP streaming as stream ports.
+
+- Added a stream port for USB CDC connections, with STM32 as example.
+ Since Tracealyzer now can receive serial data on Windows COM ports, this is
+ really easy to use.
+
+- Added a warning (#error) for cases where FreeRTOS tickless idle mode is used
+ together with timestamping using SysTick or other periodic interrupt timers,
+ Tracing with tickless idle requires an independent time source to correctly
+ capture the length of the idle periods.
+
+- Major changes in the recorder API. Important examples are:
+
+ * Some configuration macros have changed names, e.g. for "hardware port".
+ Make sure to remove any old "trcConfig.h" files if upgrading from an
+ earlier version!
+
+ * Recorder configuration in trcConfig.h has been minimized and now only
+ includes the important settings that are independent of recorder mode.
+ Advanced settings for each mode are found in trcSnapshotConfig.h and
+ trcStreamingConfig.h.
+
+ * vTraceEnable replaces Trace_Init and vTraceInitTraceData, as well as
+ vTraceStart and uiTraceStart.
+
+ * vTraceStop now part of the common API and thereby available also in
+ streaming. And since vTraceEnable can start the streaming directly
+ you have the option control the tracing from target, e.g., for
+ streaming to a device file system.
+
+ * vTraceStoreKernelObjectName from old streaming recorder has been replaced
+ by vTraceSetQueueName, vTraceSetSemaphoreName, etc.
+
+ * vTraceSetISRProperties now returns a "traceHandle" that should be passed as
+ parameter to vTraceStoreISRBegin and vTraceStoreISREnd.
+
+ * xTraceRegisterString has replaced the old functions xTraceOpenLabel and
+ vTraceStoreUserEventChannelName. This now returns a "traceString" for use
+ as "channel" parameter in vTracePrintF, and in other places where strings
+ are stored.
+
+ * Removed vTraceStoreISREndManual and vTraceStoreISREndAuto, use
+ vTraceStoreISREnd instead.
+
+ * Renamed the functions for saving User Events in a separate buffer:
+ - xTraceRegisterChannelFormat -> xTraceRegisterUBChannel
+ - vTraceChannelPrintF -> vTraceUBData
+ - vTraceChannelUserEvent -> vTraceUBEvent
+
+
+-------------------------------------------------------------------------------
+Copyright Percepio AB, 2018. \ No newline at end of file