Home
TraceX User`s Manual - Renesas Electronics
Contents
1. FFFS06D0 00 01 O0 OO FF F8 02 AO FF F8 35 DC OO OO 03 FC Su RR E FFF806EO 74 68 72 65 61 64 20 41 41 OO OO OO OO OO OO OO thread AA FFF806FO OO OO OO OO OO 00 OO OO 00 OO OO OO OO OO OO OO FFF80700 O00 01 00 OO FF r8 OO AS FF r8 39 E4 OO OO 03 FC NS EAN ets gt User Guide TraceX User Guide 269 Step 2 Place cursor within memory window and right click 63 Threadx7216demonstration High performance Embedded Workshop demo threadx c File Edit View Project Build Debug Setup Tools Test Window Help Debug v DefaultSession X Ga vii t HEH zg m t EE EJ Heat ThreadXDemo Threadx7216demonstration 3 8 Assembly source file Value 5 tx initialize low level src 3 83 C header fle Line Event Source SNNT tx api h 180 tx_porth 181 Define the application threads 00000000 tx_user h 182 000023c0 C source file 183 oid thread entry ULONG thread input 00000000 E dbscte 184 00000064 i demo_threadx c E 00000000 E hwsetup c ei tived message 00000006 intprg c EN 7 us 00000000 Move d 00000000 thread retrieves messages placed on its queue by thread D Compare ues p aq y 00000000 B Threadx_demo_trace_7263 lib FFF80000 Text Files Save Memory contents 0000372c l ASK Header rd Search 00000000 Download modules FFEVFFFF IIR Threadx7216demonstration abs 000 increment the thread counter FFF835A8 Dependencies i
2. ThreadX Trace Description The ThreadX Trace feature is designed to capture events in real time in a circular event buffer This buffer may be analyzed by other tools The high level format of the Trace structure is Trace Control Header Trace Object Registry Entry 0 Trace Object Registry Entry n Trace Buffer Entry 0 Trace Buffer Entry n d Trace Control Header The Trace Control Header contains information that defines the format of the Trace Object Registry as well as the location and current entry of the Trace Buffer itself The high level format of the Trace Control Header is Entry Size Description Trace ID 4 This 4 byte field contains the ThreadX Trace Identification If the trace buffer is valid the contents are 0x54585442 TXTB Since it is written as a 32 bit unsigned word this value is also used to determine if the event trace information is in little or big endian format Timer Valid Mask 4 Mask of valid bits in the 32 bit time stamp This enables use of 32 24 16 or event 8 bit timers f the time source is 32 bits the mask is OxFFFFFFFF If the time source is 16 bits the mask is 0x0000FFFF Trace Base Address 4 The base address for all trace pointer Subtracting the pointer and this address will yield the proper offset into the trace buffer Trace Object Registry Start Pointer 4 Pointer to the start of Trace Object Registry
3. Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x0000BDA4 Priority 0 Thread 0 0x00003974 Priority 1 Thread 1 0x00003A1C Priority 10 Thread 2 0x00003ACA Priority 5 Registered to Express Logic Seats Purchased FIGURE 3 23 Figure 3 15 shows a deterministic priority inversion from event 24 through event 27 In this range the higher priority thread 0 blocks on a mutex owned by a lower priority thread 1 At event 27 thread 1 releases the mutex and thus ends the priority inversion The brighter shaded area shows a non deterministic priority inversion between event 34 through event 45 What makes this non deterministic is that while thread 1 holds the mutex that higher priority thread ant gt User Guide TraceX User Guide 53 0 is blocked on an interrupt occurs that resumes thread 2 which then executes and lengthens the time the system is in priority inversion This condition can be quite serious and difficult to identify however with TraceX it is easily identified TraceX Multi Core TraceX Multi Core is nearly identical to the standard TraceX with two major additions First TraceX Multi Core has the ability to display ThreadX SMP trace events on multiple cores Second TraceX Multi Core introduces a new performance analysis capability This new capability calculates the CPU Utilization of Express Logic Inc 54 Description
4. Allowed From Initialization and threads ets gt User Guide TraceX User Guide 85 Example Disable event tracing status tx trace disable t If Status X8 TX SUCCESS the event tracing is disabled 7 See Also tx trace enable tx trace event filter tx trace event unfilter tx trace isr enter insert tx trace isr exit insert tx trace buffer full notify tx trace user event insert Express Logic Inc 86 Generating Trace Buffers tx trace isr enter insert Insert ISR enter event Prototype VOID tx trace isr enter insert ULONG isr id Description This service inserts the ISR enter event into the event trace buffer It should be called by the application at the beginning of ISR processing The supplied parameter should identify the specific ISR to the application The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters isr id Application specific value to identify the ISR Return Values None Allowed From ISRS ets gt User Guide TraceX User Guide 87 Example Insert trace event to identify the application s ISR with an ID of 32 7 status tx trace isr enter insert 3 DF IT Status X5 TX SUCCESS the TSR eBt y event was inserted y See Also tx trace enable tx trace event filter tx trace event unfilter tx trace disable tx trace isr exit insert tx trace buffer full notify tx trace user event
5. 00000000 9D000Z80 300000000 00000000 SDOOACS4 AO00001D4 AO0000688 A00028E8 00000000 UM PRES Select a Program Symbol vent buffer Step 3 m Memory TraceX User Guide 263 Right click again within the Memory View Window and select Go To which opens a dialog box that enables you to specify the address of the event buffer This example shows event_buffer being displayed HER address Virtual oo oi oz os os os oe ov oe oo oa os oc op or or ascir 0000 0000 0000 0010 0000 0020 0000 0030 0000 0040 0000 0050 0000 0060 0000 0070 0000 0080 0000 0090 0000 00A0 0000 00B0 0000 00C0 0000 00D0 0000 OOEO 0000 OOFO 0000 0100 0000 0110 0000 0120 0000 0130 0000 0140 0000 0150 0000 0160 0000 0170 0000 0180 0000 0190 0000 01A0 0000 01B0 0000 01CO 0000 01D0 0000 01E0 0000 01F0 0000 0200 0000 0210 0000 0220 0000 0230 A000 0000 A000 0010 A000 0020 A000 0030 A000 0040 A000 0050 A000 0060 A000 0070 A000 0080 A000 0090 A000 00A0 A000 00BO A000 00C0 A000 00D0 A000 OOEO A000 00F0 A000 0100 A000 0110 A000 0120 A000 0130 A000 0140 A000 0150 A000 0160 A000 0170 A000 0180 A000 0190 A000 01A0 A000 01B0 A000 01CO A000 01DO A000 O1EO A000 01F0 A000 0200 A000 0210 A000 0220 A000 0230 Data View Code View 39 4C 65 42 2E 00 1D 1D 00 00 10 oc 70 8c 9c 00 40 AC E4 45 00 01 00 Sc 00 00 3C 01 00 08 00 01 01 OA
6. Device Stack Descriptor Send ux device stack descriptor send Icon Description This event represents a USBX Device Stack Descriptor Send Event Information Fields Info Field 1 Descriptor type Info Field 2 Request index Info Field 3 Not used Info Field 4 Not used Device Stack Endpoint Stall ux device stack endpoint stall Icon Description This event represents a USBX Device Stack Endpoint Stall Event Information Fields Info Field 1 Endpoint Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 194 Device Stack Get Status ux device stack get status Icon H Description This event represents a USBX Device Stack Get Status Event Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Initialize Icon H Description This event represents a USBX Device Stack Initialize Event ux_device_stack_initialize Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Interface Get ux_device_stack_interface_get Icon H Description This event represents a USBX Device Stack Interface Get Event Information Fields Info Field 1 Interface value Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide USBX Trace Events Device Stack Host Wakeup ux_device_stack_
7. IGMP Loopback Enable nx igmp loopback enable Icon L Description This event represents enabling IGMP loopback via nx igmp loopback enable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IGMP Multicast Leave Icon H Description This event represents leaving a multicast group via nx igmp multicast leave nx igmp multicast leave Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Group IP address Info Field 3 Not used Info Field 4 Not used 157 IGMP Loopback Disable nx igmp loopback disable Icon E Description This event represents disabling IGMP loopback via nx_igmp_loopback_disable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IGMP Multicast Join Icon Description This event represents joining a multicast group via nx igmp multicast join nx_igmp_multicast_ join Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Group IP address Info Field 3 Not used Info Field 4 Not used IP Address Change Notify nx ip address change notify Icon H Description This event represents registering for IP change notification via nx ip address change notify Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Callback function pointer Info Field 3 Additional informati
8. owning thread I4 own count define TX TRACE MUTEX INFO GET 53 FE mutex ptr define TX TRACE MUTEX PERFORMANCE INFO GET 54 mutex ptr Xf define TX TRACE MUTEX PERFORMANCE SYSTEM INFO GET 55 None sy define TX TRACE MUTEX PRIORITIZE 56 ys mutex ptr I2 suspended count I3 stack ptr igs define TX TRACE MUTEX PUT 57 mutex ptr I2 owning thread I3 own count I4 stack ptr define TX TRACE QUEUE CREATE 60 f queue ptr I2 message size I3 queue start I4 queue size Lei define TX TRACE QUEUE DELETE 61 j queue ptr I2 stack ptr define TX TRACE QUEUE FLUSH 62 queue ptr I2 stack ptr 7 define TX TRACE QUEUE FRONT SEND 63 P queue ptr I2 source ptr I3 wait option I4 enqueued XI define TX TRACE QUEUE INFO GET 64 PE queue ptr define TX TRACE QUEUE PERFORMANCE INFO GET 65 queue ptr 7 define TX TRACE QUEUE PERFORMANCE SYSTEM INFO GET 66 None 7 define TX TRACE QUEUE PRIORITIZE 67 KE queue ptr I2 suspended count 13 stack ptr 7 define TX TRACE QUEUE RECEIVE 68 j queue ptr I2 destination ptr I3 wait option I4 enqueued xy define TX_TRACE_QUEUE_SEND 69 FE queue ptr I2 source ptr I3 wait option I4 enqueued 7 define TX TRACE QUEUE SEND NOTIFY 70 y queue ptr P define TX TRACE SEMAPHORE CEILING PUT 80 EX semaphore ptr I2 current count I3 suspended count I4 ceiling define TX TRACE SEMAPHORE CREATE 81 PE semaphore ptr I2 initial count 13 stack p
9. 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 FIGURE 3 17 ets gt User Guide TraceX User Guide 47 Event ID Info 1 Info 2 Info 3 Info 4 CT Match All Fields Match Any Field FIGURE 3 18 Zooming In and Out By default TraceX displays the events at their full size You may zoom in or zoom out as desired Zooming out is useful to see the overall events captured in the trace while zooming in is useful in conditions where the events overlap because of the resolution of the time stamp source Figure 3 19 Express Logic Inc 48 Description of TraceX shows the demo_threadx trx file Zoomed out so that 100 of the trace file is shown if TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help r dag E etw gt A 100 494 gt P b L Sequential View Time View Context Summary Event Summary Event ID 1140 1330 1520 1710 1900 Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000
10. 00 05 64 00 26 00 00 00 48 00 00 00 00 00 00 00 00 00 00 54 00 00 KE 00 AA 00 20 00 00 6F 00 00 20 00 00 20 00 00 20 00 00 00 00 00 54 AO AO 00 00 00 AO AO 00 00 00 41 9D AO EE AO AA AO 54 00 AO 6F 00 AO 30 00 AO 31 00 AO 32 00 AO 00 10 00 39 E8 DO 00 D4 94 DO DO 00 08 00 64 00 80 AC DC BB oc 69 00 28 6c 00 08 00 00 F 00 00 E8 00 00 D8 00 00 00 00 07 05 00 oD Ac 28 05 00 00 00 BF 00 06 06 oc BB 29 6D 00 47 20 00 38 00 00 3F 00 00 47 00 00 4F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BB 00 65 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AO 00 SD 9D AO AO 00 00 00 9D 00 AO AO AO BB AO 72 00 00 00 00 AO 00 00 AO 00 00 AO 00 00 AO AC 10 00 68 00 10 00 06 DO 00 00 5C 08 00 14 20 80 DC gc cc E8 20 00 00 00 00 E8 00 00 E8 00 00 E8 00 00 E8 26 00 00 6E 00 BF 00 00 05 00 00 27 00 00 00 02 06 06 26 cc 07 54 00 00 00 00 07 00 00 07 00 00 07 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AO 00 00 AO 00 9D 00 00 AO 00 00 AO 00 00 00 AO 2o EE AO AO cc 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 34 20
11. 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic Seats Purchased FIGURE 3 20 The delta ticks shown in Figure 3 20 show that 501 ticks have elapsed between event 494 and event 496 This could also be calculated manually by looking at the relative time stamps in each event and subtracting but using the GUI is easy and instantaneous Express Logic Inc 50 Description of TraceX Actual Time Display When enabled TraceX displays the actual time in microseconds in Time View and for the various delta time information displayed by TraceX By default the actual time display is disabled To enable the actual time display the number of ticks per microsecond must be entered via the Options gt Ticks per Microsecond menu selection the value to enter is determined by the hardware timer source used for the TraceX event logging on the target Figure 3 21 shows a selection of 80 ticks per microsecond After this selection the TraceX tick information is also translated into microseconds as shown in Figure 3 22 i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View L e Help 9 0 Ticks per microsecond gt Status Lines d Sequential Vi
12. 88 Close Breakpoints Run To Cursor Set PC at Cursor Center Debug Location Cross Tab Tracking Find Find Next Import Table Export Table Fill Memory Display Format Ce B OO GET O CT O O O O O O H CS O O eee ee ee GT O O CET O E H MEET N RP 89 ooqococqce Oo E 6 6 G G 6 H E Output To File Print Help Properties RAM Memory Copyrigh t c 19 96 2010 Express Logic In c Ihr eadX PIC 32x MPLA B Versio n G5 4 5 sd Ms b SE s Express Logic Inc 264 ah ae eee Dj mnre Rre marb pars N v ma Pe p 3 dree e n gm mer Bj omm mas rmm Hs MILL A did anns Tops lun pry PR up ete id P CES Pw euge e d Tiap sanaa Lj FT bed Shen Coder m d roma vua mern rmi c me d cS i oo m if momen pe pen LL ben 1 Iles h m b gi de wnat ed fees tT rR lt Se d pus vee weno era i t ba eee dei e INST orm bem m Fr tle N m mcm areri D am vers rc I LA mex Dai Pees 4 r seem ent guess Os VERTE wee N CRE Toran ker I La Vs 54446884 un Pos tek P wes p R User Guide abereai oam remm ruat Pup NT XXI ES ME IRI E set ILI uo moe n i bb iem wae Iw tide Pu LIII A ams 9 Ba IT LL ke is im CE mepa ites s sus sans Tres ETTE iF e Asa IP s mers Biicsis bidaia EE rn Disi DRET nt vb merer HRO Mn l
13. A000 0230 Data View Code View Go to what Address Function Sumbal Memon Region 79706F43 322D3639 69676F4C 58646165 65562042 5320332E 00000000 0000001D 0000001D A0003800 00000000 00000010 A000290C 00000070 A000288C A000269C 00000000 A0000140 AO00001AC A00004E4 4D555445 00000000 00000001 00000000 0000059C 20003800 00000000 9D00BF3C 00000001 00000000 20003808 00000000 00000001 00000001 0000000A 20000688 RAM Memory 68676972 63282074 39312029 Copyrigh t c 19 20303130 72707845 20737365 96 2010 Express 6E492063 2A202E63 72685420 Logic In c Thr 43495020 2F783233 414C504D eadX PIC 32x MPLA 6F697372 3547206E 352E342E B Versio n G5 4 5 742 7 AMA d Ses est 0001 I cm GNU n 000 Breakpoints gt v hf A 000 hr a 000 Run To Cursor HH mes ne ZOO Set PC at Cursor F4 Bus A00 P A Hm 200 Center Debug Location 00 prises sie 000 Cross Tab Tracking gt ILE ooo Ske og Sener ee Sere A00 Find a 0001 EL nn ces 000 Find Next Tk nee cmt ooo Go To HE nanang 000 HS ms re gpo Import Table DO ETUML ooo Export Table x NEQU sings H 200 Fill Fu Te KR Output To File daun eit A00 Print NDVD oooi scans A00 eee L 544i Hp ECS8 DRET Es A00 ss 0 NM Hi oed aoo Properties co a 00000004 00000000 00000000
14. CENESAS n D m Cp lt SY 5 D TraceX User s Manual Software Renesas Synergy Platform synergygallery renesas com Renesas Electronics Rev 5 www renesas com ThreadX system analysis tool V5 for Windows User Guide Express Logic Inc 858 613 6640 Toll Free 888 THREADX FAX 858 521 4259 http www expresslogic com 2002 2010 by Express Logic Inc All rights reserved This document and the associated TraceX software are the sole property of Express Logic Inc Each contains proprietary information of Express Logic Inc Reproduction or duplication by any means of any portion of this document without the prior written consent of Express Logic Inc is expressly forbidden Express Logic Inc reserves the right to make changes to the specifications described herein at any time and without notice in order to improve design or reliability of TraceX The information in this document has been carefully checked for accuracy however Express Logic Inc makes no warranty pertaining to the correctness of this document Trademarks TraceX NetX USBX StackX preemption threshold Piconet and UDP Fast Path are trademarks of Express Logic Inc and ThreadX and FileX are registered trademarks of Express Logic Inc All other product and company names are trademarks or registered trademarks of their respective holders Warranty Limitations Express Logic Inc makes no warranty of any kind that the
15. Cdc Acm Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 198 Host Class Cdc Acm Deactivate ux_host_class_cdc_acm_deactivate Icon H Description This event represents a USBX Host Class Cdc Acm Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm loctl Abort Out Pipe ux host class cdc acm ioct abort out pipe Icon Description This event represents a USBX Host Class Cdc Acm loctl Abort Out Pipe Event Information Fields Info Field 1 Class instance Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm loctl Get Line Coding ux host class cdc acm ioctl get line coding Icon L Description This event represents a USBX Host Class Cdc Acm loctl Get Line Coding Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Host Class Cdc Acm loctl Abort In Pipe ux host class cdc acm ioctl abort in pipe Icon Description This event represents a USBX Host Class Cdc Acm loctl Abort In Pipe Event Information Fields Info Field 1 Class instance Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm lo
16. Host Class Cdc Acm Read ux host class cdc acm read Host Class Cdc Acm Reception Start ux host class cdc acm reception start Host Class Cdc Acm Reception Stop ux host class cdc acm reception stop Host Class Cdc Acm Write ux host class cdc acm write Host Class Dpump Activate ux host class dpump activate Host Class Dpump Deactivate ux host class dpump deactivate ET EI ET FH EE GE EH 2 ado EI GET 972 QT EI SI En EX FO QUI ETE ET J Host Class Dpump Read ux host class dpump read ets gt User Guide KD GEI EJ ei CET EI ET I CE ET I EXT ETE ED EI 2 GES CET GEI EE ET TraceX User Guide 177 Host Class Dpump Write ux host class dpump write Host Class Hid Activate ux host class hid activate Host Class Hid Client Register ux host class hid client register Host Class Hid Deactivate ux host class hid deactivate Host Class Hid Idle Get ux host class hid idle get Host Class Hid Idle Set ux host class hid idle set Host Class Hid Keyboard Activate ux host class hid keyboard activate Host Class Hid Keyboard Deactivate ux host class hid keyboard deactivate Host Class Hid Mouse Activate ux host class hid mouse activate Host Class Hid Mouse Deactivate ux host class hid mouse deactivate Host Class Hid Remote Control Activate ux host class hid remote control activate Host Class Hid Remote Control Deactivate ux host class hid remote control deactivate Host Class Hid Report Get ux host class hid repor
17. Media Close fx media close Media Flush fx media flush Media Format fx media format Media Open fx media open Media Read fx media read Media Space Available fx media space available Media Volume Get fx media volume get Media Volume Set fx media volume set Media Write fx media write System Date Get fx system date get System Date Set fx system date set BE CEI FE CA EE ELI EH CH EET CRI GE ET CI CF FG CRI CRI CE EEJ LES ERU CEI EIUS User Guide TraceX User Guide 121 System Initialize fx system initialize System Time Get fx system time get System Time Set fx system time set Unicode Directory Create fx unicode directory create Unicode Directory Rename fx unicode directory rename Unicode File Create fx unicode file create Unicode File Rename fx unicode file rename Unicode Lenght Get fx unicode length get Unicode Name Get fx unicode name get Unicode Short Name Get fx unicode short name get CET EX GEI EE LA CES CA CRI CEI ELI Event Descriptions The following describes each individual event Express Logic Inc 122 Internal Directory Cache Miss Internal directory cache miss Icon H Description This event represents an internal FileX directory cache miss Information Fields Info Field 1 Pointer to the media Info Field 2 Total misses Info Field 3 Not used Info Field 4 Not used Internal Directory Entry Write Internal directory entry write Ico
18. Return Values TX_SUCCESS 0x00 Successful event unfilter TX FEATURE NOT ENABLED OxFF System was not compiled with trace enabled Allowed From Initialization and threads Express Logic Inc 82 Generating Trace Buffers Example Un filter queue and byte pool events from trace buffer status tx trace event unfilter TX TRACE QUEUE EVENTS TX TRACE BYTE POOL EVENTS LE Status is IX SUCCESS all queue and byte pool events dre un rfiltered See Also tx trace enable tx trace event filter tx trace disable tx trace isr enter insert tx trace isr exit insert tx trace buffer full notify tx trace user event insert ets gt User Guide TraceX User Guide 83 Express Logic Inc 84 Generating Trace Buffers tx trace disable Disable event tracing Prototype UINT tx trace disable VOID Description This service disables event tracing inside ThreadX This can be useful if the application wants to freeze the current event trace buffer and possibly transport it externally during run time Once disabled the tx trace enable can be called to start tracing again The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters None Return Values TX SUCCESS 0x00 Successful event trace disable TX NOT DONE 0x20 Event tracing was not enabled TX FEATURE NOT ENABLED OxFF System was not compiled with trace enabled
19. The installation dialogs are fairly straightforward but it is worth noting that Figure 2 4 shows the dialog for changing the default installation directory for TraceX i TraceX 5 InstallShield Wizard Welcome to the InstallShield Wizard for TraceX 5 The InstaliShield R Wizard wil instal Tracey 5 2 0 on your computer To continue cick Next WARNING This program is protected by copyright law and international treaties FIGURE 2 1 Express Logic Inc 16 Installation and Use of TraceX Selecting Next button launches the TraceX installation as shown in Figure 2 2 i TraceX 5 InstallShield Wizard License Agreement Please read the folowing license agreement carefully Express Logic Inc TRACEX PRODUCT LICENSE AGREEMENT In accordance with this Agreement Express Logic Inc EL with headquarters located at 11423 West Bernardo Court San Diego CA 92127 grants you LICENSEE a non exclusive license to use all of the contents of the TraceX computer program files and associated documentation provided either by electronic download on physical media or any other method of distribution disk s CD ROMY s or other media provided under this Agreement LICENSED SOFTWARE This license to use is subject to the following terms and conditions 1 Copyright and Trademark TraceX is a trademark of Express Logic The structure organization and code of the LICENSED SOFTWARE are the valuable trade secre
20. UX TRACE HOST STACK EVENTS 0x02000000 UX TRACE DEVICE STACK EVENTS 0x04000000 UX TRACE HOST CONTROLLER EVENTS 0x08000000 UX TRACE DEVICE CONTROLLER EVENTS 0x10000000 UX TRACE HOST CLASS EVENTS 0x20000000 UX TRACE DEVICE CLASS EVENTS 0x40000000 Return Values TX SUCCESS 0x00 Successful event filter TX FEATURE NOT ENABLED OxFF System was not compiled with trace enabled Allowed From Initialization and threads Express Logic Inc 78 Generating Trace Buffers Example Filter queue and byte pool events from trace buffer Status tx trace event filter TX TRACE QUEUE EVENTS TX TRACE BYTE POOL EVENTS If status is TX SUCCESS all queue and byte pool events are filtered See Also tx trace enable tx trace event unfilter tx trace disable tx trace isr enter insert tx trace isr exit insert tx trace buffer full notify tx trace user event insert ets gt User Guide TraceX User Guide 79 Express Logic Inc 80 Generating Trace Buffers tx trace event unfilter Unfilter specified events Prototype UINT tx trace event unfilter ULONG event unfilter bits Description This service unfilters the specified event s such that they will be inserted into the active trace buffer The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters event unfilter bits Bits that correspond to events to unfilter Multip
21. 1 Class Instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used Device Class Pima Object Data Send ux device class pima object data send Icon Description This event represents a USBX Device Class Pima Object Data Send Event Information Fields Info Field 1 Class Instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used ets gt User Guide USBX Trace Events Device Class Pima Event Set ux device class pima event set Icon H Description This event represents a USBX Device Class Pima Event Set Event Information Fields Info Field 1 Class Instance Info Field 2 Pima event Info Field 3 Not used Info Field 4 Not used Device Class Pima Object Data Get ux device class pima object data get Icon Description This event represents a USBX Device Class Pima Object Data Get Event Information Fields Info Field 1 Class Instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used Device Class Pima Object Delete ux device class pima object delete Icon H Description This event represents a USBX Device Class Pima Object Delete Event Information Fields Info Field 1 Class Instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used TraceX User Guide Device Class Pima Object Handles Send ux device class pima object handles send Icon Description This event represents a USBX Device
22. 1 Pointer to IP instance Info Field 2 Starting port to search from Info Field 3 Free port Info Field 4 Not used 167 TCP Socket Transmit Configure nx tcp socket transmit configure Icon LS Description This event represents configuring the transmit options for a socket via nx tcp socket transmit configure Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Transmit queue depth Info Field 4 Timeout value UDP Enable Icon H Description This event represents enabling UDP via nx udp enable nx udp enable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used UDP Information Get Icon Description This event represents getting information via nx_udp_info_get nx_udp_info_get Information Fields Info Field 1 Pointer to IP instance Info Field 2 UDP bytes sent Info Field 3 UDP bytes received Info Field 4 Invalid packets Express Logic Inc 168 UDP Socket Bind Icon Description This event represents binding a UDP socket to a port via nx_udp_socket_bind nx udp socket bind Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Port number Info Field 4 Wait option UDP Socket Checksum Disable nx udp socket checksum disable Icon a Description This event represents disabling the checksum for data on a UDP so
23. 2 thread 00005A24 000190DC 000194DC 11 thread 00005ACC 000194E4 000198E4 13 thread 4 OY un f uu NH Ye Ye Ye Ye ve Ye ve Ye Ye ve Ye ve Ye ve Ye ve Ye Ye Ve Ye ve ve ve ve Ye ve Ye ve Ve ve Ve Ye Ve Ye Ve Ve Ye Ve Ye ve Ye ve Ve Ye ve Ye ve Ye ve ve ve ve Ye ve Ye ve ve ve Ve Ye ve ve Ve ve Objects in Trace Ye Ye ve Ye ve Ye ve ve ve ve Ye ve Ye ve ve ve Ve Ye Ve Ye Ve Ye ve Ve Ye ve Ye ve Ve ve ve Ye ve Ye ve Ye Ye ve Ye ve Ye ve Ve ve ve Ye ve Ye ve Ye ve Ve Ye Ve Ye ve Ve ve Ve Ye ve Ye ve ve v Address Type Name Reservedi Reserved2 Parameter 1 Parameter 2 00015D94 THREAD System Timer Thread Stack start 00015E3C Stack size 00005c30 BYTE POOL byte pool Total size 9120 00005634 THREAD thread Stack Start 000178AC Stack Size 000056DC THREAD thread Stack Start 00017CB4 Stack Size 00005784 THREAD thread Stack Start 000180BC Stack size 0000582C THREAD thread Stack start 000184c4 Stack Size 000058D4 THREAD thread Stack Start 000188cc Stack Size 0000597C THREAD thread Stack Start 00018cD4 Stack Size 00005424 THREAD thread Stack Start 000190DC Stack size 00005ACC THREAD thread Stack start 000194E4 Stack size 00005874 QUEUE queue Queue Size 400 Message Size 00005880 SEMAPHORE semaphore Initial Count 1 00005C08 EVENT FLAGS event flags OOO MMM KA O O FIGURE 4 12 Express Logic Inc 68 TraceX Performance Analysis ets gt User Guide This chapter contains a description about how to build a TraceX event b
24. Byte Pool Prioritize Icon tx_byte_pool_prioritize Description This event represents prioritizing the byte pool s suspension list via tx_byte_pool_ prioritize Information Fields Info Field 1 Pointer to corresponding byte pool Info Field 2 Number of threads currently suspended on byte pool Info Field 3 Stack pointer at time of call Info Field 4 Not used ets gt User Guide ThreadX Trace Events Byte Pool Information Get tx_byte_pool_info_get Icon H Description This event represents getting byte pool information via tx_byte_pool_info_get Information Fields Info Field 1 Pointer to the corresponding byte pool Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Byte Pool Performance System Info Get tx byte pool performance system info get Icon Description This event represents getting byte pool performance system information via tx byte pool performance system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Byte Release Icon Description This event represents releasing a block of memory allocated from a byte pool via tx byte release tx byte release Information Fields Info Field 1 Pointer to corresponding byte pool Info Field 2 Pointer to previously allocated byte pool memory Info Field 3 Number of threads suspended on this byte pool Info Field 4 Number of available bytes of
25. CET EI CES GEI EX Gl TraceX User Guide 173 Device Class Pima Event Set ux device class pima event set Device Class Pima Object Add ux device class pima object add Device Class Pima Object Data Get ux device class pima object data get Device Class Pima Object Data Send ux device class pima object data send Device Class Pima Object Delete ux device class pima object delete Device Class Pima Object Handles Send ux device class pima object handles send Device Class Pima Object Info Get ux device class pima object info get Device Class Pima Object Info Send ux device class pima object info send Device Class Pima Objects Number Send ux device class pima objects number send Device Class Pima Partial Object Data Get ux device class pima partial object data get Device Class Pima Response Send ux device class pima response send Device Class Pima Storage Id Send ux device class pima storage id send Device Class Pima Storage Info Send ux device class pima storage info send Device Class Rndis Activate ux device class rndis activate Device Class Rndis Deactivate ux device class rndis deactivate Device Class Rndis Message Keep Alive ux device class rndis msg keep alive Device Class Rndis Message Query ux device class rndis msg query Device Class Rndis Message Reset ux device class rndis msg reset Device Class Rndis Message Set ux device class rndis msg set Device Class Rndis Packet Receive ux
26. Class Pima Object Handles Send Event Information Fields Info Field 1 Class instance Info Field 2 Storage ID Info Field 3 Object format code Info Field 4 Object association Device Class Pima Object Info Send ux device class pima object info send Icon Description This event represents a USBX Device Class Pima Object Info Send Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Pima Partial Object Data Get ux device class pima partial object data get Icon Description This event represents a USBX Device Class Pima Partial Object Data Get Event Information Fields Info Field 1 Class Instance Info Field 2 Object handle Info Field 3 Offset requested Info Field 4 Length requested 187 Device Class Pima Object Info Get ux device class pima object info get Icon Description This event represents a USBX Device Class Pima Object Info Get Event Information Fields Info Field 1 Class Instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used Device Class Pima Objects NumberSend ux device class pima objects number send Icon Description This event represents a USBX Device Class Pima Object Number Send event Information Fields Info Field 1 Class Instance Info Field 2 Storage ID Info Field 3 Object format code Info Field 4 Object associate Device Class Pima Re
27. Code Layout Column Step 3 Select Save then in the Save Memory As window do the following e Select File format Binary e Specify Filename As Desired e Specify Start address trace buffer e Specify End address trace buffer size e Specify Access size 1 Express Logic Inc 270 e Click Save Save Memory As File format NE a Binary Cancel Cancel Filename aree d Start address trace ber amp End address FFFS2610 al Access size EE O TRACEX dg User Guide Symbols NET framework installation 23 NET v3 5 21 A actual time display 50 B base address of all trace file pointers 66 BenchX tools dumping trace buffer 258 buffer start and end pointers 234 building an event buffer 69 byte order of file 66 C CodeWarrior tools dumping trace buffer 260 completing TraceX installation 21 context Interrupt 37 moving 38 Relative Time 43 System Timer Thread 37 control header ID 233 controling elements of TraceX display 30 current event display 44 Customer Support Center information 9 D default location for TraceX installation 14 default view mode 33 defining time stamp constants 70 delta number of ticks between events 49 demo threadx trx 25 43 deterministic condition 51 deterministic priority inversion 52 deterministic priority inversion range 51 disable event tracing 84 display zoom in 47 display mode tabs 32 displaying all
28. EE EE TraceX User Guide 141 Packet Allocate nx_packet_allocate Packet Copy nx_packet_copy Packet Data Append nx_packet_data_append Packet Data Extract Offset nx_packet_data_extract_offset Packet Data Retrieve nx_packet_data_retrieve Packet Length Get nx_packet_length_get Packet Pool Create nx_packet_pool_create Packet Pool Delete nx_packet_pool_delete Packet Pool Information Get nx_packet_pool_info_get Packet Release nx_packet_release Packet Transmit Release nx_packet_transmit_release RARP Disable nx_rarp_disable RARP Enable nx_rarp_enable RARP Information Get nx_rarp_info_get System Initialize nx_system_initialize TCP Client Socket Bind nx tcp client socket bind TCP Client Socket Connect nx tcp client socket connect TCP Client Socket Port Get nx tcp client socket port get TCP Client Socket Unbind nx tcp client socket unbind TCP Enable nx tcp enable TCP Free Port Find nx tcp free port find TCP Information Get nx tcp info get TCP Server Socket Accept nx tcp server socket accept Express Logic Inc 142 NetX Trace Events TCP Server Socket Listen nx tcp server socket listen TCP Server Socket Relisten nx tcp server socket relisten TCP Server Socket Unaccept nx tcp server socket unaccept TCP Server Socket Unlisten nx tcp server socket unlisten TCP Socket Bytes Available nx tcp socket bytes available TCP Socket Create nx tcp socket create TCP Socket Delete nx tc
29. Express Logic Inc 20 Installation and Use of TraceX If everything is acceptable select the Next button to continue the installation as shown in Figure 2 6 TraceX 5 InstallShield Wizard Installing TraceX 5 The program features you selected are being instalied JC Please wait while the InstallShield Wizard instals Tracex 5 This may take 15 several minutes Status M M ee I FIGURE 2 6 ets gt User Guide TraceX User Guide 21 You should now observe the installation of TraceX on your Windows computer i TraceX 5 InstallShield Wizard InstallShield Wizard Completed The Instalshield Wizard has successfully installed TraceX 5 Click Finish to exit the wizard M Launch the program FIGURE 2 7 Selecting Finish button completes the installation and by default launches TraceX At this point TraceX is installed and ready to use As mentioned previously TraceX requires NET v3 5 or higher If this is not currently installed the TraceX installation process will automatically install it Figure Express Logic Inc 22 Installation and Use of TraceX 2 8 through Figure 2 10 show the general flow of NET installation TraceX 5 InstallShield Wizard ie TraceX 5 requires the following items to be installed on your computer Click Install to begin installing these requirements Status Requirement Pending Microsoft NET Framework 3 5
30. Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Transmit sequence number Internal TCP SYN Send Icon Internal TCP SYN send Description This event represents an internal NetX TCP SYN send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Transmit sequence number eats gt User Guide NetX Trace Events Internal TCP RST Receive Internal TCP RST receive Icon H Description This event represents an internal NetX TCP reset receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Receive sequence number Internal TCP SYN Receive Internal TCP data receive Icon Description This event represents an internal NetX TCP SYN receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Receive sequence number Internal UDP Receive Icon H Description This event represents an internal NetX UDP receive event Internal UDP receive Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Word 0 of UDP header TraceX User Guide Internal UDP Send Icon H Description This event represents an internal NetX UDP send ev
31. Field 3 Not used Info Field 4 Not used Express Logic Inc 192 Device Class Storage Verify ux device class storage verify Icon H Description This event represents a USBX Device Class Storage Verify Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Stack Alternate Setting Get ux device stack events base Icon H Description This event represents a USBX Device Stack Alternate Setting Get Event Information Fields Info Field 1 Interface value Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Class Register ux device stack class register Icon H Description This event represents a USBX Device Stack Class Register Event Information Fields Info Field 1 Class name Info Field 2 Interface number Info Field 3 Parameter Info Field 4 Not used ant User Guide USBX Trace Events Device Class Storage Write ux device class storage write Icon H Description This event represents a USBX Device Class Storage Write Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Sector Info Field 4 Number sectors Device Stack Alternate Setting Set ux_device_stack_alternate_setting_get Icon Description This event represents a USBX Device Stack Alternate Setting Set Event Information Fields Info Field 1 Interface value Info Field 2 Alte
32. Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 185 Device Class Hid Report Get ux_device_class_hid_report_get Icon Description This event represents a USBX Device Class Hid Report Get Event Information Fields Info Field 1 Class Instance Info Field 2 Descriptor type Info Field 3 Request index Info Field 4 Not used Device Class Pima Activate ux device class pima activate Icon H Description This event represents a USBX Device Class Pima Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Pima Device Info Send ux device class pima device info send Icon Description This event represents a USBX Device Class Pima Device Info Send Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 186 Device Class Pima Event Get ux device class pima event get Icon H Description This event represents a USBX Device Class Pima Event Get Event Information Fields Info Field 1 Class Instance Info Field 2 Pima event Info Field 3 Not used Info Field 4 Not used Device Class Pima Object Add ux_device_class_pima_object_add Icon H Description This event represents a USBX Device Class Pima Object Add Event Information Fields Info Field
33. From Beginning 0x00 From End 0x01 Forward 0x02 Backward 0x03 Info Field 4 Previous offset File Seek Icon fx file seek Description This event represents a file seek event Information Fields Info Field 1 Pointer to the file Info Field 2 Byte offset Info Field 3 Previous offset Info Field 4 Not used TraceX User Guide File Truncate Icon L Description This event represents a file truncate event fx_file_truncate Information Fields Info Field 1 Pointer to the file Info Field 2 Requested size Info Field 3 Previous size Info Field 4 New size File Write Icon E Description This event represents a file write event fx_file_write Information Fields Info Field 1 Pointer to the file Info Field 2 Buffer pointer Info Field 3 Request size Info Field 4 Actual size written Media Cache Invalidate fx_media_cache_invalidate Icon H Description This event represents a media cache invalidate event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 129 File Truncate Release Icon L Description This event represents a file truncate release event fx file truncate release Information Fields Info Field 1 Pointer to the file Info Field 2 Requested size Info Field 3 Previous size Info Field 4 New size Media Abort Icon H Description This event represents a media a
34. Guide Internal 1 0 Driver Flush Icon Description This event represents an internal FileX I O driver flush event Internal I O driver flush Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Initialize Internal I O driver initialize Icon Description This event represents an internal FileX I O driver initialize event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal 1 0 Driver Release Sectors Internal I O driver release sectors Icon H Description This event represents an internal FileX I O driver release sectors event Information Fields Info Field 1 Pointer to the media Info Field 2 Sector Info Field 3 Number of sectors Info Field 4 Not used 123 Internal I O Driver Un initialize Internal I O driver un initialize Icon Description This event represents an internal FileX I O driver un initialize event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Read Icon Description This event represents an internal FileX I O driver read event Internal I O driver read Information Fields Info Field 1 Pointer to the media Info Field 2 Sector Info Field 3 Number of sectors Info Field 4 Buffer poi
35. I2 next thread ptr Ef define TX TRACE THREAD RESET 0 F thread ptr I2 thread state x define TX TRACE THREAD RESUME API 1 thread ptr I2 thread state I3 stack ptr y define TX TRACE THREAD SLEEP 2 LS sleep value I2 thread state I3 stack ptr Ej define TX TRACE THREAD STACK ERROR NOTIFY 3 None define TX TRACE THREAD SUSPEND API 4 thread ptr 2 thread state 3 stack ptr define TX TRACE THREAD TERMINATE 5 pe thread ptr I2 thread state I3 stack ptr XL define TX TRACE THREAD TIME SLICE CHANGE 6 y thread ptr 2 new timeslice I3 old timeslice XI define TX TRACE THREAD WAIT ABORT 7 thread ptr I2 thread state I3 stack ptr wr define TX TRACE TIME GET 20 LA current time I2 stack ptr Xd define TX TRACE TIME SET 21 new time define TX TRACE TIMER ACTIVATE 22 timer ptr XI define TX TRACE TIMER CHANGE 23 7 timer ptr I2 initial ticks I3 reschedule ticks b define TX TRACE TIMER CREATE 24 timer ptr I2 initial ticks I3 reschedule ticks I4 enable define TX TRACE TIMER DEACTIVATE 25 p timer ptr I2 stack ptr Kf define TX TRACE TIMER DELETE 26 timer ptr ey define TX TRACE TIMER INFO GET 27 pe timer ptr I2 stack ptr xf define TX TRACE TIMER PERFORMANCE INFO GET 28 timer ptr 7 define TX TRACE TIMER PERFORMANCE SYSTEM INFO GET 29 None Define the an Trace Buffer Entry typedef struct TX TRACE BUFFER ENTRY STRUCT ULONG tx trace buffer en
36. Icon Description This event represents enabling IPv6 services on the supplied IP instance via nxd ipv6 enable nxd ipv6 enable event Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Duo IPv6 Global Address Set nxd ipv6 global address set Icon E Description This event represents setting the global primary IP address on the IP instance located at index 1 in the IP instance interface table via nxd ipv6 global address set Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the global address Info Field 3 IPv6 address prefix length Info Field 4 Index into IP interface table 1 Duo IPv6 Interface Address Get nxd_ipv6 interface address get Icon Description This event represents retrieving the IP address and prefix at the specified index into the IP instance interface address table via nxd ipv6 interface address get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the IPv6 address to return Info Field 3 Prefix length Info Field 4 Index of interface into the IP instance interface table TraceX User Guide Duo IPv6 Interface Address Set nxd ipv6 interface address set Icon H Description This event represents setting the IP address and prefix at the specified index into the IP instance interface address table Not permit
37. Information Fields Info Field 1 Pointer to the block pool control block Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Block Pool Prioritize Icon Description This event represents placing the highest priority suspended thread at the front of the block pool suspension list If this is done prior to calling tx_block_release the highest priority suspended thread will receive the released block tx_block_pool_prioritize Information Fields Info Field 1 Memory block pool pointer Info Field 2 Number of threads suspended on this block pool Info Field 3 Stack pointer at the time of the call Info Field 4 Not used Byte Allocate Icon Description This event represents allocating memory via tx_byte_allocate If successful the address of the memory allocated is returned in the second information field tx_byte_allocate Information Fields Info Field 1 Pointer to the corresponding byte pool Info Field 2 Pointer to the memory returned if successful Info Field 3 Number of bytes requested Info Field 4 The wait option supplied to the tx_byte_allocate call Block Pool Performance System Information Get tx block pool performance system info get Icon Description This event represents getting performance information about all memory block pools via tx block pool performance system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3
38. Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal TraceX User Guide 137 RARP Receive RARP Send TCP Retry TCP State Change I O Driver Packet Send I O Driver Initialize I O Driver Link Enable I O Driver Link Disable I O Driver Packet Broadcast I O Driver ARP Send I O Driver ARP Response Send I O Driver RARP Send I O Driver Multicast Join I O Driver Multicast Leave I O Driver Get Status I O Driver Get Speed I O Driver Get Duplex Type I O Driver Get Error Count I O Driver Get RX Count I O Driver Get TX Count I O Driver Get Allocation Errors I O Driver Un initialize Express Logic Inc 138 NetX Trace Events Internal I O Driver Deferred Processing ARP Dynamic Entries Invalidate nx arp dynamic entries invalidate ARP Dynamic Entry Set nx arp dynamic entry set ARP Enable nx arp enable ARP Gratuitous Send nx arp gratuitous send ARP Hardware Address Find nx arp hardware address find ARP Information Get nx arp info get ARP IP Address Find nx arp ip address find ARP Static Entries Delete nx arp static entries delete ARP Static Entry Create nx arp static entry create ARP Static Entry Delete nx arp static entry delete HA CI EJ EE ES GE LE LES LE CL QUI EX Duo Cache Entry Delete nxd nd cache entry delete Duo Cache Entry Set nxd nd cache entry set
39. Not used IP Forwarding Disable Icon H nx ip fowarding disable Description This event represents disabling IP forwarding via nx ip forwarding disable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide IP Forwarding Enable Icon Description This event represents enabling IP forwarding via nx ip forwarding enable nx ip address get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IP Fragment Enable nx ip fragment enable Icon Description This event represents enabling IP fragmenting via nx ip fragment enable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IP Information Get Icon H Description This event represents getting IP information via nx ip info get nx ip info get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP bytes sent Info Field 3 IP bytes received Info Field 4 IP packets dropped 159 IP Fragment Disable Icon Description This event represents disabling IP fragmenting via nx ip fragment disable nx ip fragment disable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IP Gateway Address
40. Reserved 2 Reserved two bytes should be 0x0000 Trace Object Object Name Size 2 Number of bytes in object name Trace Object Registry End Pointer 4 Pointer to the end of Trace Object Registry Trace Buffer Start Pointer 4 Pointer to the start of the Trace Buffer Area Trace Buffer End Pointer 4 Pointer to the end of the Trace Buffer Area Trace Buffer Current Pointer 4 Pointer to the oldest entry in the Trace Buffer This entry will be overwritten on the next event and incremented to the next event wrapping to the top if the buffer end pointer is exceeded Reserved 4 Reserved 4 bytes should be OxAAAAAAAA Reserved 4 Reserved 4 bytes should be 0xBBBBBBBB Reserved 4 Reserved 4 bytes should be OxCCCCCCCC 7 Define the Trace Control Header typedef struct TX TRACE CONTROL HEADER STRUCT ULONG tx trace control header id ULONG tx trace control header timer valid mask ULONG tx trace control header trace base address ULONG tx trace control header object registry start pointer USHORT tx trace control header reservedl Express Logic Inc 250 USHORT tx trace control header object registry name size ULONG tx trace control header object registry end pointer ULONG tx trace control header buffer start pointer ULONG tx trace control header buffer end pointer ULONG tx trace control header buffer current pointer ULONG tx trace control header reserved2 ULONG tx trace control header
41. Set nx ip gateway address set Icon H Description This event represents setting the gateway IP address via nx ip gateway address set Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Gateway IP address Info Field 3 Not used Info Field 4 Not used IP Interface Attach Icon H Description This event represents a secondary network interface being attached to the IP instance via nx ip interface attach nx ip interface attach Information Fields Info Field 1 Pointer to IP instance Info Field 2 Interface IP Address Info Field 3 Index into IP interface table Info Field 4 Not used Express Logic Inc 160 IP Interface Info Get Icon Description This event represents information retrieved from the specified network interface via nx ip interface info get nx ip interface info get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Interface IP address Info Field 3 Interface MAC address msb Info Field 4 Interface MAC address Isb IP Raw Packet Enable Icon H Description This event represents enabling raw IP packet communication via nx ip raw packet enable nx ip address get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IP Raw Packet Send Icon nx ip raw packet send Description This event represents sending a raw IP packet via nx ip raw packet send Info
42. Socket Receive Icon E Description This event represents receiving data on the specified UDP socket via nx udp socket receive nx udp socket receive Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to UDP socket Info Field 3 Pointer to received packet Info Field 4 Received packet size UDP Socket Send Icon H Description This event represents sending data through a UDP socket via nx udp socket send nx udp socket send Information Fields Info Field 1 Pointer to socket Info Field 2 Pointer to packet Info Field 3 Packet length Info Field 4 Destination IP address Express Logic Inc 170 NetX Trace Events UDP Socket Unbind Icon H nx udp socket unbind Description This event represents unbinding a UDP port with a socket via nx udp socket unbind Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Port number Info Field 4 Not used ant gt User Guide UDP Source Extract Icon H Description This event represents getting the IP address and port number of a received UDP packet via nx udp source extract nx udp source extract Information Fields Info Field 1 Pointer to packet Info Field 2 Sender s IP address Info Field 3 Sender s port number Info Field 4 Not used This chapter contains a description of the USBX events displayed by TraceX List of Events and Icons 172 em Event Descriptions 18
43. TX count event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Un initialize Internal I O driver un initialize Icon L Description This event represents an internal NetX I O driver un initialize event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used eats gt User Guide NetX Trace Events Internal I O Driver Get RX Count Internal I O driver get RX count Icon H Description This event represents an internal NetX I O driver get RX count event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Get Allocation Errors Internal I O driver get allocation errors Icon Description This event represents an internal NetX I O driver get allocation errors event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Deferred Processing Internal I O driver deferred processing Icon H Description This event represents an internal NetX I O driver deferred processing event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet length Info Field 4 Not used TraceX User Guide ARP Dy
44. Time set fx time set 99 Express Logic Inc 100 ThreadX Trace Events Timer activate tx timer activate Timer change fx timer change Timer create fx timer create Timer deactivate tx timer deactivate Timer delete fx timer delete Timer information get ix timer info get Timer performance information get tx timer performance info get Timer performance system information get tx timer performance system info get LE CRI LU LEI CEI EX GEI CRI Event Descriptions The following describes each individual event ets gt User Guide TraceX User Guide 101 Internal thread resume Internal thread suspend Internal thread resume Internal thread suspend Icon Icon Description Description This event represents the internal processing in ThreadX that resumes a thread for execution If the specified thread is the highest priority and preemption threshold does not block its execution the system will start executing this newly ready thread Information Fields Info Field 1 Pointer to the thread being resumed Info Field 2 Previous state of the thread being resumed as follows TX_READY TX_COMPLETED TX_TERMINATED TX_SUSPENDED TX_SLEEP TX QUEUE SUSP TX SEMAPHORE SUSP TX EVENT FLAG TX BLOCK MEMORY TX BYTE MEMORY TX TCP IP TX MUTEX SUSP Info Field 3 Stack pointer value during the call Info Field 4 Pointer to next highest priority thread to execute O O1 B N Interrupt
45. TraceX products will meet the USER s requirements or will operate in the manner specified by the USER or that the operation of the TraceX products will operate uninterrupted or error free or that any defects that may exist in the TraceX products will be corrected after the warranty period Express Logic Inc makes no warranties of any kind either expressed or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose with respect to the TraceX products No oral or written information or advice given by Express Logic Inc its dealers distributors agents or employees shall create any other warranty or in any way increase the scope of this warranty and licensee may not rely on any such information or advice Part Number 000 1454 Revision 5 2 Express Logic Inc About This Guide 7 em Organization 7 em Guide Conventions 9 em Customer Support Center 9 Latest Product Information 9 What We Need From You 10 Where to Send Comments About This Guide 10 1 Introduction to TraceX 11 em IraceX Requirements 12 em raceX Constraints 12 2 Installation and Use of TraceX 13 m Product Distribution 14 em lraceX Installation Directory 14 raceX Installation 15 m Using TraceX 24 em raceX Examples 25 3 Description of TraceX 27 em Display Overview 28 em itle Bar 29 m ool Bar 30 Display Mode Tabs 32 em Sequential View Mode 33
46. TraceX_5 TraceFiles demo_threadx trx System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 SR Eon fs Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 N Thread ID 0x00005634 Thread Name thread 0 Stack Starting Address 0x000178AC Stack Ending Address 0x00017CAC Stack Size 1024 Stack Used 10 5596 Execution time 0 2696 Suspensions 1 Thread 6 0x00005A24 Priority 8 Resumptions 1 Thread 7 0x00005ACC Priority 8 Highest Priority 1 Lowest Priority 1 Registered to Express Logic Seats Purchased FIGURE 3 8 Contexts may also be moved to group those of greater interest This is accomplished by dragging and dropping the context or right clicking on the context Right clicking on the context yields a dialog ets gt User Guide TraceX User Guide 39 for moving the context to the top or the bottom Figure 3 9 shows the reorder dialog for thread 3 i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help j did AV Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Prior
47. and nearly 47 of the processing time is inside of thread 1 This is logical since the bulk of the trace shows these threads sending and receiving messages The remaining execution contexts have only a small amount of execution time in this example es Selecting View gt Popular Services presents the popular services in the currently loaded trace file By ant gt User Guide TraceX User Guide 59 default this information is displayed for the entire system However the popular services for specific threads are also available The popular services in the sample ThreadX demonstration trace are shown in Figure 4 4 i TraceX Popular Services FEER General Sum Service tx queue receive 68 tx queue send 69 Percent used BEEN 47 7506 RS 46 6 Internal Thread Suspend 2 J 1 8 Internal Thread Resume 1 Enter ISR 3 Exit ISR 4 tx thread sleep 112 tx mutex put 57 tx mutex get 52 Ex semaphore put 88 tx semaphore get 83 tx event flags set 36 tx event flags get 32 1 896 0 35 0 35 0 35 0 3 0 3 0 15 0 15 0 05 0 05 mi Ka LO LJ Ch Ch JI I LU FIGURE 4 4 The example shown in Figure 4 4 indicates that tx queue send and ftx queue receive are the two most popular services in this trace This is consistent with the behavior of the standard ThreadX demonstration from which this trace was captured Express Logic Inc 60 TraceX Per
48. and non deterministic Deterministic priority inversions are priority inversion in which a thread is blocked on a mutex owned by a lower priority thread An non deterministic priority inversion is where a different lower priority thread runs during a deterministic priority inversion The later can cause unforeseen ets gt User Guide TraceX User Guide 63 timing behavior in the application and should be studied carefully Thread Suspensions Thread Resumptions FIGURE 4 8 As mentioned previously specific threads can be selected for this analysis Figure 4 8 shows this analysis specifically for thread 3 FileX Statistics Selecting View gt FileX Statistics presents the FileX performance statistics of the currently loaded trace file This information is displayed for the entire system on all opened media objects The Express Logic Inc 64 TraceX Performance Analysis performance statistics of the sample FileX demonstration trace are shown in Figure 4 9 If TraceX FileX Statistics mE Statistic Occurrences Media Statistics Media Opens MediaCloses Media Aborts Media Flushes Directory Statistics Directory Reads Directory Writes Directory Cache Misses File Statistics File Opens File Closes File Bytes Read File Bytes Written Logical Sector Statistics Logical Sector Reads Logical Sector Writes Logical Sector Cache Misses FIGURE 4 9 The example shown in Figure 4 9 indicat
49. buffer can be dumped to a host file easily with the ARM RealView tools by entering the following command at the command line prompt in RealView gt WRITEFILE raw trace file trx 0x6860 0xE560 Upon completion the file trace_file trx will contain the trace buffer that is located starting at the address Ox6860 and goes up to address OxE560 This file is ready for viewing by TraceX IAR Tools The trace buffer can be dumped to a host file very easily with the IAR tools by simply right clicking in the memory view and selecting the Memory Save option as shown below S Go ta Mrace bufferU Memory 00102180 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd QOL02Z1 0 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd 00102200 Jj42 r4 co r4 e FE ff ff DO 22 10 00 30 22 10 OO BTXT oO 00102210 Of 0 O0 30 28 10 OO 0 3e 10 OO wis UCL 00102220 90 paste a aa bb bb bb bb cc cc cc cc E oue cue 00102230 Of 0 00 OO 9 10 00 c 03 OO OO LL 00102240 5 Fone K D 54 69 d 65 72 20 54 66 72 System Timer Thr 00102250 65 n O0 O O0 00 00 00 00 OO sad OO102260 Ol y ix Units n 00 af 23 00 00 00 00 DO OO ED See NEN 00102270 6 2x Units 6f 6c 20 30 00 00 00 OO byte pool O DU01022890 of 0 00 00 00 00 00 00 OO 00 DO 00102290 of 4x Units 1 00 3c ad 10 OO c 03 OO 00 Z v w Little Endian Big Endian Save memor
50. but there were 70 IP packets sent 3 188 IP bytes sent 69 IP packets received and 3 156 IP bytes received There were also eight TCP client connections nine TCP server connections nine TCP packets sent 252 TCP bytes sent nine TCP packets received and 252 TCP bytes received Trace File Information selecting View gt Trace File Information presents some basic information about the opened trace file This information includes the byte order of the file size of the time source maximum number of bytes for each object name and the base address of all trace file pointers Figure 4 11 shows the trace file information for the standard demo threadx trx trace file iG TraceX File Information sle The file length is 65537 bytes 42545854 Little Endian Trace ID found DODOFFFF Time source mask 00000020 The number of bytes in object name DOO05C94 The base address of all pointers 00005CC4 The pointer to the start of Trace Object Registry 000062C4 The pointer to the end of Trace Object Registry 000062C4 The pointer to the start of the Trace Buffer Area 00015C84 The pointer to the end of Trace Buffer Area 00008604 The pointer to the oldest entry in the Trace Buffer Area FIGURE 4 11 ant User Guide TraceX User Guide 67 Raw Trace Dump Selecting View gt Raw Trace Dump presents a dialog to name the file containing the raw trace dump After the file name and path are e
51. class storage media capacity get Host Class Storage Media Format Capacity Get ux host class storage media format capacity get Host Class Storage Media Mount ux host class storage media mount Host Class Storage Media Open ux host class storage media open Host Class Storage Media Read ux host class storage media read Host Class Storage Media Write ux host class storage media write Host Class Storage Request Sense ux host class storage request sense Host Class Storage Start Stop ux host class storage start stop Host Class Storage Unit Ready Test ux host class storage activate Host Stack Class Instance Create ux host stack class instance create Host Stack Class Instance Destroy ux host stack class instance destroy Host Stack Configuration Delete ux host stack configuration delete Host Stack Configuration Enumerate ux host stack configuration enumerate Host Stack Configuration Instance Create ux host stack configuration instance create Host Stack Configuration Instance Delete ux host stack configuration instance delete Host Stack Configuration Set ux host stack configuration set Host Stack Device Address Set ux host stack device set Host Stack Device Configuration Get ux host stack device configuration get Host Stack Device Configuration Select ux host stack device configuration select ets gt User Guide GET EEJ EL EL EL E CTI 13 GEI GEI Ag TraceX User Guide 181 Host Stack D
52. delete fx event flags delete Event flags get tx event flags get Event flags information get tx event flags info get Event flags performance information get tx event flags performance info get Event flags system performance information get tx event flags performance system info get Event flags set x event flags set Event flags set notify ix event flags set notify Interrupt enable disable tx interrupt control Mutex create fx mutex create Mutex delete tx mutex delete Mutex get ix mutex get Mutex information get tx mutex info get Mutex performance information get tx mutex performance info get Mutex system performance information get tx mutex performance system info get Mutex prioritize ix mutex prioritize Express Logic Inc 98 ThreadX Trace Events Mutex put fx mutex put Queue create fx queue create Queue delete fx queue delete Queue flush fx queue flush Queue front send fx queue front send Queue information get fx queue info get Queue performance information get tx queue performance info get Queue system performance information get tx queue performance system info get Queue prioritize x queue prioritize Queue receive message fx queue receive Queue send message fx queue send Queue send notify fx queue send notify Semaphore ceiling put fx semaphore ceiling put Semaphore create fx semaphore create Semaphore delete fx semaphore delete Se
53. device class rndis packet receive Device Class Rndis Packet Transmit ux device class rndis packet transmit Device Class Storage Activate ux device class storage activate Express Logic Inc GEI E13 El Es ETSI GIG ES CI LES CBI CDI LEJ CEJ Ci LEJ ED CET HA EE3 CGI LOI EES USBX Trace Events Device Class Storage Deactivate ux device class storage deactivate Device Class Storage Format ux device class storage format Device Class Storage Inquiry ux device class storage inquiry Device Class Storage Mode Select ux device class storage mode select Device Class Storage Mode Sense ux device class storage mode sense Device Class Storage Prevent Allow Media Removal ux device class storage prevent allow media removal Device Class Storage Read ux device class storage read Device Class Storage Read Capacity ux device class storage read capacity Device Class Storage Read Format Capacity ux device class storage read format capacity Device Class Storage Read TOC ux device class storage read toc Device Class Storage Request Sense ux device class storage request sense Device Class Storage Start Stop ux device class storage start stop Device Class Storage Test Ready ux device class storage test ready Device Class Storage Verify ux device class storage verify Device Class Storage Write ux device class storage write Device Stack Alternate Setting Get ux device stack alternate setting get Device Stack Al
54. entries The two time stamp constants and their default values are as follows ifndef TX TRACE TIME SOURCE define TX TRACE TIME SOURCE tx trace simulated time endif ifndef TX TRACE TIME MASK define TX TRACE TIME MASK OxFFFFFFFFUL endif The above constants are defined in tx_port h and create a fake time stamp that simply increments by one on each ant gt User Guide TraceX User Guide 71 event The following is an example of an actual time stamp definition ifndef TX TRACE TIME SOURCE define TX TRACE TIME SOURCE ULONG 0x0x13000004 fendif ifndef TX TRACE TIME MASK define TX TRACE TIME MASK OxFFFFFFFFUL endif The above constants specify a 32 bit timer that is obtained by reading the address 0x13000004 Most application specific time stamps should be setup in a similar fashion Express Logic Inc 72 Generating Trace Buffers Exporting the Trace Buffer TraceX needs the trace buffer in a binary Intel HEX or Motorola S Record file format on the host The easiest way to accomplish this is to stop the target and instruct your debugger to dump the memory area you supplied to tx_ trace enable function into a file on the host Warning be careful not to stop the target within a trace gathering code itself Doing so can cause invalid trace information If the program ts halted within ThreadX it is best to step over any trace insert macro before dumping the trace buffer e Appendix D
55. event represents a USBX Host Class Prolific loctl Abort In Pipe Event Information Fields Info Field 1 Class instance Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used 209 Host Class Printer Write ux host class printer write Icon Description This event represents a USBX Host Class Printer Write Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Prolific Deactivate ux host class prolific deactivate Icon H Description This event represents a USBX Host Class Prolific Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Prolific loct Abort Out Pipe ux host class prolific ioctl abort out pipe Icon Description This event represents a USBX Host Class Prolific loctl Abort Out Pipe Event Information Fields Info Field 1 Class instance Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Express Logic Inc 210 Host Class Prolific loctl Get Device Status ux host class prolific ioctl get device status Icon Description This event represents a USBX Host Class Prolific loctl Get Device Status Event Information Fields Info Field 1 Class instance Info Field 2 Device status Info Field 3 Not used Info Field 4 Not used Host Class Prolific loctl Pur
56. events on same line 35 displaying system events 32 DOS command line utilities 255 dumping the trace buffer 257 E ea2tracex exe 256 enable event tracing 74 enabling event trace 70 event ID 239 event information detailed 42 event information display 42 event searching 46 event trace buffer current pointer 235 event trace entries 238 event trace object registry 235 event trace support 70 example of time stamp definition 71 example trace files 25 execution profile 56 exporting the trace buffer 72 extended event trace API 73 Express Logic Inc 272 TraceX User Guide F FileX performance statistics 63 statistics 56 FileX events 117 118 format of event trace buffer 74 76 80 231 format of the ThreadX event trace buffer 232 format of tx trace disable 84 format of tx trace isr entry insert 86 format of tx trace isr exit insert 88 format of tx trace user event insert 92 fx version id 10 G general flow of NET installation 22 GHS tools dumping trace buffer 267 Guide 9 guide cConventions 9 H hex2tracex exe 256 high frequency timer 35 IAR tools dumping trace buffer 259 information fields 239 Initialize Idle 37 insert ISR entry event 86 insert ISR exit event 88 insert user event 92 installation dialogs 15 Intel HEX 72 L latest product information 9 launching the TraceX 16 launching TraceX 24 layout of the event trace buffer 232 K TRACEX dg User Guide making support requests 10 maximum num
57. i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help Je dag E etw Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic Context thread 2 Priority 16 Relative Time 113538 Raw Time Stamp Ox0000FADD Event tx queue receive 68 Queue Ptr 0x00005B74 queue 0 Destination Ptr 0x00018498 Next Context thread 2 0x00005784 Delta Previous 229 ticks Delta Next 243 ticks FIGURE 3 13 Each event displayed contains standard information about Context and both the Relative Time and Time Stamp The Context field shows what context the event took place in There are exactly four contexts thread idle ISR and initialization When an event takes place in a thread context the thread name and its priority at that time is gathered and displayed as shown above The Relative Time shows the relative number of timer ticks from the beginning of the trace The Raw Time Stamp displays the raw time source of the event Finally all event specific information is d
58. insert Express Logic Inc 88 Generating Trace Buffers tx trace isr exit insert Insert ISR exit event Prototype VOID tx trace isr exit insert ULONG isr id Description This service inserts the ISR entry event into the event trace buffer It should be called by the application at the beginning of ISR processing The supplied parameter should identify the ISR to the application The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters isr id Application specific value to identify the ISR Return Values None Allowed From ISRS ets gt User Guide TraceX User Guide 89 Example Insert trace event to identify the application s ISR with an TE Se 47 status tx trace isr exit insert 3 f To status Ls EX SUCCESS the TSR exit event was inserted See Also tx trace enable tx trace event filter tx trace event unfilter tx trace disable tx trace isr enter insert tx trace buffer full notify tx trace user event insert Express Logic Inc 90 Generating Trace Buffers tx trace buffer full notify Register trace buffer full application callback Prototype VOID tx trace buffer full notify VOID full buffer callback VOID Description This service registers an application callback function that is called by ThreadX when the trace buffer becomes full The application can then choose to disable tracin
59. media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used 125 Directory Delete Icon 4 Description This event represents a directory delete event fx_directory_delete Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used Directory First Full Entry Find fx directory first full entry find Icon Description This event represents a directory first full entry find event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used Directory Local Path Clear fx directory local path clear Icon Es Description This event represents a directory local path clear event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 126 Directory Local Path Get fx directory local path get event Icon Description This event represents a directory local path get event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to return path name Info Field 3 Not used Info Field 4 Not used Directory Local Path Set fx_directory_local_path_set Icon Description This event represents a directory local path set event Information Fields Info Field 1 Pointer to the media I
60. memory TraceX User Guide Event Flags Create Icon Description This event represents creating a new event flags group via tx_event_flags_create tx_event_flags_create Information Fields Info Field 1 Pointer to event flags group control block Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Event Flags Get Icon Description This event represents retrieving event flags from an existing event flags group via tx event flags get tx event flags get Information Fields Info Field 1 Pointer to event flags group Info Field 2 Event flags requested Info Field 3 Event flags currently set in the group Info Field 4 Option requested on the event flags get Event Flags Performance Information Get tx event flags performance info get Icon i Description This event represents retrieving performance information regarding an existing event flags group via tx event flags performance info get Information Fields Info Field 1 Pointer to event flags group Info Field 2 Not used Info Field 3 Not used Info Field 4 Not Used 105 Event Flags Delete Icon Description This event represents deleting an event flags group via tx_event_flags_delete tx_event_flags_delete Information Fields Info Field 1 Pointer to event flags group Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Event Flags Information Get tx_e
61. of Event Trace Buffer 231 em Event Trace Format 232 em Event Trace Control Header 232 Control Header ID 233 Timer Valid Mask 233 Express Logic Inc 6 TraceX User Guide Trace Base Address 234 Registry Start and End Pointers 234 Registry Name Size 234 Buffer Start and End Pointers 234 Current Buffer Pointer 235 em Event Trace Object Registry 235 Object Available Flag 235 Object Entry Type 236 Object Pointer 237 Object Reserved Fields 237 Object Parameters 237 Object Name 237 Event Trace Entries 238 Thread Pointer 238 Thread Priority 239 Event ID 239 Information Fields 1 4 239 A Sample tx_port h 241 B tx_trace h File 247 C DOS Command Line Utilities 255 D Dumping the Trace Buffer 257 m BenchX Tools 258 m RealView Tools 259 m AR Tools 259 m CodeWarrior Tools 260 m MPLAB Tools 261 m GHS Tools 267 m Renesas HEW 268 Index 271 ED User Guide Organization This guide contains comprehensive information about TraceX the Microsoft Windows based system analysis tool from Express Logic Inc It is intended for the embedded real time software developer using ThreadX Real Time Operating system RTOS and add on components The developer should be familiar with standard ThreadX Filex and NetX concepts Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Contains an basic overview of TraceX and describes its relationship to real time development Gives the bas
62. represents a USBX Host Class Printer Activate Event Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Type of service Info Field 4 Receive window size Host Class Printer Name Get ux_host_class_printer_name_get Icon Description This event represents a USBX Host Class Printer Name Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Printer Soft Reset ux_host_class_printer_soft_reset Icon H Description This event represents a USBX Host Class Printer Soft Reset Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Printer Status Get ux host class printer status get Icon H Description This event represents a USBX Host Class Printer Status Get Event Information Fields Info Field 1 Class instance Info Field 2 Printer status Info Field 3 Not used Info Field 4 Not used Host Class Prolific Activate ux host class prolific activate Icon H Description This event represents a USBX Host Class Prolific Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Prolific loctl Abort In Pipe ux host class prolific ioctl abort in pipe Icon Description This
63. represents an internal NetX I O driver packet send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet size Info Field 4 Not used Express Logic Inc 148 Internal I O Driver Initialize Internal I O driver initialize Icon H Description This event represents an internal NetX I O driver initialize event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal 1 0 Driver Link Disable Internal I O driver link disable L Icon L Description This event represents an internal NetX I O driver link disable event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver ARP Send Internal I O driver ARP send Icon H Description This event represents an internal NetX I O driver ARP send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet size Info Field 4 Not used ant gt User Guide NetX Trace Events Internal I O Driver Link Enable Internal 1 0 driver link enable Icon LE Description This event represents an internal NetX I O driver link enable event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used In
64. represents deleting a mutex via tx mutex delete tx mutex delete Information Fields Info Field 1 Pointer to mutex Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used ant gt User Guide ThreadX Trace Events Event Flags Set Notify tx event flags set notify Icon Description This event represents registering a notification callback for any event flag set operation on an existing event flags group via tx event flags set notify Information Fields Info Field 1 Pointer to event flags group Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Mutex Create Icon Le Description This event represents creating a mutex via tx mutex create tx mutex create Information Fields Info Field 1 Pointer to mutex control block Info Field 2 Priority inheritance option TX INHERIT or TX NO INHERIT Info Field 3 Stack pointer at time of call Info Field 4 Not used Mutex Get Icon Description This event represents obtaining a mutex via tx mutex get tx mutex get Information Fields Info Field 1 Pointer to mutex Info Field 2 The wait option supplied to the tx mutex get call Info Field 3 Pointer to thread that owns the mutex NULL implies the mutex is not owned Info Field 4 Number of times the owning thread has called tx mutex get TraceX User Guide Mutex Information Get Icon Description This event represents retri
65. reserved3 ULONG tx trace control header reserved4 TX TRACE CONTROL HEADER Trace Object Registry The Trace Object Registry is used to map the object pointer in the trace buffer to the application s name for the object defined during object creation in ThreadX ifndef TX TRACE OBJECT REGISTRY NAME define TX TRACE OBJECT REGISTRY NAME 32 endif Define the object name types as well as the contents of any additional parameters that might be useful in trace analysis define TX TRACE OBJECT TYPE NOT VALID 0 Object is not valid define TX TRACE OBJECT TYPE THREAD 1 Pl stack start address P2 stack size define TX TRACE OBJECT TYPE TIMER 2 Pl initial ticks P2 reschedule ticks define TX TRACE OBJECT TYPE QUEUE 3 P1 queue size P2 message size define TX TRACE OBJECT TYPE SEMAPHORE 4 Pl initial instances define TX TRACE OBJECT TYPE MUTEX 9 Pl priority inheritance flag KT define TX TRACE OBJECT TYPE EVENT FLAGS 6 none kal define TX TRACE OBJECT TYPE BLOCK POOL 7 Pl total blocks P2 block size XL define TX TRACE OBJECT TYPE BYTE POOL 8 Pl total bytes typedef struct TX TRACE OBJECT REGISTRY ENTRY STRUCT UCHAR tx trace object registry entry object available TX TRUE gt available xy UCHAR tx trace object registry entry object type Types defined above UCHAR tx trace object registry entry
66. selecting View Memory demo threadx MPLAB IDE v8 53 demo tl MUS Project Debugger Programmer Tools Config D gg Project P Debug v v Output Toolbars CPU Registers Call Stack Disassembly Listing EEPROM File Registers Flash Data LCD Pixel Locals Memory Program Memory SFR Peripherals Special Function Register Watch 1 Memory Usage Gauge Simulator Trace Simulator Logic Analyzer Express Logic Inc 262 Step 2 eats gt User Guide i Memory Right click within the Memory View to display a list of options Specify Display Format gt 1 Byte to select byte display Address Virtual oo os o oc ASCII 0000 0000 Asie 0000 0010 0000 0020 0000 0030 0000 0040 0000 0050 0000 0060 0000 0070 0000 0080 0000 0090 0000 00A0 0000 00B0 0000 00CO 0000 00DO 0000 OOEO 0000 00F0 0000 0100 0000 0110 0000 0120 0000 0130 0000 0140 0000 0150 0000 0160 0000 0170 0000 0180 0000 0190 0000 01A0 0000 01B0 0000 01CO 0000 01DO 0000 O1EO 0000 01F0 0000 0200 0000 0210 0000 0220 0000 0230 A000 0010 A000 0020 A000 0030 A000 0040 A000 0050 A000 0060 A000 0070 A000 0080 A000 0090 A000 00AO A000 00B0 A000 00C0 A000 00DO A000 OOEO A000 OOF0 A000 0100 A000 0110 A000 0120 A000 0130 A000 0140 A000 0150 A000 0160 A000 0170 A000 0180 A000 0190 A000 01A0 A000 01B0 A000 01CO A000 01DO A000 01E0 A000 01F0 A000 0200 A000 0210 A000 0220
67. shows how to dump the trace buffer from within a variety of development tools ets gt User Guide TraceX User Guide 73 Extended Event Trace API When ThreadX is built with TX ENABLE EVENT TRACE defined the following new event trace APIs are available to the application tx trace enable Enable event tracing tx trace event filter Filter specified event s tx trace event unfilter Unfilter specified event s tx trace disable Disable event tracing tx trace isr enter insert Insert ISR enter trace event tx trace isr exit insert Insert ISR exit trace event tx trace buffer full notify Register trace buffer full application callback tx trace user event insert Insert user event Express Logic Inc 74 Generating Trace Buffers tx trace enable Enable event tracing Prototype UINT tx trace enable VOID trace buffer start ULONG trace buffer size ULONG registry entries Description This service enables event tracing inside ThreadX The trace buffer and the maximum number of ThreadX objects are supplied by the application The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters trace buffer start Pointer to the start of the user supplied trace buffer trace buffer size Total number of bytes in the memory for the trace buffer The larger the trace buffer the more entries it is able to store registry entries Number o
68. state while a line of any other color indicates the thread is suspended For suspended threads the color of the line indicates the type of ThreadX object that the thread is suspended on For example in Figure 3 11 the green line on the System Timer Thread s context starting at event 496 shows that the System Timer Thread is ready Prior to event 496 and after event 502 the absence of the green line ant gt User Guide TraceX User Guide 41 indicates that the System Timer Thread is suspended i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help PH i 9 07 Ewe M M43 4 Event Sequential View Time View Context Summary Event Summary Event ID Thread 3 0x0000582C Priority 8 Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority O Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Seats Purchased Registered to Express Logic FIGURE 3 11 There are three modes of thread status display available via the Options gt Status Lines menu as shown in Figure 3 12 The Ready Only option only shows the ready green status lines but does not display any suspension status lines This is the default option for TraceX The All On op
69. system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 116 ThreadX Trace Events ets gt User Guide This chapter contains a description of the FileX events em List of Events and Icons 118 em Event Descriptions 121 Express Logic Inc 118 FileX Trace Events List of Events and Icons The following is a list of FileX events displayed by TraceX The following describes each event Icon Meaning Internal Logical Sector Cache Miss Internal Directory Cache Miss Internal Media Flush Internal Directory Entry Read Internal Directory Entry Write Internal I O Driver Read Internal I O Driver Write Internal I O Driver Flush Internal I O Driver Abort Internal I O Driver Initialize Internal 1 0 Driver Boot Read Internal I O Driver Release Sectors Internal I O Driver Boot Write Internal I O Driver Driver Un initialize Directory Attributes Read fx_directory_attributes_read Directory Attributes Set fx_directory_attributes_set Directory Create fx_directory_create Directory Default Get fx_directory_default_get Directory Default Set fx_directory_default_set CI GD GEI GES BES CEI EE CE CD Z ED Fi Ead EI EE LE ET Ol ets gt User Guide CEJ CEI CRI CRI ELJ LEJ LEJ EEJ CEJ EX MES LEH GET CH GS EL Edi Gel CE lud QI CEI TraceX User Guide 119 Directory Delete fx directory delete Directory Fi
70. thread 7 3 Il stack ptr I2 ISR number I3 system state I4 preempt disable User Guide TraceX User Guide 251 define TX TRACE ISR EXIT 4 Il stack ptr I2 ISR number I3 system state I4 preempt disable define TX TRACE TIME SLICE 5 Il next thread ptr I2 system state I3 preempt disable I4 stack define TX TRACE RUNNING 6 None Define the rest of the ThreadX system events define TX TRACE BLOCK ALLOCATE 0 SE pool ptr I2 memory ptr I3 wait option I4 remaining blocks define TX TRACE BLOCK POOL CREATE 1 1 pool ptr I2 pool start I3 total blocks I4 block size ef define TX TRACE BLOCK POOL DELETE 2 fe pool ptr I2 stack ptr define TX TRACE BLOCK POOL INFO GET 3 pool ptr define TX TRACE BLOCK POOL PERFORMANCE INFO GET 4 pool ptr 7 define TX TRACE BLOCK POOL PERFORMANCE SYSTEM INFO GET 5 None XL define TX TRACE BLOCK POOL PRIORITIZE 6 Fe pool ptr I2 suspended count I3 stack ptr WA define TX TRACE BLOCK RELEASE 7 Pa pool ptr I2 memory ptr I3 suspended I4 stack ptr aad define TX_TRACE BYTE ALLOCATE 20 TE pool ptr I2 memory ptr I3 size requested I4 wait option 7
71. trace buffer entry information field 1 ULONG a trace event ptr gt tx trace buffer entry information field 2 ULONG b trace event ptr gt tx trace buffer entry information field 3 ULONG c trace event ptr gt tx trace buffer entry information field 4 ULONG d trace event ptr if trace event ptr gt tx trace buffer end ptr trace event ptr tx trace buffer start ptr tx trace buffer current ptr trace event ptr tx trace control header ptr gt tx trace control header buffer current pointer ULONG trace event ptr if tx trace full notify function X tx trace full notify function VOID tx trace control header ptr else CN tx trace buffer current ptr trace event ptr tx trace control header ptr gt tx trace control header buffer current pointer ULONG trace event ptr endif Define function prototypes of the trace component UINT tx trace enable VOID trace buffer start ULONG trace buffer size ULONG registry entries UINT tx trace event filter ULONG event filter bits UINT tx trace event unfilter ULONG event filter bits UINT tx trace disable VOID VOID tx trace initialize VOID UINT tx trace interrupt control UINT new posture VOID tx trace isr enter insert ULONG isr id VOID tx trace isr exit insert ULONG isr id VOID tx trace object register UCHAR object type VOID object ptr CHAR object name ULONG parameter 1 ULONG par
72. used TraceX User Guide UDP Socket Information Get Event nx_udp_socket_info_get event Icon Description This event represents getting information about a UDP socket via nx udp socket info get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Bytes sent through socket Info Field 4 Bytes received through socket UDP Socket Port Get Icon Description This event represents retrieving the UDP port the specified UDP socket is bound to via nx udp socket port get nx udp socket port get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to UDP socket Info Field 3 Port number Info Field 4 Not used UDP Socket Receive Notify nx udp socket receive notify Icon H Description This event represents registering a receive notify callback via nx udp socket receive notify Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to receive notify function Info Field 4 Not used 169 UDP Socket Interface Set nx udp socket interface set event Icon H Description This event represents setting the outgoing interface of the specified UDP socket with the specified interface via nx udp socket interface set Information Fields Info Field 1 Pointer to UDP socket Info Field 2 Index corresponding to the interface for the socket Info Field 3 Not used Info Field 4 Not used UDP
73. used Info Field 4 Not used Timer Activate Icon E Description This event represents activating the specified timer via tx timer activate tx timer activate Information Fields Info Field 1 Pointer to timer Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide ThreadX Trace Events Thread Wait Abort Icon w Description This event represents aborting a thread s suspension via tx_thread_wait_abort tx_thread_wait_abort Information Fields Info Field 1 Pointer to thread Info Field 2 Thread s state at time of call Info Field 3 Stack pointer at time of call Info Field 4 Not used Time Set Icon EI Description This event represents setting the current number of timer ticks via tx time set tx_time_set Information Fields Info Field 1 New number of timer ticks Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Timer Change Icon LS tx_timer_change Description This event represents changing the specified timer via tx_timer_change Information Fields Info Field 1 Pointer to timer Info Field 2 Initial expiration ticks Info Field 3 Reschedule expiration ticks Info Field 4 Not used TraceX User Guide 115 Timer Create Icon L Description This event represents creating a timer via tx_timer_create tx_timer_create Information Fields Info Field 1 Pointer to timer control block Info Field 2 Initial exp
74. with its JE priority resulting in VE version 5 4 d x BRK KK KR Ck kk XKX XKX Ck kk Ck KC kk Ck Ck Kk e Ck Ck KC kk Ck Ck kk Ck Ck kk kk 7 Include necessary system files ifndef TX TRACE H define TX TRACE H Determine if tracing is enabled If not simply define the in line trace macros to whitespace ifndef TX ENABLE EVENT TRACE define TX TRACE INITIALIZE define TX TRACE OBJECT REGISTER t p n a b define TX TRACE OBJECT UNREGISTER 0 define TX TRACE IN LINE INSERT i a b c d f else User Guide TraceX User Guide 249 Event tracing is enabled Ensure that the thread component information is included include tx_thread h Define trace port specfic extension to white space if it isn t defined already ifndef TX TRACE PORT EXTENSION define TX TRACE PORT EXTENSION endif Define the default clock source for trace event entry time stamp The following two item are port specific For example if the time source is at the address 0x0a800024 and is 16 bits in size the clock source constants would be define TX TRACE TIME SOURCE ULONG 0x0a800024 define TX TRACE TIME MASK 0x0000FFFFUL s ifndef TX TRACE TIME SOURCE define TX TRACE TIME SOURCE tx trace simulated time endif ifndef TX TRACE TIME MASK define TX_TRACE TIME MASK OxFFFFFFFFUL endif Define the ID showing the event trace buffer is valid define TX_TRACE VALID 0x54585442UL
75. 00 A000 0710 nooo 0720 A000 0730 A000 0740 A000 0750 A000 0760 A000 0770 A000 0780 nooo 0790 A000 0750 A000 07B0 A000 07CO A000 07DO Data View Code View Step 6 90 34 20 00 AS 00 08 08 02 F8 40 00 E4 20 00 14 20 4F 00 AO 03 00 AO Close Breakpoints Run To Cursor Set PC at Cursor Center Debug Location Cross Tab Tracking Find Find Next Go To Import Table Z Fill Memory e Display Format Output To File Print Help Properties This brings up the Export Table dialog as shown Specify the range of addresses to export For an 8K trace buffer as is the case in this example specify the range 0OxA00006AC to 0xA00026AC and enter a eats gt User Guide TraceX User Guide 267 name for the host file to be created demo threadx trx in this example Export As C3 docs MM demo threadx Be demo threadx c F demo threadx Ij demo threadx d El demo threadx Be demo threadx elf E INSTALL LOG demo threadx hex Ies install sss Be demo th readx map readme threac E File name demo_threacktre Save as type All Files v Start Address Uva OOOOEAC Single Column Output End Address Ox4000264C Step 7 A file named demo threadx trx will be created on the host and this file can be opened by TraceX GHS Tools The trace buffer can be dumped to a host file easily with the GHS tools by entering th
76. 00 A8 00 08 08 02 F8 40 00 E4 20 00 14 20 00 5C 00 53 65 00 62 00 00 74 00 00 74 00 00 74 00 00 74 03 00 00 67 00 00 00 00 26 01 00 03 00 00 00 02 54 00 14 01 79 61 08 79 00 01 68 00 01 68 00 01 68 00 01 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58 20 00 80 73 64 00 74 00 80 72 00 80 72 00 80 72 00 80 72 AO 00 00 AO 00 00 00 00 AO AO 00 AO 00 00 00 AO 54 00 AO 00 79 00 00 65 00 01 65 00 10 65 00 10 65 00 08 65 Express Logic Inc 266 Step 5 Now right click again to bring up the options menu and select Export Table HER i Memory aaaress vires oo on oz os os os os o7 oe os oa omj ocjonjoefor sen 0000_0590 0000_05A0 0000 05B0 0000 05CO 0000 05D0 0000 OSEO 0000 OSFO 0000 0600 0000 0610 0000 0620 0000 0630 0000 0640 0000 0650 0000 0660 0000 0670 0000 0680 0000 0690 0000 06A0 0000 0650 0000 O6CO 0000 06D0 0000 06E0 0000 06F0 0000 0700 0000 0710 0000 0720 0000 0730 0000 0740 0000 0750 0000 0760 0000 0770 0000 0780 0000 0790 0000 07A0 0000 07B0 0000 07CO 0000 07DO A000 0590 A000 05A0 A000 05B0 A000 05C0 A000 05DO A000 OSEO A000 05F0 A000 0600 A000 0610 A000 0620 A000 0630 A000 0640 A000 0650 A000 0660 A000 0670 A000 0680 A000 0690 A000 06AO A000 06B0 A000 06C0 A000 O6DO A000 O6EO A000 06F0 A000 07
77. 058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 FIGURE 3 19 When zoomed out at 10096 to show the entire trace within the current display page it is easy to see all the context execution captured in the trace as well as the general events occurring within those contexts Notice in Figure 3 12 that thread 1 and thread 2 execute most often The blue coloring for their events also suggests that these threads are making queue service calls queue events are blue in color Restoring to a full icon view is equally easy Either the zoom in button may be selected repeatedly or some factor of 100 may be entered ant gt User Guide TraceX User Guide 49 Delta Ticks Between Events Determining the number of ticks between various events in TraceX is easy click on the starting event and drag the mouse to the ending event The delta number of ticks between the events shows up in the upper right hand corner of the display as shown in Figure 3 20 l TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help d dawg E ts GY 50110 ld 4 a 494 even PP b L Sequential View x Time View Context Summary ad 2 00005784 Interrupt I Event Summary E Time Ticks 113400 113700 113800 Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority
78. 1 Pointer to thread Info Field 2 State of thread at time of call Info Field 3 Not used Info Field 4 Not used Thread Performance System Info Get tx thread performance system info get Icon Description This event represents getting performance information about all threads via tx thread performance system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Thread Priority Change tx thread priority change Icon Description This event represents changing a thread s priority via tx thread priority change Information Fields Info Field 1 Pointer to thread Info Field 2 New priority Info Field 3 Previous priority Info Field 4 Thread s state at time of call eats gt User Guide ThreadX Trace Events Thread Performance Information Get tx_thread_performance_info_get Icon Description This event represents getting performance information about the specified thread via tx_thread_performance_info_get Information Fields Info Field 1 Pointer to thread Info Field 2 State of thread at time of call Info Field 3 Not used Info Field 4 Not used Thread Preemption Change tx_thread_preemption_change Icon Description This event represents changing a thread s preemption threshold via tx_thread_preemption_change Information Fields Info Field 1 Pointer to thread Info Field 2 New preemption threshold Info Field 3 Prev
79. 2 Express Logic Inc 172 USBX Trace Events List of Events and Icons The following is a list of USBX events displayed by TraceX Icon Meaning Device Class Cdc Activate ux device class cdc activate Device Class Cdc Deactivate ux device class cdc deactivate Device Class Cdc Read ux device class cdc read Device Class Cdc Write ux device class cdc write Device Class Dpump Activate ux device class dpump activate Device Class Dpump Deactivate ux device class dpump deactivate Device Class Dpump Read ux device class dpump read Device Class Dpump Write ux device class dpump write Device Class Hid Activate ux device class hid activate Device Class Hid Deactivate ux device class hid deactivate Device Class Hid Descriptor Send ux device class hid descriptor send Device Class Hid Event Get ux device class hid event get Device Class Hid Event Set ux device class hid event set Device Class Hid Report Get ux device class hid report get Device Class Hid Report Set ux device class hid report set Device Class Pima Activate ux device class pima activate LI EI ET EE GI EE QI ETE EX ET EX 1 EI EXTA ET EI ED EI Device Class Pima Deactivate ux device class pima deactivate E Device Class Pima Device Info Send ux device class pima device info send H H ets gt User Guide Device Class Pima Event Get ux_device_class_pima_event_get CDI ER E33 EE3 ETE 2153 EI CE EI SOI CDI GET EI CES CDI EI
80. 2 ets gt User Guide ut TraceX 5 File View Options Help j9 0 didQv IA Sequential View Time View Context Summary Event Summary Event ID RRRRRRR 140 Interrupt Initialize Idle System Timer Thread 0xA00030F4 Priority Thread 0 0xA00001D4 Priority 1 Thread 1 0xA0000334 Priority 16 Thread 2 0xA0000520 Priority 16 Thread 3 0xA00026AC Priority 8 Thread 4 0xA0000284 Priority 8 Thread 5 0xA00003E4 Priority 4 Thread 6 0xA00005D0 Priority 8 Thread 7 0xA000275C Priority 8 0xA0000520 0999999999999 RRRRRR TraceX User Guide 223 and 203 which were placed in the event buffer via the previous tx trace user event insert examples C Express_Logic TraceX_5 TraceFiles demo_threadx_user_events trx M4 4 202 vx gt gt b 99000009 RRRRRRR Q R 5 Registered to Express Logic l TraceX 5 File View Options Help r e dag ew poo Sequential View Time View Context Summary IXA0000520 Event Summary Event ID RRRRRR 140 Interrupt Initialize Idle l System Timer Thread 0xA00030F4 Priority Thread 0 0xA00001D4 Priority 1 Thread 1 0xA0000334 Priority 16 Thread 2 0xA0000520 Priority 16 Thread 3 0xA00026AC Priority 8 Thread 4 0xA0000284 Priority 8 Thread 5 0xA00003E4 Priority 4 Thread 6 0xA00005D0 Priority 8 Thread 7 0xA000275C P
81. 24 i 10 55 303 thread 3 0x0000582C 1024 Bl 10 55 1066 thread 5 0x0000597C 1024 i 10 55 307 thread 4 0x000058D4 1024 B 10 55 311 thread 2 0x00005784 1024 Bi 9 77 15 thread 1 0x000056DC 1024 li 5 98 13 FIGURE 4 6 The example shown in Figure 4 5 indicates that most threads in this trace have between 9 and 12 stack usage Performance Statistics selecting the Generate Performance Statistics button orView Performance Statistics presents the performance statistics of the currently loaded trace file By default this information is displayed for the entire system However the performance statistics are also available for each specific thread Express Logic Inc 62 TraceX Performance Analysis The performance statistics of the sample ThreadX demonstration trace are shown in Figure 4 7 Statistic Occurrences Context Switches Time Slices Thread Preemptions Thread Suspensions Thread Resumptions Interrupts Priority Inversions Deterministic Non deterministic FIGURE 4 7 The example shown in Figure 4 8 indicates that there were 39 context switches in this trace file as well as three thread preemptions 36 thread suspensions 36 thread resumptions and seven interrupts There were no priority inversions found in this trace file Notice there are two categories of priority inversions namely deterministic
82. 3 Not used Info Field 4 Not used Duo TCP Socket Peer Info Get nxd tcp socket peer info get Icon H Description This event extracts the sender data from a received TCP packet on the specified socket It returns the IP address and port of the sender Information Fields Info Field 1 Socket pointer Info Field 2 Peer IP address Info Field 3 Peer port Info Field 4 Not used Duo UDP Socket Set Interface nxd udp socket set interface event Icon L Description This event represents setting the specified UDP socket outgoing interface to the interface corresponding to the input interface ID via nxd udp socket set interface Information Fields Info Field 1 Pointer to UDP Socket Info Field 2 Interface ID Info Field 3 Not used Info Field 4 Not used Express Logic Inc 156 Duo UDP Source Extract nxd udp source extract Icon H Description This event represents extracting the IP address and source port of a received packet either IPv4 or IPv6 If IPv6 the fourth word least significant of the IP address is returned via nxd udp source extract Information Fields Info Field 1 Pointer to the packet Info Field 2 IP version Info Field 3 Source IP address IPv4 or IPv6 Info Field 4 Source port ICMP Enable Icon H Description This event represents enabling ICMP via nx icmp enable nx icmp enable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not us
83. 34 T terms of the license agreement 16 thread pointer 238 thread priority 239 thread stack usage 56 thread state changes 70 ThreadX 7 12 stack usage 60 ThreadX events 95 96 ThreadX event trace capability 70 ThreadX object types 237 ticks between events 49 273 time relative 34 Time Stamp 43 time stamp 35 Time View 33 time view mode 34 timer valid mask 233 trace buffer base address 234 trace buffer in a binary 72 trace event entry 238 trace file hex 260 trace file trx 259 261 TraceFiles subdirectory 25 TraceX building an event buffer 69 definition 11 installation 13 main display window 28 overall functionality 27 system event display 32 title bar 29 tool bar 30 tool bar buttons 30 using 24 version 29 TraceX constraints 12 TraceX execution profile 57 TraceX files 12 TraceX graphic user interface 24 TraceX performance analysis 55 _tx build options 10 TX ENABLE EVENT TRACE 70 73 231 tx port h 70 233 241 tx thread create 234 tx trace h 239 247 tx trace enable 70 72 84 231 234 235 238 TX TRACE OBJECT REGISTRY NAME 234 TX TRACE TIME MASK 233 TX TRACE USER EVENT START 92 tx version id 10 Express Logic Inc 274 TraceX User Guide U unfilter specified events 80 user responsibility 11 user defined events 42 70 Utilities sub directory 255 V view of location of the system processing 34 Z zoom out 47 zooming 47 END User Guide Renesas Synergy Platform User s Manual Softwar
84. 582C Thread 4 0x000058D4 Thread 5 0x0000597C Thread 6 0x00005A24 Thread 7 0x00005ACC FIGURE 4 1 ets gt User Guide TraceX User Guide 57 Multi Core CPU Utilization 9 Selecting the CPU Utilization button or View gt CPU Utilization presents the TraceX Multi Core CPU utilization analysis for all cores in the currently loaded trace file The CPU utilization associated with the sample ThreadX SMP demonstration running on two cores is shown in Figure 4 2 i TraceX CPU Utilization E mix 98 6690 1 349 0 99 86 0 14 0 FIGURE 4 2 Execution Profile d Selecting the Generate Execution Profile button or View gt Execution Profile presents the TraceX execution profile for the currently loaded trace file The Express Logic Inc 58 TraceX Performance Analysis execution profile associated with the sample ThreadX demonstration trace is shown in Figure 4 3 i TraceX Execution Profile CEK Context thread 2 0x00005784 thread 1 0x000056DC Usage System Timer Thread Ox00015C 0 85 thread 7 0x00005ACC thread 6 Ox00005A24 thread 4 Ox000058D4 Interrupt thread 3 0x0000582C thread 0 0x00005634 thread 5 0x0000597C Idle Initialize 0 76 0 65 0 62 0 5496 0 5396 0 26 0 15 0 0 FIGURE 4 3 Popular Servic The example shown in Figure 4 3 indicates that nearly 49 of the processing time is inside of thread 2
85. 784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 FIGURE 3 3 The TraceX tool bar buttons from left to right are defined as follows ets gt User Guide TraceX User Guide 31 Button Function Open a trace file Generate multi core CPU utilization analysis Multi Core Only Generate execution profile EJ E Generate performance statistics Generate Thread Stack usage Display currently selected event Search for events d e Open the TraceX User Guide OR Zoom in Select percentage of display zoom where 100 means the entire trace file is displayed within the current view Zoom out s Express Logic Inc 32 Description of TraceX Select first event Display previous event page sd Display previous event Determine how the next previous navigation buttons operate If Event is selected navigation is done on the next previous event If Context is RECU selected navigation is done on the next previous Context event on the specified context If Object is Object selected navigation is done on the next previous Switches event of the specified object e g events ID associated with a specific queue If Switches is selected navigation is done on the next previous change in context If ID is selected n
86. Delta Next 57 ticks 20Q00000000000000000000000 RRRRRRRRRRRRRRRRRRRRRRRRR jia Seats Purchased FIGURE 10 6 Express Logic Inc 230 Customer User Events ets gt User Guide ThreadX provides built in event trace support for all ThreadX services thread state changes and user defined events To use event trace simply build the ThreadX NetX and FileX libraries with TX ENABLE EVENT TRACE defined and enable tracing by calling the tx trace enable function This chapter describes that process em Event Trace Format 232 em Event Trace Control Header 232 Control Header ID 233 Timer Valid Mask 233 Trace Base Address 234 Registry Start and End Pointers 234 Registry Name Size 234 Buffer Start and End Pointers 234 Current Buffer Pointer 235 em Event Trace Object Registry 235 Object Available Flag 235 Object Entry Type 236 Object Pointer 237 Object Reserved Fields 237 Object Parameters 237 Object Name 237 Event Trace Entries 238 Thread Pointer 238 Thread Priority 239 Event ID 239 information Fields 1 4 239 Express Logic Inc 232 Format of Event Trace Buffer Event Trace Format The format of the ThreadX event trace buffer is divided into three sections namely the control header object registry and the trace entries The following describes the general layout of the ThreadX event trace buffer Control Header Object Registry Entry 0 Object Register Entry n Event Trace Entr
87. Duo Cache Invalidate nxd nd cache invalidate Duo Cache IP Address Find nxd nd cache ip address find Duo ICMP Enable nxd icmp enable Duo ICMP IPv6 Ping nxd icmp ping Duo IP Max Payload Size Find nx max payload size find Duo IP Raw Packet Send nxd ip raw packet send EI GEI EH Ed Ld bE CE E Duo IPv6 Default Router Add nxd ipv6 default router add Duo IPv6 Default Router Delete nxd ipv6 default router delete BEI CE Duo IPv6 Enable nxd ipv6 enable ets gt User Guide El GEI QT EI ZR LES LE CE CG CBI CD CO Ci CSI CE GEJ CEJ LEJ ELI M L TraceX User Guide 139 Duo IPv6 Global Address Get nxd ipv6 global address get Duo IPv6 Global Address Set nxd ipv6 global address set Duo IPv6 Initiate Dad Process nxd ipv6 initiate dad process Duo IPv6 Interface Address Get nxd ipv6 interface address get Duo IPv6 Interface Address Set nxd ipv6 interface address set Duo IPv6 Link Local Address Get nxd ipv6 linklocal address get Duo IPv6 Link Local Address Set nxd ipv6 linklocal address set Duo IPv6 Raw Packet Send nxd ipv6 raw packet send Duo TCP Socket Peer Info Get nxd tcp socket peer info get Duo TCP Socket Set Interface nxd tcp socket set interface Duo UDP Socket Send nxd udp socket send Duo UDP Socket Set Interface nxd udp socket set interface Duo UDP Source Extract nxd udp source extract ICMP Enable nx icmp enable ICMP Information Get nx icmp info get ICMP Ping nx icmp ping I
88. ERT i a b c d e TX_TRA ULONG ULONG TX_THR tr LE CE BUFFER ENTRY trace event ptr trace system state trace priority V EAD trace thread ptr ace event ptr tx trace buffer current ptr V trace event ptr amp amp tx trace event enable bits amp ULONG e TX TRACE PORT EXTENSION ULONG tx thread current ptr trace system state tx thread system state trace thread ptr if trace system state 0 CN trace priority trace thread ptr gt tx thread priority trace priority trace priority 0x80000000 trace thread ptr tx thread preempt threshold 16 EN else if trace system state lt OxFOFOFOFOUL N trace priority trace thread ptr ULONG trace thread ptr TX THREAD OxFFFFFFFFUL User Guide a ULONG b TraceX User Guide 253 else CN trace thread ptr TX THREAD OxFOFOFOFOUL trace priority 0 trace event ptr tx trace buffer entry thread pointer ULONG trace thread ptr trace event ptr tx trace buffer entry thread priority ULONG trace priority trace event ptr tx trace buffer entry event id ULONG i trace event ptr tx trace buffer entry time stamp ULONG TX TRACE TIME SOURCE trace event ptr gt tx
89. Express Logic Inc 4 TraceX User Guide em lime View Mode 34 m System Summary Line 35 System Contexts 36 Thread Status Information 40 m Event Information Display 42 m Current Event Display 44 em Event Searching 46 m Zooming In and Out 47 em Delta Ticks Between Events 49 Actual Time Display 50 e Priority Inversions 51 em TraceX Multi Core 53 4 TraceX Performance Analysis 55 m Performance Analysis 56 em Multi Core CPU Utilization 57 m Execution Profile 57 m Popular Services 58 Thread Stack Usage 60 m Performance Statistics 61 em FileX Statistics 63 NetX Statistics 65 ee race File Information 66 Raw Trace Dump 67 5 Generating Trace Buffers 69 em IhreadX Event Trace Support 70 em Enabling Event Trace 70 m Defining Time Stamp Constants 70 ED User Guide Contents Exporting the Trace Buffer 72 m Extended Event Trace API 73 6 ThreadX Trace Events 95 em List of Events and Icons 96 Event Descriptions 100 FileX Trace Events 117 List of Events and Icons 118 em Event Descriptions 121 8 NetX Trace Events 135 em List of Events and Icons 136 Event Descriptions 143 9 USBX Trace Events 171 em List of Events and Icons 172 Event Descriptions 182 10 Customer User Events 221 inserting User Defined Events 222 Default Display of User Defined Events 222 m Defining Custom User Defined Event Icons 224 11 Format
90. Field 4 Not used ets gt User Guide NetX Trace Events TCP Client Socket Connect nx_tcp_client_socket_connect Icon LS Description This event represents making a client socket connection via nx tcp client socket connect Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Server IP address Info Field 4 Server port requested TCP Client Socket Unbind nx tcp client socket unbind Icon Description This event represents unbinding the port associated with the socket via nx tcp client socket unbind Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Not used Info Field 4 Not used TCP Free Port Find Icon m nx_tcp_free_port_find Description This event represents finding a free TCP port via nx_tcp_free_port_find Information Fields Info Field 1 Pointer to IP instance Info Field 2 Starting search port number Info Field 3 Free port number Info Field 4 Not used TraceX User Guide TCP Socket Bytes Available nx tcp socket bytes available Icon Description This event represents the number of bytes currently available on the specified TCP receiving socket via nx tcp socket bytes available Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to TCP socket Info Field 3 Bytes received on the socket Info Field 4 Not used TCP Socket Delete Icon H Description This even
91. GMP Enable nx igmp enable IGMP Information Get nx igmp info get IGMP Loopback Disable nx igmp loopback disable IGMP Loopback Enable nx igmp loopback enable IGMP Multicast Join nx igmp multicast join IGMP Multicast Leave nx igmp multicast leave Express Logic Inc 140 NetX Trace Events IP Address Change Notify nx ip address change notify IP Address Get nx ip address get IP Address Set nx ip address set IP Create nx ip create IP Delete nx ip delete IP Driver Direct Command nx ip driver direct command IP Forwarding Disable nx ip forwarding disable IP Forwarding Enable nx ip forwarding enable IP Fragment Disable nx ip fragment disable IP Fragment Enable nx ip fragment enable IP Gateway Address Set nx ip gateway address set IP Information Get nx ip info get IP Interface Attach nx ip interface attach IP Interface Info Get nx ip interface info get IP Raw Packet Disable nx ip raw packet disable IP Raw Packet Enable nx ip raw packet enable IP Raw Packet Receive nx ip raw packet receive IP Raw Packet Send nx ip raw packet send IP Status Check nx ip status check IP Static Route Add nx ip static route add IP Static Route Delete nx ip static route delete IPSEC Enable nx ipsec enable LCI ECI EE GEI CEJ EEJ LEJ CHI EE EX GEI CE Ell bI LEJ CJ GEI El CO CES CH Id ets gt User Guide L GEI QI LE E33 EX 3 QUI EXE GI GEI LES CE ETE CE2 BEES EEJ CN Cl EIS ELS EE
92. IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 149 Internal I O Driver Multicast Join Internal I O driver multicast join Icon H Description This event represents an internal NetX I O driver multicast join event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal 1 0 Driver Get Status Internal I O driver get status Icon Description This event represents an internal NetX I O driver get status event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Get Duplex Type Internal I O driver get duplex type Icon L Description This event represents an internal NetX I O driver get duplex type event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 150 Internal I O Driver Get Error Count Internal I O driver get error count Icon Description This event represents an internal NetX I O driver get error count event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Get TX Count Internal I O driver get TX count Icon L Description This event represents an internal NetX I O driver get
93. Info Field 2 Pointer to message Info Field 3 Wait option supplied to the call Info Field 4 Number of messages currently queued Semaphore Ceiling Put tx semaphore ceiling put Icon Description This event represents putting to a semaphore via tx semaphore ceiling put This differs from tx semaphore put in that the maximum value of the semaphore is examined such that the put operation is not allowed to exceed the maximum value or ceiling Information Fields Info Field 1 Pointer to semaphore Info Field 2 Current semaphore count Info Field 3 Number of threads suspended on the semaphore Info Field 4 Ceiling limit supplied to the call 109 Queue Receive Icon L Description This event represents receiving a message from a queue via tx queue receive tx queue receive Information Fields Info Field 1 Pointer to queue Info Field 2 Pointer to destination for message Info Field 3 Wait option supplied to the call Info Field 4 Number of messages currently queued Queue Send Notify Icon Li Description This event represents registering a callback via tx queue send notify which is called whenever a message is sent to a queue tx queue send notify Information Fields Info Field 1 Pointer to queue Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Semaphore Create Icon Description This event represents creating a semaphore via tx semaphore create tx semaphore c
94. Info Field 3 Not used Info Field 3 Transfer request Info Field 4 Not used Info Field 4 Not used Express Logic Inc 220 USBX Trace Events ant gt User Guide This chapter contains a description of how to create user defined events and custom icons and information fields for such events This chapter includes the following sections inserting User Defined Events 222 Default Display of User Defined Events 222 a Defining Custom User Defined Event Icons 224 Express Logic Inc 222 Customer User Events Inserting User Defined Events ThreadX provides the ability for developers to log their own user defined events providing even more useful information that can be viewed graphically by TraceX User defined event numbers range from TX_TRACE_USER_EVENT_START 4096 through TX_TRACE_USER_EVENT_END 65535 inclusive The placement of the events in the trace buffer is done via the tx_trace_user_event_insert defined in Chapter 5 The following example calls insert two user defined events into the current trace buffer on the target namely user defined event 4096 and event 4098 tx trace user event insert 4096 1 2 3 3 3 tx trace user event insert 4098 0x100 0x200 0x300 0x400 Default Display of User Defined Events By default TraceX displays all user events with a default user defined Event icon as described in Chapter 6 Figure 10 1 shows the default user defined event icon for events 20
95. Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Duo IP Max Payload Size Find nx ip max payload size Icon L Description This event computes the max payload the specified packet can carry without requiring fragmentation Information Fields Info Field 1 Socket pointer Info Field 2 Peer IP address Info Field 3 Peer port Info Field 4 Not used 153 Duo Cache IP Address Find nxd nd cache ip address find Icon H Description This event represents retrieving an IP address matching the supplied physical address from the cache table via nxd_nd_cache_ip_address_find Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth least significant word of the IPv6 address Info Field 3 Physical address msb Info Field 4 Physical address Isb Duo ICMP Ping Icon Description This event represents sending a ping echo request to an IPv6 host via nxd icmp ping nxd icmp ping Information Fields Info Field 1 Pointer to IP instance Info Field 2 IPv6 address Info Field 3 Pointer to echo data Info Field 4 Size of echo data Duo IP Raw Packet Send nxd ip raw packet send Icon H Description This event represents sending a raw IP packet out the specified network interface to the supplied IP destination addressvia nxd ip raw packet send Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to pa
96. Not used Info Field 4 Not used Block Release Icon L Description This event represents releasing a previously allocated block back to the block pool tx block release Information Fields Info Field 1 Memory block pool pointer Info Field 2 Pointer to block to release Info Field 3 Number of threads suspended on this block pool Info Field 4 Stack pointer at the time of the call Byte Pool Create Icon tx byte pool create Description This event represents creating a byte pool via tx byte pool create Information Fields Info Field 1 Pointer to the corresponding byte pool Info Field 2 Pointer to the start of the memory area Info Field 3 Number of bytes in the byte pool Info Field 4 The stack pointer at the time of the call Express Logic Inc 104 Byte Pool Delete Icon Description This event represents deleting a byte pool via tx byte pool delete tx byte pool delete Information Fields Info Field 1 Pointer to the corresponding byte pool Info Field 2 The stack pointer at the time of the call Info Field 3 Not used Info Field 4 Not used Byte Pool Performance Info Get tx byte pool performance info get Icon Description This event represents getting byte pool performance information via tx byte pool performance info get Information Fields Info Field 1 Pointer to the corresponding byte pool Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used
97. Not used Info Field 3 Not used Info Field 4 Not used ARP Information Get Icon H Description This event represents getting information via nx arp info get nx arp info get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 ARPs sent Info Field 3 ARP responses Info Field 4 ARPs received Express Logic Inc 152 ARP IP Address Find Icon H Description This event represents finding an IP address associated with the supplied physical address via nx arp ip address find nx arp ip address find Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Physical address MSW Info Field 4 Physical address LSW ARP Static Entry Create nx arp static entry create Icon H Description This event represents creating a static ARP entry via nx_arp_static_entry_create Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Physical address MSW Info Field 4 Physical address LSW Duo Cache Entry Delete nxd nd cache entry delete Icon L Description This event represents deleting an entry in the neighbor cache table via nx udp socket create Information Fields Info Field 1 Fourth least significant word of the IPv6 link local address to delete Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used eats gt User Guide NetX Trace Events ARP Static Entries Delete nx_arp_s
98. RIORITIES define TX MAX PRIORITIES 32 endif Define the minimum stack for a ThreadX thread on this processor If the size supplied during thread creation is less than this value the thread create call will return an error ifndef TX MINIMUM STACK define TX MINIMUM STACK 200 Minimum Stack Size for this port endif Define the system timer thread s default stack size and priority These are only applicable if TX TIMER PROCESS IN ISR is not defined ifndef TX TIMER THREAD STACK SIZE define TX TIMER THREAD STACK SIZE 1024 Default timer thread stack size endif ifndef TX TIMER THREAD PRIORITY define TX TIMER THREAD PRIORITY 0 Default timer thread priority SJ endif Define various constants for the ThreadX ARM port ifdef TX ENABLE FIQ SUPPORT define TX INT DISABLE 0xCO Disable IRQ amp FIQ interrupts else define TX INT DISABLE 0x80 Disable IRQ interrupts ori endif define TX INT ENABLE 0x00 Enable IRQ interrupts m Define the clock source for trace event entry time stamp The following two item are port specific For example if the time source is at the address 0x0a800024 and is 16 bits in size the clock Source constants would be define TX TRACE TIME SOURCE ULONG 0x0a800024 define TX TRACE TIME MASK 0x0000FFFFUL y ifndef TX TRACE TIME SOURCE
99. SP1 FIGURE 2 8 ets gt User Guide TraceX User Guide 23 Selecting Install button launches the Microsoft NET installation as shown in Figure 2 9 TraceX 5 InstallShield Wizard TraceX 5 requires the folowing items to be installed on your computer Click Install to begin installing these requirements Status Requirement Installing Microsoft NET Framework 3 5 SP1 Installing Microsoft NET Framework 3 5 SP1 Cancel FIGURE 2 9 Further note that the Microsoft NET framework installation may take as much as eight minutes to complete After complete the Microsoft NET installation requires a reboot After the reboot the installation will automatically continue where it left off If it does not launch the installation again Express Logic Inc 24 Installation and Use of TraceX Using TraceX Using TraceX is as easy as opening a trace file inside TraceX Run TraceX via the Start button At this point you will observe the TraceX graphic user interface GUI You are now ready to use TraceX to graphically view an existing target trace buffer This is easily done by clicking File gt Open then entering the binary trace file You can also double click on any trace file with an e extension of trx which will automatically launch Tracex ii TraceX 5 Hao Trace File loaded FIGURE 2 10 Refer to Chapter 5 for instructions on how to generate trace buffers on the
100. Service Routine ISR enter Enter ISR Icon Description This event represents entering an Interrupt Service Routine ISR in the application The interrupt service routine execution continues until the ISR exit event takes place Information Fields Info Field 1 Stack pointer value during the call Info Field 2 Application defined ISR number optional Info Field 3 Nested interrupt count Info Field 4 Internal preemption disable flag This event represents the internal processing in ThreadX that suspends a thread s execution The next highest priority thread ready for execution is placed in the fourth information field If this value is NULL there is no other thread ready for execution and the system is idle Information Fields Info Field 1 Pointer to the thread being suspended Info Field 2 New state of the thread being suspended as follows TX_COMPLETED TX_TERMINATED TX_SUSPENDED TX_SLEEP TX_QUEUE_SUSP TX_SEMAPHORE_SUSP TX_EVENT_FLAG TX_BLOCK_MEMORY TX_BYTE_MEMORY TX_TCP_IP 12 TX_MUTEX_SUSP 13 Info Field 3 Stack pointer value during the call Info Field 4 Pointer to next highest priority thread to execute If NULL the system is idle OONDARWDND Interrupt Service Routine ISR exit Icon Description Exit ISR This event represents exiting an Interrupt Service Routine ISR in the application Information Fields Info Field 1 Stack pointer value during the call Info Field 2 App
101. Size of Unicode name Info Field 4 Pointer to short name eats gt User Guide FileX Trace Events System Time Set Icon E Description This event represents a system time set event fx system time set Information Fields Info Field 1 Hour Info Field 2 Minute Info Field 3 Second Info Field 4 Not used Unicode Directory Rename fx unicode directory rename Icon E Description This event represents a Unicode directory rename event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to Unicode name Info Field 3 Size of Unicode name Info Field 4 Pointer to short name Unicode File Rename Icon H Description This event represents a Unicode file rename event fx unicode file rename Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to Unicode name Info Field 3 Size of Unicode name Info Field 4 Pointer to short name TraceX User Guide 133 Unicode Length Get fx unicode lenght get Icon H Description This event represents a Unicode length get event Information Fields Info Field 1 Pointer to the Unicode name Info Field 2 Length Info Field 3 Not used Info Field 4 Not used Unicode Short Name Get fx unicode short name get Icon Hj Description This event represents a Unicode short name get event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to source Unicode name Info Field 3 Length
102. a USBX Device Class Cdc Write Event Information Fields Info Field 1 Class Instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Device Class Dpump Deactivate ux device class dpump deactivate Icon H Description This event represents a USBX Device Class Dpump Deactivate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 184 Device Class Dpump Read ux device class dpump read Icon 7 Description This event represents a USBX Device Class Dpump Read Event Information Fields Info Field 1 Class Instance Info Field 2 Buffer Info Field 3 Requested length Info Field 4 Not used Device Class Hid Activate ux_device_class_hid_activate Icon E Description This event represents a USBX Device Class Hid Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Hid Descriptor Send ux device class hid descriptor send Icon H Description This event represents a USBX Device Class Hid Descriptor Send Event Information Fields Info Field 1 Class Instance Info Field 2 Descriptor type Info Field 3 Request index Info Field 4 Not used eats gt User Guide USBX Trace Events Device Class Dpump Write ux device class dpump write Icon H Description This event repr
103. a USBX Host Class Audio Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Audio Streaming Sampling Get ux host class audio streaming sampling get Icon Description This event represents a USBX Host Class Audio Streaming Sampling Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Audio Write ux host class audio write Icon H Description This event represents a USBX Host Class Audio Write Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used 197 Host Class Audio Read ux host class audio read Icon H Description This event represents a USBX Host Class Audio Read Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Audio Streaming Sampling Set ux host class audio streaming sampling set Icon Description This event represents a USBX Host Class Audio Streaming Sampling Set Event Information Fields Info Field 1 Class instance Info Field 2 Audio Sampling Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm Activate ux host class cdc acm activate Icon H Description This event represents a USBX Host Class
104. acket Info Field 2 Packet status Info Field 3 Available packets Info Field 4 Not used RARP Enable Icon H Description This event represents enabling RARP via nx rarp enable nx rarp enable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used System Initialize Icon H nx_system_ initialize Description This event represents initializing NetX via nx_system_initialize Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 164 TCP Client Socket Bind nx_tcp_client_socket_bind Icon Description This event represents binding a client socket to a port via nx tcp client socket bind Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Port requested Info Field 4 Wait option TCP Client Socket Port Get nx tcp client socket port get Icon 2 Description This event represents getting the client socket port number via nx_tcp_client_socket_port_get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Port number Info Field 4 Not used TCP Enable Icon E Description This event represents enabling TCP via nx_tcp_enable nx_tcp_enable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info
105. ameter 2 VOID tx trace object unregister VOID object ptr UINT tx trace buffer full notify VOID full buffer callback VOID UINT tx trace user event insert ULONG event id ULONG info field 1 ULONG info field 2 ULONG info field 3 ULONG info field 4 endif Express Logic Inc 254 ets gt User Guide There are three DOS command line utilities found in the TraceX installation under the Utilities sub directory They are described on the following page em ea2tracex exe em hex2tracex exe em mot2tracex exe Express Logic Inc 256 The utilities supplied are listed below Utility Purpose Command Line Definitions ea2tracex exe Converts the trace file gt ea2tracex generated by ThreadX in original file association with the GHS tools converted file cr to the TraceX trace file format Note ThreadX for GHS tools produces a different trace format than ThreadX for non GHS tools which is why this conversion utility is needed hex2tracex exe Converts a trace file generated gt hex2tracex hex file by ThreadX but dumped from converted file cr the development tool in Intel HEX format to the binary TraceX trace file format Note that TraceX V5 and above can open HEX files without converting them mot2tracex exe Converts a trace file generated gt mot2tracex by ThreadX but dumped from mot file the development tool in converted file cr Motorola S Record format to the binary TraceX trace fi
106. avigation is done on the next previous event of the specified event ID P Display next event P Display next event page Fi Select last event Display Mode Tabs TraceX displays system events in two different ways sequential and time relative The default mode is sequential and that is the mode shown in Figure 3 4 ant gt User Guide TraceX User Guide 33 Changing the mode is as simple as selecting the Sequential View or Time View tabs in the TraceX window Figure 3 4 shows the Sequential View and Time View tabs 1 TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help je e dag E etw Sequential View Time View Context Summary Event Summary Event ID gt Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic FIGURE 3 4 Sequential View Mode The sequential view mode is selected by the Sequential View tab shown in Figure 3 4 This is the default mode In this mode events are shown immediately following each other regardless of the elapsed time between them Note also the ru
107. ber of bytes for each object name 66 memory area dump 72 Microsoft NET 14 Microsoft NET framework 12 mot2tracex exe 256 Motorola S Record file format 72 MPlab tools dumping trace buffer 261 multiple event viewing 44 N NetX performance statistics 65 statistics 56 NetX events 135 136 non deterministic priority inversion 52 non deterministic priority inversions 51 number of ticks between events 49 nx version id 10 O object available flag 235 object entry type 236 object name 237 object parameters 237 object pointer 237 object registry entry 235 object types 236 opened trace file information 66 overview of system activitiy 34 P performance analysis 56 performance statistics 56 61 popular services 56 58 post mortem tool 70 priority inversions 51 62 Index R Raw Time Stamp 43 raw trace dump 67 RealView tools dumping trace buffer 259 register trace buffer full application callback 90 registry name size 234 registry start and end pointer points 234 relative event numbers 33 relative ticks from beginning of trace 35 restoring to full icon view 48 run time event information 42 S search parameters primary 46 sending comments to Express Logic 10 Sequential View 33 sequential view mode 33 Setup exe 14 single summary line 35 size of time source 66 standard information 43 summary of context 36 support email 9 support engineer contact information 9 system contexts 36 system performance tuning
108. bort event fx media abort Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Media Check Icon H Description This event represents a media check event fx media check Information Fields Info Field 1 Pointer to the media Info Field 2 Scratch memory pointer Info Field 3 Scratch memory size Info Field 4 Errors bit map FAT Chain Error 0x01 Directory Error 0x02 Lost Cluster Error 0x04 File Size Error 0x08 Express Logic Inc 130 Media Close Icon Description This event represents a media close event fx media close Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Media Format Icon H Description This event represents a media format event fx_media_format Information Fields Info Field 1 Pointer to the media Info Field 2 Number of root entries Info Field 3 Sectors Info Field 4 Sectors per cluster Media Read Icon H Description This event represents a media read event fx media read Information Fields Info Field 1 Pointer to the media Info Field 2 Logical sector Info Field 3 Buffer pointer Info Field 4 Bytes read eats gt User Guide FileX Trace Events Media Flush Icon Description This event represents a media flush event fx media flush Information Fields Info Fiel
109. ce Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hub Port Change Connection Process ux host class hub port change connection process Icon Description This event represents a USBX Host Class Hub Port Change Connection Process Event Information Fields Info Field 1 Class instance Info Field 2 Port Info Field 3 Port status Info Field 4 Not used Host Class Hub Port Change Over Current Process ux host class hub port change over current process Icon Description This event represents allocating a packet via nx packet allocate Information Fields Info Field 1 Class instance Info Field 2 Port Info Field 3 Port status Info Field 4 Not used Express Logic Inc 204 Host Class Hub Port Change Reset Process ux host class hub port change reset process Icon Description This event represents a USBX Host Class Hub Port Change Reset Process Event Information Fields Info Field 1 Hub Info Field 2 Port Info Field 3 Port status Info Field 4 Not used Host Class Pima Activate ux host class pima activate Icon H Description This event represents a USBX Host Class Pima Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Pima Device Info Get ux host class pima device info get Icon H Description This event represents a USBX Host Class Pima Device I
110. ck interface instance create Icon Description This event represents a USBX Host Stack Interface Instance Create Event Information Fields Info Field 1 Interface Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Interface Set ux host stack interface set Icon H Description This event represents a USBX Host Stack Interface Set Event Information Fields Info Field 1 Interface Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack New Configuration Create ux host stack new configuration create Description This event represents a USBX Host Stack New Configuration Create Event Information Fields Info Field 1 Device Info Field 2 Configuration Info Field 3 Not used Info Field 4 Not used Express Logic Inc 218 Host Stack New Device Create ux host stack new device create Icon Description This event represents a USBX Host Stack New Device Create Event Information Fields Info Field 1 Hcd Info Field 2 Device owner Info Field 3 Port index Info Field 4 Device Host Stack Root Hub Change Process ux host stack rh change process Icon H Description This event represents a USBX Host Stack Root Hub Change Process Information Fields Info Field 1 Port index Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Root Hub Device Insertion ux host stack rh device insertion Icon H Descript
111. cket to send Info Field 3 Pointer to destination address Info Field 4 Packet protocol Express Logic Inc 154 Duo IPV6 Default Router Delete nxd ipv6 default router delete Icon Description This event represents removing a default router from the IP instance s IPv6 routing table via nxd ipv6 default router delete Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the default router IPv6 address Info Field 3 Not used Info Field 4 Not used Duo IPv6 Global Address Get nxd_ipv6 global address get Icon E Description This event represents retrieving the global primary IP address on the IP instance located at index 1 in the IP instance interface table via nxd ipv6 global address get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the global address Info Field 3 IPv6 address prefix length Info Field 4 Index into IP interface table 1 Duo IPv6 Initiate Dad Process nxd ipv6 initiate dad process Icon Description This event represents the start of the Duplicate Address Detection DAD process when the IP instance is assigned a link local or an IP interface address via nxd_ipv6_initiate_dad_process Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ets gt User Guide NetX Trace Events Duo IPv6 Enable
112. cket via nx_udp_socket_checksum_disable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Not used Info Field 4 Not used UDP Socket Create Icon nx udp socket create Description This event represents creating a UDP socket via nx udp socket create Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Type of service Info Field 4 Maximum receive queue ant gt User Guide NetX Trace Events UDP Socket Bytes Available nx udp socket bytes available A Icon L Description This event represents the current number of bytes received on the UDP socket via nx udp socket bytes available Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Bytes received on socket Info Field 4 Not used UDP Socket Checksum Enable nx udp socket checksum enable Icon Description This event represents enabling checksum processing on a socket via nx_udp_socket_checksum_enable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Not used Info Field 4 Not used UDP Socket Delete Event nx_udp_socket_delete event Icon Description This event represents deleting a UDP socket via nx udp socket delete Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Not used Info Field 4 Not
113. class asix write Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Audio Control Value Get ux host class audio control value get Icon Description This event represents a USBX Host Class Audio Control Value Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide USBX Trace Events Host Class Asix Read Icon H Description This event represents a USBX Host Class Asix Read Event ux host class asix read Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Audio Activate ux host class audio activate Icon Description This event represents a USBX Host Class Audio Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Audio Control Value Set ux host class audio control value set Icon Description This event represents an internal NetX I O driver deferred processing event Information Fields Info Field 1 Class instance Info Field 2 Audio control Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Audio Deactivate ux host class audio deactivate Icon Description This event represents
114. class_instance_create Icon Description This event represents a USBX Host Stack Class Instance Create Event Information Fields Info Field 1 Class Info Field 2 Class Instance Info Field 3 Not used Info Field 4 Not used 213 Host Class Storage Request Sense ux host class storage request sense Icon Description This event represents a USBX Host Class Storage Request Sense Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Storage Unit Ready Test ux host class storage unit ready test Icon U Description This event represents a USBX Host Class Storage Unit Ready Test Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Class Instance Destroy ux host stack class instance create Icon Description This event represents a USBX Host Stack Class Instance Destroy Event Information Fields Info Field 1 Class Info Field 2 Class Instance Info Field 3 Not used Info Field 4 Not used Express Logic Inc 214 Host Stack Configuration Delete ux host stack configuration delete Icon H Description This event represents a USBX Host Stack Configuration Delete Event Information Fields Info Field 1 Configuration Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Configura
115. contains information about a specific ThreadX object previously created by the application The following data structure defines each object registry entry typedef struct TX TRACE OBJECT REGISTRY ENTRY STRUCT U CHAR tx trace object registry entry object available UCHAR tx trace object registry entry object type UCHAR tx trace object registry entry object reservedl UCHAR tx trace object registry entry object reserved2 ULONG tx trace thread registry entry object pointer ULONG tx trace object registry entry object parameter 1 ULONG tx trace object registry entry object parameter 2 UCHAR tx trace thread registry entry object name TX TRACE OBJECT REGISTRY NAME TX TRACE OBJECT REGISTRY ENTRY Object Available The object available flag is set to 1 if the object Flag registry entry is available Otherwise if the value is not 1 the object registry entry is not available Note Express Logic Inc 236 Format of Event Trace Buffer that the entry could still contain valid information even though it is available Object Entry Type The object entry type identifies the type of object in this entry The following is a list of the valid object types Value Object Type 0 Not Valid 1 Thread 2 Timer 3 Queue 4 Semaphore 5 Mutex 6 Event Flags Group 7 Block Pool 8 Byte Pool 9 Media 10 File 11 IP 12 Packet Pool 13 TCP Socket 14 UDP Socket 15 20 Reserved 21 USB Host Stack Device 22 USB Host Stack Interface 23 USB Ho
116. ct Offset nx udp source extract offset Icon H Description This event represents packet data that is extracted into a supplied buffer from a packet via nx udp source extract offset Information Fields Info Field 1 Pointer to packet Info Field 2 Size of specified buffer Info Field 3 Number of bytes copied Info Field 4 Not used Packet Length Get nx packet length get Icon L Description This event represents getting the length of a packet via nx packet length get Information Fields Info Field 1 Pointer to the packet Info Field 2 Packet length Info Field 3 Not used Info Field 4 Not used Packet Pool Delete Icon Description This event represents deleting a packet pool via nx packet pool delete nx packet pool delete Information Fields Info Field 1 Pointer to the packet pool Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide NetX Trace Events Packet Data Retrieve Icon Description This event represents retrieving data from a packet via nx_packet_data_retrieve nx_packet_data_retrieve Information Fields Info Field 1 Pointer to the packet Info Field 2 Pointer to start of buffer Info Field 3 Bytes copied Info Field 4 Not used Packet Pool Create Icon Description This event represents creating a packet pool via nx packet pool create nx packet pool create Information Fields Info Field 1 Pointer to the packet pool Info Field 2 Pac
117. ctl Get Device Status ux host class cdc acm ioctl get device status Icon Description This event represents a USBX Host Class Cdc Acm loctl Get Device Status Event Information Fields Info Field 1 Class instance Info Field 2 Device status Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm loctl Notification Callback ux host class cdc acm ioctl notification callback Icon Description This event represents a USBX Host Class Cdc Acm loctl Notification Callback Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Cdc Acm loctl Send Break ux host class cdc acm ioctl send break Icon Description This event represents a USBX Host Class Cdc Acm loctl Send Break Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm loctl Set Line State ux host class cdc acm ioctl set line state Icon Description This event represents a USBX Host Class Cdc Acm loctl Set Line State Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm Reception Start ux host class cdc acm reception start Icon Description This event represents a USBX Host Class Cdc Acm Reception Start Event Information Fields Inf
118. d 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Media Open Icon H Description This event represents a media open event fx media open Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to media driver entry Info Field 3 Memory pointer Info Field 4 Memory size Media Space Available fx media space available 5 Icon LI Description This event represents a media space available event Information Fields Info Field 1 Pointer to the media Info Field 2 Available bytes pointer Info Field 3 Number of free clusters Info Field 4 Not used TraceX User Guide 131 Media Volume Get Icon H Description This event represents a media volume get event fx_media_volume_get Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to volume name Info Field 3 Volume source Info Field 4 Not used Media Write Icon Description This event represents a media write event fx_media_write Information Fields Info Field 1 Pointer to the media Info Field 2 Logical sector Info Field 3 Buffer pointer Info Field 4 Bytes written System Date Set Icon H fx_system_date_set Description This event represents a system date set event Information Fields Info Field 1 Year Info Field 2 Month Info Field 3 Day Info Field 4 Not used Media Volume Set fx_media_volume_set Icon H D
119. d 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic FIGURE 3 6 The summary line contains a summary of the context as well as the corresponding event summary underneath In the example shown in Figure 3 6 it is easy to see that thread 2 is executing and interrupted The interrupt results in preemption by thread 3 thread 6 thread 4 and thread 7 after which thread 2 resumes execution System Contexts TraceX lists the system contexts on the left hand side of the display as shown in Figure 3 7 Events that occur in a particular context are displayed on the horizontal line to the right of that context In this way you can easily ascertain which context the event ets gt User Guide TraceX User Guide 37 occurred as well as follow that context line to see all the events that occurred in a particular context The first two context entries are always the Interrupt and Initialize Idle contexts Interrupt context represents all system events made from Interrupt Service Routines ISRs Initialize Idle context represents two contexts in ThreadX Events that occur during tx_application_define are Initialize events and are displayed on the nitialize ldle context If the system is idle and thus no events are occurring the green bar repre
120. d 2 Pointer to file name Info Field 3 Year Info Field 4 Month Express Logic Inc 128 File Delete Icon Lt Description This event represents a file delete event fx_file_delete Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to file name Info Field 3 Not used Info Field 4 Not used File Read Icon Description This event represents a file read event fx file read Information Fields Info Field 1 Pointer to the file Info Field 2 Buffer pointer Info Field 3 Request size Info Field 4 Actual size read File Rename Icon Description This event represents a file rename event fx_file_rename Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to old file name Info Field 3 Pointer to new file name Info Field 4 Not used eats gt User Guide FileX Trace Events File Open Icon Description This event represents a file open event fx file open Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to the file control block Info Field 3 Pointer to file name Info Field 4 Open type Open for Read 0x00 Open for Write 0x01 Fast Open for Read 0x02 File Relative Seek Icon Description This event represents a file relative seek event fx_file_relative_seek Information Fields Info Field 1 Pointer to the file Info Field 2 Byte offset Info Field 3 Seek from
121. d 3 Not used Info Field 4 Not used 189 Device Class Rndis Message Set ux_device_class_rndis_msg_set Icon H Description This event represents a USBX Device Class Rndis Message Set Event Information Fields Info Field 1 Class Instance Info Field 2 Rndis OID Info Field 3 Not used Info Field 4 Not used Device Class Rndis Packet Transmit ux device class rndis packet transmit Icon Description This event represents a USBX Device Class Rndis Packet Transmit Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Storage Deactivate ux device class storage deactivate Icon H Description This event represents a USBX Device Class Storage Deactivate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 190 Device Class Storage Format ux device class storage format Icon H Description This event represents a USBX Device Class Storage Format Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Mode Select ux device class storage mode select Icon H Description This event represents a USBX Device Class Storage Mode Select Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not u
122. d 4 Not used Express Logic Inc 202 Host Class Hid Mouse Activate ux host class hid mouse activate Icon H Description This event represents a USBX Host Class Hid Mouse Activate Event Information Fields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Field 4 Not used Host Class Hid Remote Control Activate ux host class hid remote control activate Icon Description This event represents a USBX Host Class Hid Remote Control Activate Event Information Fields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Field 4 Not used Host Class Hid Report Get ux host class hid report get Icon H Description This event represents a USBX Host Class Hid Report Get Information Fields Info Field 1 Class instance Info Field 2 Client report Info Field 3 Not used Info Field 4 Not used ant gt User Guide USBX Trace Events Host Class Hid Mouse Deactivate ux host class hid mouse deactivate Icon H Description This event represents a USBX Host Class Hid Mouse Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Field 4 Not used Host Class Hid Remote Control Deactivate ux host class hid remote control deactivate Icon Description This event represents a USBX Host Class Hid Remote Control Deactivate Event Information F
123. d 4 Transmit sequence number 145 Internal IP Receive Icon H Description This event represents an internal NetX IP receive event Internal IP receive Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Packet length Internal TCP Data Receive Internal TCP data receive Icon H Description This event represents an internal NetX TCP data receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Receive sequence number Internal TCP FIN Receive Internal TCP FIN receive Icon H Description This event represents an internal NetX TCP FIN receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Receive sequence number Express Logic Inc 146 Internal TCP FIN Send Icon Description This event represents an internal NetX TCP FIN send event Internal TCP FIN send Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Transmit sequence number Internal TCP RST Send Icon Description This event represents an internal NetX TCP reset send event Internal TCP RST send Information Fields Info Field 1 Pointer to the IP instance Info
124. def TX ENABLE STACK CHECKING undef TX DISABLE STACK FILLING endif Define the TX THREAD control block extensions for this port The main reason for the multiple macros is so that backward compatibility can be maintained with existing ThreadX kernel awareness modules defin defin defin defin e e e e TX THREAD EXTENSION 0 TX THREAD EXTENSION TX THREAD EXTENSION 2 TX THREAD EXTENSION 3 Define the port extensions of the remaining ThreadX objects fdefin fdefin fdefin fdefin fdefin fdefin fdefin e e e e e e e TX BLOCK POOL EXTENSION TX BYTE POOL EXTENSION TX EVENT FLAGS GROUP EXTENSION TX MUTEX EXTENSION TX QUEUE EXTENSION TX SEMAPHORE EXTENSION TX TIMER EXTENSION ant gt User Guide TraceX User Guide 245 Define the user extension field of the thread control block Nothing additional is needed for this port so it is defined as white space ifndef TX THREAD USER EXTENSTON define TX THREAD USER EXTENSION endif lt Define the macros for processing extensions in tx thread create tx thread delete tx thread shell entry and tx thread terminate define TX THREAD CREATE EXTENSION thread ptr define TX THREAD DELETE EXTENSION thread ptr define TX THREAD COMPLETED EXTENSION thread ptr define TX THREAD TERMINATED EXTENSION
125. define TX TRACE BYTE POOL CREATE 21 E pool ptr I2 start ptr 13 pool size I4 stack ptr R define TX TRACE BYTE POOL DELETE 22 j pool ptr 2 stack ptr f define TX TRACE BYTE POOL INFO GET 23 pool ptr define TX TRACE BYTE POOL PERFORMANCE INFO GET 24 7 pool ptr XI define TX TRACE BYTE POOL PERFORMANCE SYSTEM INFO GET 25 None 7 define TX TRACE BYTE POOL PRIORITIZE 26 pm pool ptr I2 suspended count I3 stack ptr me f define TX TRACE BYTE RELEASE 27 PE pool ptr I2 memory ptr I3 suspended I4 available bytes f define TX TRACE EVENT FLAGS CREATE 30 group ptr I2 stack ptr x define TX TRACE EVENT FLAGS DELETE 31 group ptr I2 stack ptr define TX TRACE EVENT FLAGS GET 32 qe group ptr I2 requested flags I3 current flags I4 get option define TX TRACE EVENT FLAGS INFO GET 33 group ptr A define TX TRACE EVENT FLAGS PERFORMANCE INFO GET 34 group ptr define TX TRACE EVENT FLAGS PERFORMANCE SYSTEM INFO GET 35 None af define TX TRACE EVENT FLAGS SET 36 j group ptr I2 flags to set I3 set option I4 suspended count define TX TRACE EVENT FLAGS SET NOTIFY 37 e group ptr i define TX TRACE INTERRUPT CONTROL 40 g new interrupt posture I2 stack ptr Xd define TX TRACE MUTEX CREATE 50 ae mutex ptr I2 inheritance I3 stack ptr define TX_TRACE MUTEX DELETE 51 ye mutex ptr 12 stack ptr XI define TX TRACE MUTEX GET 52 mutex ptr I2 wait option I3
126. define TX TRACE TIME SOURCE tx trace simulated time Express Logic Inc 244 endif ifndef TX TRACE TIME MASK define TX TRACE TIME MASK OxFFFFFFFFUL endif Define the port specific options for the tx build options variable This variable indicates how the ThreadX library was built ifdef TX ENABLE FIQ SUPPORT define TX FIQ ENABLED 1 felse define TX FIQ ENABLED 0 fendif ifdef TX ENABLE IRQ NESTING define TX IRQ NESTING ENABLED 2 felse define TX IRQ NESTING ENABLED 0 fendif ifdef TX ENABLE FIQ NESTING define TX FIQ NESTING ENABLED 4 telse define TX FIQ NESTING ENABLED 0 fendif define TX PORT SPECIFIC BUILD OPTIONS TX FIQ ENABLED TX IRQ NESTING ENABLED TX FIQ NESTING ENABLED Define the in line initialization constant so that modules with in line initialization capabilities can prevent their initialization from being a function call define TX INLINE INITIALIZATION Determine whether or not stack checking is enabled By default ThreadX stack checking is disabled When the following is defined ThreadX thread stack checking is enabled If stack checking is enabled TX ENABLE STACK CHECKING is defined the TX DISABLE STACK FILLING define is negated thereby forcing the stack fill which is necessary for the stack checking logic if
127. dia capacity get Icon Description This event represents a USBX Host Class Storage Media Capacity Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Storage Media Mount ux host class storage media mount Icon H Description This event represents a USBX Host Class Storage Media Mount Event Information Fields Info Field 1 Class instance Info Field 2 Sector Info Field 3 Not used Info Field 4 Not used Host Class Storage Media Read ux host class storage media read Icon H Description This event represents a USBX Host Class Storage Media Read Event Information Fields Info Field 1 Class instance Info Field 2 Sector start Info Field 3 Sector count Info Field 4 Data pointer TraceX User Guide Host Class Storage Media Write ux host class storage media write Icon H Description This event represents a USBX Host Class Storage Media Write Event Information Fields Info Field 1 Class instance Info Field 2 Sector start Info Field 3 Sector count Info Field 4 Data pointer Host Class Storage Start Stop ux_host_class_storage_start_stop Icon H Description This event represents a USBX Host Class Storage Start Stop Event Information Fields Info Field 1 Class instance Info Field 2 Start stop signal Info Field 3 Not used Info Field 4 Not used Host Stack Class Instance Create ux_host_stack_
128. e Express Logic Inc 166 TCP Socket MSS Peer Get nx tcp socket mss peer get Icon Description This event represents getting the MSS value of the socket s peer via nx tcp socket mss peer get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Peer s MSS Info Field 4 Socket state TCP Socket Peer Info Get nx tcp socket peer info get Icon Description This event represents information retrieved from the TCP socket regarding the peer e g connecting host IP address and port via nx_tcp_socket_peer_info_get Information Fields Info Field 1 Pointer to TCP socket Info Field 2 Peer IP address Info Field 3 Peer port number Info Field 4 Not used TCP Socket Receive Notify nx_tcp_socket_receive_notify Icon H Description This event represents registering a receive notify callback for a socket via nx tcp socket receive notify Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to receive notify callback Info Field 4 Not used ant gt User Guide NetX Trace Events TCP Socket MSS Set Icon Description This event represents setting a socket s MSS via nx tcp socket mss set nx tcp socket mss set Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 MSS Info Field 4 Socket state TCP Socket Receive Icon Description This ev
129. e Publication Date Rev 5 October 2015 Renesas Synergy Platform User s Manual Software CENESAS Renesas Electronics Corporation R11UMO0009EUO0500
130. e bp Ei x9 gua eltrxcustom trxc Custom event icon definitions Events from 4096 through 65535 Format event number event name 2 letter abbreviation RGB color bottom RGB color top infol lable info Start 4096 First User Event FE 255 0 0 0 255 0 First Infol First Info2 First Info3 First Info4 4098 Second User Event SE 0 0 255 255 0 0 Second Infol Second Info2 Second Info3 Second Info4 End lt FIGURE 10 4 Since the eltrxcustom trxc file is read by TraceX during initialization TraceX must be exited and restarted before the custom icon definitions can take effect Figure 10 5 shows the TraceX display of user Express Logic Inc 228 Customer User Events defined events 202 and 203 with the custom event icons defined in eltrxcustom trxc iG TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx_user_events trx File View Options Help Je dag E ets Ph 2s Sequential View Time View Context Summary xA0000520 Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0xA00030F4 Priority Thread 0 0xA00001D4 Priority 1 Thread 1 0xA0000334 Priority 16 Thread 2 0xA0000520 Priority 16 Thread 3 0xA00026AC Priority 8 Thread 4 0xA0000284 Priority 8 Thread 5 0xA00003E4 Priority 4 Thread 6 0xA00005D0 Priority 8 Thread 7 0x000275C Priority 8 Logic Seats Purchased Registered to Express Log
131. e following command at the command line prompt in the debug command window memdump raw c release threadx demo threadx trx event buffer 32768 Upon completion the file demo threadx trx will contain the trace buffer that is located in the event buffer with a size of 32 768 bytes and is ready for viewing by TraceX Express Logic Inc 268 Renesas HEW The trace buffer can be dumped to a host file easily with the Renasas HEW tools by following the three steps and sub steps below Step 1 Open Memory Window F ott uas zz l6 10 40 8 2 abe a 16 32 Address FFF80610 54 58 54 42 OO OO FF FF FF F8 06 10 FF F8 06 40 TXTB FFF80620 00 00 OO 20 FF F8 Oc 40 FF F8 Oc 40 FF F8 26 OO 6 FFF80630 FF F8 15 A0 AA AA AA AA BB BB BB BB CC CC CC CC en FFF80640 00 O1 O0 OO FF FS 28 94 FF FS 29 48 OO OO OF FC Eee tHe 6 FFF80650 53 79 73 74 65 6D 20 54 69 6D 65 72 20 54 68 72 System Timer Thr FFF80660 65 61 64 OO OO OO OO OO 00 DO 00 00 OO 00 00 OO ead FFFS80670 00 08 OO OO FF F8 05 88 OO OO 23 A0 OO OO OO OO 8 FFF80680 62 79 74 65 20 70 6F 6F 6C 20 30 00 OO OO OO OO byte pool O FFF80690 00 OO OO OO OO 00 OO OO OO OO 00 00 OO OO OO OO FFFS0640 00 01 00 OO FF F8 OO OO FF F8 31 D4 O0 OO 03 FC Lime a FFF806B0 74 68 72 65 61 64 20 41 00 OO OO OO OO OO OO OO thread A FFF806cO 00 OO OO 00 OO OO 00 OO 00 00 00 00 OO 00 OO OO
132. e in the first four byes of memory is 0x54 0x58 0x54 0x42 the event trace buffer was written in big endian format Otherwise the event trace buffer was written in little endian format Timer Valid Mask The timer valid mask defines how many bits of the time stamp in the actual event trace entries are valid For example if the time stamp source has 16 bits the value in this field should be OxFFFF A 32 bit time stamp source would have a value of OXFFFFFFFF This value is defined by the TX TRACE TIME MASK constant in tx port h Express Logic Inc 234 Trace Base Address Registry Start and End Pointers Registry Name Size Buffer Start and End Pointers Format of Event Trace Buffer The trace buffer base address is the address the application specified as the start of the trace buffer in the tx_trace_enable call This address is maintained for the sole use of the analysis tool to derive buffer relative offsets for the various elements in the buffer For example the buffer relative offset of the current event in the trace buffer is calculated by simple subtraction of the base address from the current event address The registry start pointer points to the address of the first object registry entry while the registry end pointer points to the address immediately following the last register entry These values are setup during the tx trace enable processing and are not changed throughout the duration of tracing Th
133. e registry name size defines maximum size in bytes for each object name in the registry entry and is defined by the symbol TX TRACE OBJECT REGISTRY NAME The default value is 32 and is defined in tx trace h The object name corresponds to the name given by the application when the object was created For example the object registry name for a thread is the name supplied by the application to the tx thread create call The event trace buffer start pointer points to the address of the first trace entry while the registry end pointer points to the address immediately following the last trace entry These values are setup during the tx trace enable processing and are not changed throughout the duration of tracing ant gt User Guide TraceX User Guide 235 Current Buffer The event trace buffer current pointer points to the Pointer address of the oldest trace entry Since the trace entries are maintained in a circular list the current buffer pointer is also represents the next trace entry to be written Event Trace Object Registry The event trace object registry contains n object registry entries that correspond to the objects created by the application The main purpose of the object registry is for external analysis tools to correlate actual object names with the object addresses of the trace buffer entries The number of registry entries is specified by the application in the tx_trace_enable call Each object register entry
134. ed counter 000 00001378 Address hwsetup h T 00000000000000000000000000000 Fi Scroll Area tetri th 3 2 iodefine h etrieve a message from the queue i 00000000 E rsk7286def h Register itus tx queue receive amp queue amp received message TX WAIT FOREVER S E 00000000 B stacksct h S tx_apih SEE in eas Check completion status 00000000 E tx porth SUUM are status TX SUCCESS 00000000 E tx user h Refresh break 00000000 ig typedefine h 0000138c Lock Refresh vecth ead messages received 00000000 Data Length 00000000000001000000000000000 Radix 00000000 0 000000e 000 00000000 0 000000e 000 jad AA entry ULONG thread input 00000000 0 000000e 000 00000000 0 000000e 000 00000000 0 000000e 000 Coverage 00000000 0 000000e 000 Load ck BA g ay x we Split Address Type Te a B va thread A counter FFFSOSEC ULONG l 0 s ERE os thread B counter FFF805FO0 ULONG FFF80630 Aj Customize toolbar FF RDEAD thread C counter FFF805F4 ULONG FFFB80650 21 Allow Docking thread D messages sent FFF80608 ULONG FFF80660 O Hide trace buffer TXTB FFF80610 UCHAR 81 FFF80670 88 UU UU FFF80680 6F 6C 20 FFF80690 oo oo 00 FFFB806AD O0 FF F8 FEF806B0 41 00 00 FFF806C0 oo 00 00 FFF806D0 AQ FF F8 FFF806E0 41 41 00 FFFB806F0 oo 00 00 4 FEF80700 A8 FF F8 _b Watch1 Watch2 Watch3 Watch4 ET ESLESLEZL ne
135. ed Info Field 4 Not used ICMP Ping Icon H nx icmp ping Description This event represents pinging a target IP address via nx icmp ping Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Pointer to data Info Field 4 Size of data eats gt User Guide NetX Trace Events Duo UDP Source Send nxd udp source send event Icon H Description This event represents enabling checksum processing on a socket via nxd udp source send Information Fields Info Field 1 Pointer to IP socket Info Field 2 Pointer to packet Info Field 3 Packet Size Info Field 4 IP Address ICMP Information Get Icon H Description This event represents getting information via nx icmp info get nx icmp info get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pings sent Info Field 3 Ping responses Info Field 4 Pings received IGMP Enable Icon Description This event represents enabling IGMP via nx igmp enable nx igmp enable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide IGMP Information Get Icon Description This event represents getting information via nx igmp info get nx igmp info get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Reports sent Info Field 3 Queries received Info Field 4 Groups joined
136. eere FPE DIS ob hits pereo nere LS Tras inte pr rie 14 et TraceX User Guide 265 Step 4 This highlights the contents of the first location of the trace buffer which is always the string BTXT HER i Memory Address Virtual 00 01 02 03 04 os 06 07 os 09 oa oB oc op oF oF 05 00 AO 20 05 00 AO OO OO OO OO 90 4F 00 AO 0000 0590 0000 05AO 0000 05B0 0000 05CO 0000 05DO 0000 OSEO 0000 05F0 0000 0600 0000 0610 0000 0620 0000 0630 0000 0640 0000 0650 0000 0660 0000 0670 0000 0680 0000 0690 0000 06A0 0000 0650 0000 06CO 0000 06D0 0000 O6EO 0000 06F0 0000 0700 0000 0710 0000 0720 0000 0730 0000 0740 0000 0750 0000 0760 0000 0770 0000 0780 0000 0790 0000 07AO 0000 07BO 0000 07CO 0000 07DO A000 0590 A000 05A0 A000 05B0 A000 05C0 A000 05D0 A000 OSEO A000 OSFO A000 0600 A000 0610 A000 0620 A000 0630 A000 0640 A000 0650 A000 0660 A000 0670 A000 0680 A000 0690 A000 06A0 A000 0650 A000 O6CO A000 O6DO A000 O6EO A000 06F0 A000 0700 A000 0710 A000 0720 A000 0730 A000 0740 A000 0750 A000 0760 A000 0770 A000 0780 A000 0790 A000 07A0 A000 07B0 A000 07CO A000 07DO Data View Code View 20 00 00 00 44 8F DO 04 00 00 F DO 00 00 00 4D DC E8 DC AA F4 65 00 78 20 00 D4 61 00 34 61 00 20 61 00 AC 00 00 00 52 6F 05 00 00 00 26 05 00 00 00 49 OE 28 FE oc BA 30 6D 00 01 70 00 01 64 00 03 64
137. ended on the mutex Info Field 3 Stack pointer at time of call Info Field 4 Not used Queue Create Icon LS Description This event represents creating a message queue via tx queue create tx queue create Information Fields Info Field 1 Pointer to queue control block Info Field 2 Size of message in terms of 32 bit words Info Field 3 Pointer to start of queue memory area Info Field 4 Number of bytes in the queue memory area Express Logic Inc 108 Queue Delete Icon E Description This event represents deleting a queue via tx queue delete tx queue delete Information Fields Info Field 1 Pointer to queue Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Queue Front Send Icon E Description This event represents sending a message to the front of a queue via tx_queue_front_send tx_queue_front_send Information Fields Info Field 1 Pointer to queue Info Field 2 Pointer to start of message Info Field 3 Wait option supplied to the tx_queue_front_send call Info Field 4 Number of messages already enqueued Queue Performance Info Get tx_queue_performance_info_get Icon Description This event represents getting performance information about a queue via tx queue performance info get Information Fields Info Field 1 Pointer to queue Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide Th
138. ent Internal UDP send Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Word 0 of UDP header Internal RARP Send Icon H Description This event represents an internal NetX RARP send event Internal RARP send Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Target IP address Info Field 3 Pointer to packet Info Field 4 Word 1 of RARP header Internal TCP State Change Internal TCP state change Icon H Description This event represents an internal NetX TCP socket state change event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Previous state Info Field 4 New state 147 Internal RARP Receive Icon H Description This event represents an internal NetX RARP receive event Internal RARP receive Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Target IP address Info Field 3 Pointer to packet Info Field 4 Word 1 of RARP header Internal TCP Retry Internal TCP retry T Icon L Description This event represents an internal NetX TCP retry event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Field 4 Number of retries Internal I O Driver Packet Send Internal I O driver packet send Icon E Description This event
139. ent represents receiving data from a Socket via nx tcp socket receive nx tcp socket receive Information Fields Info Field 1 Pointer to socket Info Field 2 Pointer to received packet Info Field 3 Received packet length Info Field 4 Receive sequence number TCP Socket Send Icon H Description This event represents sending data on a socket via nx tcp socket send nx tcp socket send Information Fields Info Field 1 Pointer to socket Info Field 2 Pointer to packet Info Field 3 Length of packet Info Field 4 Transmit sequence number TraceX User Guide TCP Socket State Wait nx tcp socket state wait Icon Description This event represents waiting for a socket to enter a particular state via nx tcp socket state wait Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Desired socket state Info Field 4 Previous socket state TCP Socket Window Update Notify Set nx tcp window update notify set event Icon Description This event represents a TCP socket receiving notification of an increase in the remote host receive window via nx tcp window update notify set Information Fields Info Field 1 Pointer to TCP socket Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used UDP Free Port Find Icon nx_udp_free_port_find Description This event represents finding a free UDP port via nx udp free port find Information Fields Info Field
140. ents a USBX Host Class Pima Object Close Event Information Fields Info Field 1 Class instance Info Field 2 Object Info Field 3 Not used Info Field 4 Not used Host Class Pima Object Delete ux host class pima object delete Icon Description This event represents a USBX Host Class Pima Object Delete Event Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used 205 Host Class Pima Number Objects Get ux host class pima num objects get Icon Description This event represents a USBX Host Class Pima Number Objects Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Pima Object Copy ux host class pima object copy Icon Description This event represents a USBX Host Class Pima Object Copy Event Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used Host Class Pima Object Get ux host class pima object get Icon H Description This event represents getting RARP information via nx rarp info get Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Object Info Field 4 Not used Express Logic Inc 206 Host Class Pima Object Info Get ux host class pima object info get Icon H Description This event represe
141. es Tools Help Oo Bak J Search Wey Folders IES 37 X z i Address C Express_Logic TraceX_5 2 0 CustomEvents Folders Name E Ej Express Logic E TraceX 5 2 0 C3 CustomEvents ic docs cj TraceFiles c Utilities FIGURE 10 3 The eltrxcustom trxc custom event configuration file is a simple ASCII text file containing O or more custom event definitions The format of the file is as follows Comments Start custom event definition s End Each line between Start and End is used to defined a single custom event TraceX provides a template version of this file with no custom events defined nothing between the Start ant gt User Guide TraceX User Guide 225 and End labels The format of a custom event definition is as follows number name abbreviation top color bottom_color labell label2 label2 label4 where number Defines the user defined event number between 4096 and 65535 inclusive name Defines the logical name for the user defined event abbreviation Defines the 2 letter user defined event abbreviation top color Defines the RGB value for the top half of the icon which is a three digit number in parenthesis Some typical RGB definitions are BLACK 0 0 0 WHITE 255 255 255 RED 255 0 0 GREEN 0 255 0 BLUE 0 0 255 YELLOW 255 255 0 CYAN 0 255 255 MAGENTA 255 0 255 Using the RBG specification gives the user a broad range of col
142. es there were 39 media opens 39 media closes 39 media flushes 39 directory reads 39 directory writes and 39 directory cache misses There were also 39 file opens 39 file closes 1092 bytes read 1092 bytes written 195 logical sector reads 78 logical sector writes and 195 logical sector cache misses ets gt User Guide TraceX User Guide 65 NetX Statistics Selecting View gt NetX Statistics presents the NetX performance statistics of the currently loaded trace file This information is displayed for the entire system The performance statistics of the sample NetX demonstration trace are shown in Figure 4 10 i TraceX NetX Statistics MALE Occurrences ARP Statistics ARP Requests Sent ARP Responses Sent ARP Requests Received ARP Responses Received Packet Pool Statistics Packet Pool Allocations Packet Pool Releases Empty Allocation Requests Packet Pool Invalid Releases Ping Statistics Pings Sent Ping Responses IP Statistics IP Packets Sent Total Bytes Sent IP Packets Received Total Bytes Received TCP Statistics TCP Client Connections TCP Server Connections TCP Packets Sent TCP Bytes Sent TCP Packets Received TCP Bytes Received UDP Statistics UDP Packets Sent UDP Bytes Sent UDP Packets Received UDP Bytes Received FIGURE 4 10 Express Logic Inc 66 TraceX Performance Analysis The example shown in Figure 4 10 indicates there were no ARP Ping or UDP events
143. escription This event represents a media volume set event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to volume name Info Field 3 Not used Info Field 4 Not used System Date Get fx system date get Icon LZ Description This event represents a system date get event Information Fields Info Field 1 Year Info Field 2 Month Info Field 3 Day Info Field 4 Not used System Initialize fx system initialize Icon H Description This event represents a system initialize event Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 132 System Time Get fx system time get Icon Le Description This event represents a system time get event Information Fields Info Field 1 Hour Info Field 2 Minute Info Field 3 Second Info Field 4 Not used Unicode Directory Create fx_unicode_directory_create Icon S Description This event represents a Unicode directory create event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to Unicode name Info Field 3 Size of Unicode name Info Field 4 Pointer to short name Unicode File Create Icon H Description This event represents a Unicode file create event fx unicode file create Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to the Unicode name Info Field 3
144. esents a USBX Device Class Dpump Write Event Information Fields Info Field 1 Class Instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Device Class Hid Deactivate ux_device_class_hid_deactivate Icon H Description This event represents a USBX Device Class Hid Deactivate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Hid Event Get ux device class hid event get Icon H Description This event represents a USBX Device Class Hid Event Get Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Device Class Hid Event Set ux device class hid event set Icon L Description This event represents a USBX Device Class Hid Event Set Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Hid Report Set ux_device_class_hid_report_set Icon H Description This event represents a USBX Device Class Hid Report Set Event Information Fields Info Field 1 Class Instance Info Field 2 Descriptor type Info Field 3 Request index Info Field 4 Not used Device Class Pima Deactivate ux device class pima deactivate Icon L Description This event represents a USBX Device Class Pima Deactivate Event Information
145. esource Free ux host stack device resource free Icon H Description This event represents a USBX Host Stack Device Resource Free Event Information Fields Info Field 1 Device Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 216 Host Stack Endpoint Instance Create ux host stack endpoint instance create Description This event represents a USBX Host Stack Endpoint Instance Create Event Information Fields Info Field 1 Device Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Stack Endpoint Reset ux host stack endpoint reset Icon Description This event represents a USBX Host Stack Endpoint Reset Event Information Fields Info Field 1 Device Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Stack Host Controller Register ux host stack hcd register Icon H Description This event represents a USBX Host Stack Host Controller Register Information Fields Info Field 1 Hcd Name Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant gt User Guide USBX Trace Events Host Stack Endpoint Instance Delete ux_host_stack_endpoint_instance_delete Icon LJ Description This event represents a USBX Host Stack Endpoint Instance Delete Event Information Fields Info Field 1 Device Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Stack Endpoin
146. evice Descriptor Read ux_host_stack_device_descriptor_read Host Stack Device Get ux_host_stack_device_get Host Stack Device Remove ux_host_stack_device_get Host Stack Device Resource Free ux_host_stack_device_resource_free Host Stack Endpoint Instance Create ux_host_stack_endpoint_instance_create Host Stack Endpoint Instance Delete ux_host_stack_endpoint_instance_delete Host Stack Endpoint Reset ux_host_stack_endpoint_reset Host Stack Endpoint Transfer Abort ux_host_stack_endpoint_transfer_abort Host Stack Host Controller Register ux_host_stack_hcd_register Host Stack Initialize ux_host_stack_initialize Host Stack Interface Endpoint Get ux_host_stack_interface_endpoint_get Host Stack Interface Instance Create ux_host_stack_interface_instance_create Host Stack Interface Instance Delete ux_host_stack_interface_instance_delete Host Stack Interface Set ux_host_stack_interface_set Host Stack Interface Setting Select ux_host_stack_interface_setting select Host Stack New Configuration Create ux_host_stack_new_configuration_create Host Stack New Device Create ux_host_stack_new_device_create Host Stack New Endpoint Create ux_host_stack_new_endpoint_create Host Stack Root Hub Change Process ux_host_stack_rh_change_process Host Stack Root Hub Device Extraction ux_host_stack_rh_device_extraction Host Stack Root Hub Device Insertion ux_host_stack_rh_device_insertion Host Stack Transfer Request ux_host_stack_transfe
147. eving mutex information via t amp mutex info get tx mutex info get Information Fields Info Field 1 Pointer to mutex Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Mutex Performance System Info Get tx mutex performance system info get Icon Description This event represents retrieving mutex system performance information via tx mutex performance system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Mutex Put Icon tx mutex put Description This event represents releasing a previously owned mutex via tx mutex put Information Fields Info Field 1 Pointer to corresponding mutex Info Field 2 Pointer of thread owning the mutex Info Field 3 Number of outstanding mutex get requests Info Field 4 Stack pointer at time of call 107 Mutex Performance Information Get tx mutex performance info get Icon U Description This event represents retrieving mutex performance information via tx mutex performance info get Information Fields Info Field 1 Pointer to mutex Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Mutex Prioritize Icon H Description This event represents prioritizing the mutex s suspension list via tx mutex prioritize tx mutex prioritize Information Fields Info Field 1 Pointer to corresponding mutex Info Field 2 Number of threads currently susp
148. ew Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 _ Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 egistered to Express Logic Seats Purchased FIGURE 3 21 ets gt User Guide TraceX User Guide 51 it TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help 40 dd Qe Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0400015094 Priority 0 __ 8581 107 26ps Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005424 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic Context thread 2 Priority 16 Relative Time 113309 1416 36 us Raw Time Stamp Ox0000FBC2 Event tx queue receive 68 Queue Ptr Ox00005B74 queue 0 Destination Ptr 0x00018498 Wait Option OxFFFFFFFF TX WAITWFOREVER Enque
149. f application ThreadX objects to keep in the trace registry The registry is used to correlate object addresses with object names This is highly useful for GUI trace analysis tools Return Values TX SUCCESS 0x00 Successful event trace enable TX SIZE ERROR 0x05 Specified trace buffer size is too small It must be large enough for the trace header the object registry and at least one trace entry ets gt User Guide TraceX User Guide 75 TX NOT DONE 0x20 Event tracing was already enabled TX FEATURE NOT ENABLED OxFF System was not compiled with trace enabled Allowed From Initialization and threads Example UCHAR my trace buffer 64000 Enable event tracing using the global my trace buffer memory and supporting a maximum of 30 ThreadX objects in the registry status tx trace enable amp my trace buffer 64000 30 If status is TX SUCCESS the event tracing is enabled See Also tx trace event filter tx trace event unfilter tx trace disable tx trace isr enter insert tx trace isr exit insert tx trace buffer full notify tx trace user event insert Express Logic Inc 76 Generating Trace Buffers tx trace event filter Filter specified events Prototype UINT tx trace event filter ULONG event filter bits Description This service filters the specified event s from being inserted into the active trace buffer Note that by default no events are filtered after ix t
150. field contains the thread priority and preemption threshold of the thread that was running at the time of this event If an interrupt context is present thread pointer is OXFFFFFFFF the value of this field is not the priority but instead the value of _tx_thread_current_ptr at the time of the event Otherwise the value of this field is O The event ID specifies the event that took place Valid ThreadX trace event IDs range from 1 through 1024 Values starting at 1025 and above are reserved for user specific events Please refer to the tx trace h file for the complete definition of ThreadX event IDs The information fields contain additional information about the specific event Please refer to the tx trace h file for the complete description of the information fields for each of the defined ThreadX event IDs Express Logic Inc 240 Format of Event Trace Buffer ets gt User Guide This chapter displays a sample tx_port h file Express Logic Inc 242 OK KK KK A AA KKK KKK KKK AA kA ckokckckckckokokck ck ck kokokck ck ck kokck kk 1 Copyright c 1996 2006 by Express Logic Inc w T kE This software is copyrighted by and is the sole property of Express x Logic Inc All rights title ownership or other interests ay in the software remain the property of Express Logic Inc This my software may only be used in accordance with the corresponding license agreement Any
151. for the same microprocessor ThreadX does not directly use native C data types Instead ThreadX creates its Ry own special types that can be mapped to actual data types by this 7 file to guarantee consistency in the interface and functionality L ud RELEASE HISTORY ce ud y DATE NAME DESCRIPTION As 7 12 12 2005 William E Lamie Initial ARM7 RealView Support Version 5 0 fe ud KK KK Ck Ck kk Ck Ck kk kk kk KKK kk Ck Ck kk kk Ck kk kk Sk ko kk ck ck ckckckckckckckokokck ck ck kokokck ck ck kokck kk ifndef TX PORT H define TX PORT H Determine if the optional ThreadX user define file should be used ifdef TX INCLUDE USER DEFINE FILE ant gt User Guide TraceX User Guide 243 Yes include the user defines in tx user h The defines in this file may alternately be defined on the command line include tx user h endif Define compiler library include files include lt stdlib h gt include lt string h gt Define ThreadX basic types for this port define VOID void typedef char CHAR typedef unsigned char UCHAR typedef int INT typedef unsigned int UINT typedef long LONG typedef unsigned long ULONG typedef short SHORT typedef unsigned short USHORT Define the priority levels for ThreadX Legal values range from 32 to 1024 and MUST be evenly divisible by 32 ifndef TX MAX P
152. formance Analysis As mentioned previously specific threads can be selected for this analysis Figure 4 5 shows this analysis for thread 3 i TraceX Popular Services thread 3 0x0000582C HEL Occurrences Percent used Internal Thread Suspend 2 3 0 1596 tx thread sleep 112 2 0 1 tx semaphore put 88 0 05 Internal Thread Resume 1 0 05 tx semaphore get 83 0 05 LE D OU ON QU EU eee ee eee eee ee NN NU NN NU ee NN NOUS MM NN NU NU NU MM MM MM MM MM MM MM M M M MM M M M M M M NU M M NN M M M NN NU NN NU NN NI NN Nu Thread Stack Usage 4 Selecting the Generate Thread Stack Usage button or View gt Thread Stack Usage presents the stack usage for each thread in the trace file This is accomplished by ThreadX including the current thread stack pointer in many of the trace entries in the file A stack usage of 100 indicates the stack has overflowed and must be corrected in the ets gt User Guide TraceX User Guide 61 application If there is no thread execution within this trace file the stack usage for that thread is shown at 0 The thread stack usage in the sample ThreadX demonstration trace is shown in Figure 4 6 m it TraceX Thread Stack Usage ME Thread Name Stack Size Availability Usage Graph Event ID thread 7 Ox00005ACC 1024 B 11 33 514 thread 6 0x00005A24 1024 B 11 33 1069 System Timer Thread 0x00015D94 1024 i 10 55 408 thread 0 0x00005634 10
153. g and or possibly setup a new trace buffer The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters full buffer callback Application function to call when the trace buffer is full A value of NULL disables the notification callback Return Values None Allowed From ISRS ets gt User Guide TraceX User Guide 91 Example z trace is full void trace buffer start Application specific processing goes here Register th my trace 18 full function to b called whenever the trace buffer fills status tx trace buffer full notify my trace is full If status is TX SUCCESS the my trace is full function is registered See Also tx trace enable tx trace event filter tx trace event unfilter tx trace disable tx trace isr enter insert tx trace isr exit insert tx trace user event insert Express Logic Inc 92 Generating Trace Buffers tx trace user event insert Insert user event Prototype UINT tx trace user event insert ULONG event id ULONG info field 1 ULONG info field 2 ULONG info field 3 ULONG info field 4 Description This service inserts the user event into the trace buffer User event IDs must be greater than the constant TX TRACE USER EVENT START which is defined to be 4096 The maximum user event is defined by the constant TX TRACE USER EVENT END which is defined to be 65535 Al
154. ge ux host class prolific ioctl purge Icon H Description This event represents a USBX Host Class Prolific loctl Purge Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Prolific loct Send Break ux host class prolific ioctl send break Icon L Description This event represents a USBX Host Class Prolific loctl Send Break Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Host Class Prolific loctl Get Line Coding ux host class prolific ioctl get line coding Icon Description This event represents a USBX Host Class Prolific loctl Get Line Coding Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Prolific loct Report Device Status Change ux host class prolific ioctl report device status change Icon H Description This event represents a USBX Host Class Prolific loctl Report Device Status Change Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Prolific loctl Set Line Coding ux host class prolific ioctl set line coding Icon Description This event represents a USBX Host Class Prolific loctl Set Line Coding Even
155. host_wakeup Icon Description This event represents a USBX Device Stack Host Wakeup Event Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Interface Delete ux device stack interface delete Icon H Description This event represents a USBX Device Stack Interface Delete Event Information Fields Info Field 1 Interface Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Interface Set ux device stack interface set Icon Description This event represents a USBX Device Stack Interface Set Event Information Fields Info Field 1 Request value Info Field 2 Request index Info Field 3 Not used Info Field 4 Not used TraceX User Guide Device Stack Set Feature ux device stack set feature Icon H Description This event represents a USBX Device Stack Set Feature Event Information Fields Info Field 1 Request value Info Field 2 Request index Info Field 3 Not used Info Field 4 Not used Device Stack Transfer All Request Abort ux_device_stack_transfer_all_request_abort Icon Description This event represents a USBX Device Stack Transfer All Request Abort Event Information Fields Info Field 1 Endpoint Info Field 2 Completion code Info Field 3 Not used Info Field 4 Not used Host Class Asix Activate ux_host_class_asix_activate Icon H Description This event represen
156. ic FIGURE 10 5 The additional information in the custom event definition is shown when the event is selected via a double click mouse over or selection of the current event button Figure 10 6 shows the double click selection on event 202 Note that the event name ets gt User Guide C TraceX 5 File View Options Help 9 0 433 a 0 Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0xA00030F4 Priority Thread 0 0xA00001D4 Priority 1 Thread 1 0xA0000334 Priority 16 Thread 2 0xA0000520 Priority 16 Thread 3 0xA00026AC Priority 8 Thread 4 0xA0000284 Priority 8 Thread 5 0xA00003E4 Priority 4 Thread 6 0xA00005D0 Priority 8 Thread 7 0xA000275C Priority 8 Registered to Express Logic C Express_ TraceX User Guide 229 and information fields all match the sample definition that was added to eltrxcustom trxc Logic TraceX_5 TraceFiles demo_threadx_user_events trx IXA0000520 1121117 RRRRRR 140 09900909 RRRRRR QQ RR 15 Event ID 202 Context thread 0 Priority 1 Relative Time 23312 Raw Time Stamp 0x00092B29 SEJ Event First User Event 4096 A First_Infol 0x00000001 First Info2 0x00000002 First Info3 0x00000003 First Info4 0x00000004 Next Context thread 0 0xA00001D4 Delta Previous 152 ticks
157. ic steps to install and use TraceX to analyze your application right out of the box Describes the main features of TraceX Details performance analysis features of TraceX Describes how to set up ThreadX FileX and NetX in order to generate a trace buffer that is viewable by TraceX Express Logic Inc 8 About This Guide Chapter 6 Describes TraceX events in detail Chapter 7 Describes FileX events in detail Chapter 8 Describes NetX events in detail Chapter 9 Describes USBX events in detail Chapter 10 Describes creating custom user events in detail Chapter 11 Describes the internal trace buffer in detail Appendix A ThreadX port specific file with its time stamp source for gathering trace events Appendix B ThreadX tx trace h file that shows implementation details regarding the event trace buffer Appendix C Summarizes command line utilities for converting various file formats into proper TraceX binary files Appendix D Examples of dumping trace files from various development tools Index Topic cross reference ets gt User Guide TraceX User Guide Guide Conventions Italics Typeface denotes book titles emphasizes important words and indicates variables Boldface Typeface denotes file names key words and further emphasizes important words and variables Indicates a specific area of gt interest in screenshots of the TraceX graphic user interface GUI e Indicate informat
158. ields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Field 4 Not used Host Class Hid Report Set ux host class hid report set Icon H Description This event represents a USBX Host Class Hid Report Set Information Fields Info Field 1 Class instance Info Field 2 Client report Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Hub Activate ux host class hub activate Icon H Description This event represents a USBX Host Class Hub Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hub Deactivate ux host class hub deactivate Icon H Description This event represents a USBX Host Class Hub Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hub Port Change Enable Process ux host class hub port change enable process Icon Description This event represents a USBX Host Class Hub Port Change Enable Process Event Information Fields Info Field 1 Class instance Info Field 2 Port Info Field 3 Port status Info Field 4 Not used 203 Host Class Hub Change Detect ux host class hub change detect Icon Description This event represents a USBX Host Class Hub Change Detect Event Information Fields Info Field 1 Class instan
159. ion This event represents a USBX Host Stack Root Hub Device Insertion Information Fields Info Field 1 Hcd Info Field 2 Port index Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Host Stack New Endpoint Create ux_host_stack_new_endpoint_create Description This event represents a USBX Host Stack New Endpoint Create Event Information Fields Info Field 1 Interface Info Field 2 Endpoint Info Field 3 Not used Info Field 4 Not used Host Stack Root Hub Device Extraction ux_host_stack_rh_device_extraction Icon Description This event represents a USBX Host Stack Root Hub Device Extraction Event Information Fields Info Field 1 Hcd Info Field 2 Port index Info Field 3 Not used Info Field 4 Not used Host Stack Transfer Request ux host stack transfer request Icon H Description This event represents a USBX Host Stack Transfer Request Information Fields Info Field 1 Device Info Field 2 Endpoint Info Field 3 Transfer request Info Field 4 Not used TraceX User Guide 219 Host Stack Transfer Request Abort USB Error Internal I O driver get status ux error Icon H Icon Description Description This event represents a USBX Host Stack This event represents a USBX Error Event Transfer Request Abort Information Fields Information Fields Info Field 1 USBX error Info Field 1 Device Info Field 2 Error Name Info Field 2 Endpoint
160. ion of note Customer Support Center Latest Product Information Support 858 613 6640 engineers Support fax 858 521 4259 Support email support expresslogic com Web page http www expresslogic com Visit the Express Logic web site and select the Support menu option to find the latest support information including information about the latest TraceX product releases Express Logic Inc 10 About This Guide What We Need To more efficiently resolve your support request From You provide us with the following in your email request e A detailed description of the problem including frequency of occurrence and whether it can be reliably reproduced e An attached copy of the trace file causing the problem e The verision of TraceX you are using e The version of ThreadX you are using as well as the fx version id and tx build options variables in ThreadX e The version of FileX you are using including the _fx_ version id string e The version of NetX you are using including the nx version id string Where to Send The staff at Express Logic is always striving to Comments About provide you with better products To help us achieve This Guide this goal email any comments and suggestions to the Customer Support Center at support expresslogic com Enter TraceX User Guide in the subject line ets gt User Guide TraceX is a Microsoft system analysis tool that displays system event infor
161. ious preemption threshold Info Field 4 Thread s state at time of call Thread Relinquish Icon Description This event represents relinquishing the processor from a thread via tx_thread_relinquish tx_thread_relinquish Information Fields Info Field 1 Stack pointer at time of call Info Field 2 Pointer to the next thread to execute Info Field 3 Not used Info Field 4 Not used TraceX User Guide Thread Reset Icon Description This event represents resetting a completed or terminated thread via tx thread reset tx thread reset Information Fields Info Field 1 Pointer to thread Info Field 2 Thread s state at time of call Info Field 3 Not used Info Field 4 Not used Thread Sleep Icon Description This event represents suspending the current thread for a specified number of timer ticks via tx thread sleep tx thread sleep Information Fields Info Field 1 Number of ticks to suspend for Info Field 2 Thread s state at time of call Info Field 3 Stack pointer at time of call Info Field 4 Not used Thread Suspend Icon iS tx thread suspend Description This event represents suspending a thread via tx thread suspend Information Fields Info Field 1 Pointer to thread to suspend Info Field 2 Thread s state at time of call Info Field 3 Stack pointer at time of call Info Field 4 Not used 113 Thread Resume iz Icon IR Description This event represents resuming a
162. iration ticks Info Field 3 Reschedule expiration ticks Info Field 4 Automatic enable value either TX_AUTO_ACTIVATE 1 or TX_NO_ACTIVATE 0 Timer Delete Icon Ej Description This event represents deleting a timer via tx timer delete tx timer delete Information Fields Info Field 1 Pointer to timer Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Timer Performance Information Get tx timer performance info get Icon Description This event represents getting timer performance information via tx_timer_performance_info_get Information Fields Info Field 1 Pointer to timer Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Timer Deactivate Icon Lu Description This event represents deactivating a timer via tx_timer_deactivate tx_timer_deactivate Information Fields Info Field 1 Pointer to timer Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Timer Information Get Icon Description This event represents getting timer information via tx timer info get tx timer info get Information Fields Info Field 1 Pointer to timer Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Timer System Performance Info Get tx timer performance system info get Icon Description This event represents getting all timer performance information via tx timer performance
163. irectory next full entry find event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used Directory Short Name Get fx directory short name get Icon Description This event represents a directory short name get event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to long file name Info Field 3 Pointer to short file name Info Field 4 Not used File Create Icon Description This event represents a file create event fx_file_create Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to file name Info Field 3 Not used Info Field 4 Not used 127 Directory Rename fx_directory_rename event Icon L Description This event represents a directory rename event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to old directory name Info Field 3 Pointer to new directory name Info Field 4 Not used File Allocate Icon Description This event represents a file allocate event fx file allocate Information Fields Info Field 1 Pointer to the file Info Field 2 Requested size Info Field 3 Current size Info Field 4 New size File Date Time Set Icon E Description This event represents a file date time set event fx file date time set Information Fields Info Field 1 Pointer to the media Info Fiel
164. is accomplished by double clicking on multiple events Current Event Display TraceX displays the current event in a separate window when selected by the user via View gt Current Event or clicking on the current event button on the toolbar as shown in Figure 3 15 After selected TraceX displays the currently selected eats gt User Guide TraceX User Guide 45 event in a stand alone window and refreshes this window whenever another event is selected For example Figure 3 16 shows the contents for currently selected event 494 C TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help r e id 3 Qe ONE 4 4 44 494 Event K P P Sequential View Time View ede Event VIEN Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic Seats Purchased FIGURE 3 15 Ww Current Event Information m EJ Event ID 494 Context thread 2 Priority 16 Relative Time 113538 Raw Time Stamp Ox0000FADD Event tx queue receive 68 Queue Ptr Ox00005B74 queue 0 Desti
165. isplayed This information is detailed throughout the remainder of this chapter Express Logic Inc 44 Description of TraceX Detailed event information is also available by double clicking on any event Double clicking on event 494 is shown in Figure 3 14 i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle DD z System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 cec yt Blei Context thread 2 Priority 16 Thread 3 0x0000582C Priority 8 Relative Time 113538 Raw Time Stamp Ox0000FADD Thread 4 0x000058D4 Priority 8 U R Event tx_ queue receive 68 Thread 5 0x0000597C Priority 4 Queue Ptr 0x00005B74 queue 0 ES Destination Ptr 0x00018498 minonad 6 00005624 desert Rd Wait Option OxFFFFFFFF TX WAIT FOREVER Thread 7 0x00005ACC Priority 8 Enqueued 0x00000028 Next Context thread 2 0x00005784 Delta Previous 229 ticks Delta Next 243 ticks 2 Registered to Express Logic Seats Purchased FIGURE 3 14 Being able to view multiple events at once gives the user a much richer view of what happened Seeing them side by side is quite useful since many events are interrelated This
166. ity 16 Thread 3 0x0000582C Priority 8 m Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Alphabetic Sort Thread 6 0x00005A24 Priority 8 Creation Order Sort Thread 7 0x00005ACC Priority 8 Execution Time Sort Lowest Priority Sort Highest Priority Sort Most Events Sort Least Events Sort t4 Registered to Express Logic Seats Purchased FIGURE 3 9 Express Logic Inc 40 Description of TraceX Selecting Move to top results in the thread 3 context being moved to the top of the context list as shown in Figure 3 10 i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help n dag E ets Sequential View Time View Context Summary Event Summary Event ID Thread 3 0x0000582C Priority 8 Interrupt _ Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 _ Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic FIGURE 3 10 Thread Status Information When enabled TraceX displays the status of each thread via a colored line on the thread s context A green line indicates that the thread is in a ready
167. k k RR 7 J FCKCKCKCKCKCKCkCkCkCkCkCk Ck k ck ck k Kk kc KCKCKCKCKCKCKCKCkCk Ck kckck k k k K KCKCKCKCkCKCKCk Ck k ck ck k ck k ck ck K K CK CK Ck Ck ck ck KAKI ba Ef COMPONENT DEFINITION RELEASE tx trace h PORTABLE C xf hes 5 4 AUTHOR Sy William E Lamie Express Logic Inc LA x DESCRIPTION TU 7 This file defines the ThreadX trace component including constants El and structure definitions as well as external references It is f ee assumed that tx_api h and tx_port h have already been included x Js KT RELEASE HISTORY 7 Kr DATE NAME DESCRIPTION 7 x 12 12 2005 William E Lamie Initial Version 5 0 Rf 04 02 2007 William E Lamie Modified comment s 799 resulting in version 5 1 12 12 2008 William E Lamie Modified comment s added new event definitions p changed types to ensure the trace has universal format optimized event macro and added filter logic and new function prototypes KJ resulting in version 5 2 07 04 2009 William E Lamie Modified comment s removed FileX amp NetX event IDs since they are defined elsewhere 1 and corrected priority assignment in event trace resulting in version 5 3 12 12 2009 William E Lamie Modified comment s added 7 defines for default source and added logic to insert the thread s preemption threshold along
168. ket Info Field 4 Not used Internal ARP Response Send Internal ARP response send Icon H Description This event represents an internal NetX response send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Destination IP address Info Field 3 Pointer to packet Info Field 4 Not used Internal ICMP Send Icon Description This event represents an internal NetX ICMP send event Internal ICMP send Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Destination IP address Info Field 3 Pointer to packet Info Field 4 Word 0 of ICMP header TraceX User Guide Internal IGMP Receive Icon H Description This event represents an internal NetX IGMP receive event Internal IGMP receive Information Fields Info Field 1 IP Pointer Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Word 0 of IGMP header Internal IP Send Icon H Description This event represents an internal NetX IP send event Internal IP send Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Destination IP address Info Field 3 Pointer to packet Info Field 4 Packet length Internal TCP Data Send Internal TCP data send Icon H Description This event represents an internal NetX TCP data send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to socket Info Field 3 Pointer to packet Info Fiel
169. ket payload size Info Field 3 Pointer to pool memory area Info Field 4 Size of pool memory area Packet Pool Information Get nx packet pool info get Icon H Description This event represents getting packet pool information via nx_packet_pool_info_get Information Fields Info Field 1 Pointer to packet pool Info Field 2 Total packets Info Field 3 Available packets Info Field 4 Empty requests TraceX User Guide Packet Release nx packet release P Icon L Description This event represents releasing a packet via nx packet release Information Fields Info Field 1 Pointer to the packet Info Field 2 Packet status Info Field 3 Available packets Info Field 4 Not used RARP Disable Icon H Description This event represents disabling RARP via nx rarp disable nx rarp disable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used RARP Information Get Icon H Description This event represents getting RARP information via nx rarp info get nx rarp info get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Requests sent Info Field 3 Responses received Info Field 4 Invalid responses 163 Packet Transmit Release nx_packet_transmit_release T Icon L Description This event represents releasing a transmit packet via nx_packet_transmit_release Information Fields Info Field 1 Pointer to the p
170. l events within this range are available to the application The information fields are application specific The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters event id Application specific event identification and must start be greater than TX TRACE USER EVENT START and less than or equal to TX TRACE USER EVENT END info field 1 Application specific information field info field 2 Application specific information field info field 3 Application specific information field info field 4 Application specific information field Return Values TX SUCCESS 0x00 Successful user event insert TX NOT DONE 0x20 Event tracing is not enabled TX FEATURE NOT ENABLED OxFF The system was not compiled with trace enabled ant gt User Guide TraceX User Guide 93 Allowed From Initialization and threads Example Insert user event 3000 with info fields of 1 2 3 4 status tx trace user event insert 3000 1 2 3 4 If status is TX SUCCESS the user event was inserted See Also tx trace enable tx trace event filter tx trace event unfilter tx trace disable tx trace isr enter insert tx trace isr exit insert tx trace buffer full notify Express Logic Inc 94 Generating Trace Buffers ets gt User Guide This chapter describes the ThreadX events List of Events and Icons 96 em Event Descriptions 100 Exp
171. le Express Logic Inc 248 RER KK KK He RA kck KCKCKCKCkCKCKCK KKK KAKAK KKK kk js ET Copyright c 1996 2009 by Express Logic Inc Ef This software is copyrighted by and is the sole property of Express Logic Inc All rights title ownership or other interests 7 in the software remain the property of Express Logic Inc This ef software may only be used in accordance with the corresponding license agreement Any unauthorized use duplication transmission distribution or disclosure of this software is expressly forbidden ee x This Copyright notice may not be removed or modified without prior written consent of Express Logic Inc af KT Express Logic Inc reserves the right to modify this software 7 without notice dA pE Au Express Logic Inc info expresslogic com 11423 West Bernardo Court http www expresslogic com ef San Diego CA 92127 1 S BRK KK KK KK I XKX KC k Ck XKX XKX XKX XNXX KX XKX KNX XKX XKX 7 J KCKCKCKCKCKCKCkCkCkCkCkCk Ck k ck k ck Kk kc KCKCKCKCKCKCKCKCkCk Ck k k k k K k K KCKCKCKCkCKCKCk Ck k ck ck k ck k ck ck k K CK Ck Ck Ck ck ck k ck ckckck kk sk kk f RK KK KR e e XXX XKX Ck Ck Ck Ck kk Ck Ck kk Ck kk Ck Ck Ck Ck Kk Ck Ck kk kk Ck ko kk k 7 xx x ThreadX Component oe Trace S R BRK KK KK KK e e RK e e IK e e e e KC k e I k k k k kk k k k k k k k 7 RRR HK e k e e k e e e IK e e e k e e RR e
172. le format Note that TraceX V5 and above can open S Record files without converting them ets gt User Guide Dumping the trace buffer created by ThreadX to a file on the host computer is done via commands and or utilities provided by the specific development tool being used This appendix contains examples of dumping a trace buffer to a host file in some of the more popular development tools used with ThreadX m BenchX Tools 258 m RealView Tools 259 m AR Tools 259 m CodeWarrior Tools 260 m MPLAB Tools 261 m GHS Tools 267 m Renesas HEW 268 Express Logic Inc 258 BenchX Tools The trace buffer can be dumped to a host file easily with the BenchX tools by selecting the Store Memory To File button within the Memory View as shown below Variables amp Breakpoints Memory 22 biol Registers mL G All BRIS to Address i Values T Bc mr amp X ka Store Memory To File X amp event buffer 0x56E8 zHex a oS E dg C BUS2U T UU 42545854 FFFFFFFF 18570000 DUDU Z DUO U 15500000 Debeoooo DSi SOS DU 1 000 U S40 40000 gt At this point specify the trace buffer address size destination file name including path and select the Save button as shown below This will create the binary trace file for viewing within TraceX BENS Memory To File Save Cancel an User Guide TraceX User Guide 259 RealView Tools The trace
173. le events may be unfiltered by simply or ing together the appropriate constants ets gt User Guide TraceX User Guide 81 Valid constants for this variable are defined as follows TX_TRACE_ALL_EVENTS 0x000007FF TX TRACE INTERNAL EVENTS 0x00000001 TX TRACE BLOCK POOL EVENTS 0x00000002 TX TRACE BYTE POOL EVENTS 0x00000004 TX TRACE EVENT FLAGS EVENTS 0x00000008 TX TRACE INTERRUPT CONTROL EVENT 0x00000010 TX TRACE MUTEX EVENTS 0x00000020 TX TRACE QUEUE EVENTS 0x00000040 TX TRACE SEMAPHORE EVENTS 0x00000080 TX TRACE THREAD EVENTS 0x00000100 TX TRACE TIME EVENTS 0x00000200 TX TRACE TIMER EVENTS 0x00000400 FX TRACE ALL EVENTS 0x00007800 FX TRACE INTERNAL EVENTS 0x00000800 FX TRACE MEDIA EVENTS 0x00001000 FX TRACE DIRECTORY EVENTS 0x00002000 FX TRACE FILE EVENTS 0x00004000 NX TRACE ALL EVENTS OxOOFF8000 NX TRACE INTERNAL EVENTS 0x00008000 NX TRACE ARP EVENTS 0x00010000 NX TRACE ICMP EVENTS 0x00020000 NX TRACE IGMP EVENTS 0x00040000 NX TRACE IP EVENTS 0x00080000 NX TRACE PACKET EVENTS 0x00100000 NX TRACE RARP EVENTS 0x00200000 NX TRACE TCP EVENTS 0x00400000 NX TRACE UDP EVENTS 0x00800000 UX TRACE ALL EVENTS 0x7F000000 UX_TRACE_ERRORS 0x01000000 UX_TRACE_HOST_STACK_EVENTS 0x02000000 UX_TRACE_DEVICE_STACK_EVENTS 0x04000000 UX_TRACE_HOST_CONTROLLER_EVENTS 0x08000000 UX_TRACE_DEVICE_CONTROLLER_EVENTS 0x10000000 UX_TRACE_HOST_CLASS_EVENTS 0x20000000 UX_TRACE_DEVICE_CLASS_EVENTS 0x40000000
174. ler above the display area in Figure 3 4 It shows the relative event number from the beginning of the trace Express Logic Inc 34 Description of TraceX This mode is the default mode and is useful in getting a good overview of what is going on in the system Time View Mode The time view mode is selected by the Time View button Figure 3 5 shows the same event trace as Figure 3 4 except in time view mode In this mode events are shown in a time relative manner with the solid green bar being used to show execution between events This mode is useful to see where the bulk of processing is taking place in the system which can help developers tune their system for greater performance and or responsiveness x TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help JO di34 IA Al 444 5m REM be Sequential View Time View Context Summary 00005784 Interrupt Event Summary Q 2 R Time Ticks 113200 113300 113500 113700 113800 Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic Seats P
175. lication defined ISR number optional Info Field 3 Nested interrupt count Info Field 4 Internal preemption disable flag Express Logic Inc 102 Internal time slice Icon Description This event represents the internal processing in ThreadX that performs the time slice operation The next thread of the same priority is placed in the first information field If this value is the same as the current thread no time slice was performed Internal time slice Information Fields Info Field 1 Pointer to the next thread to execute Info Field 2 Nested interrupt count Info Field 3 Internal preemption disable flag Info Field 4 Stack pointer value during the call Block Allocate Icon Description This event represents allocating a memory block via tx_block_allocate If successful the address of the block allocated is returned in the second information field tx_block_allocate Information Fields Info Field 1 Pointer to the corresponding block pool Info Field 2 Pointer to the memory block returned if successful Info Field 3 The wait option supplied to the tx_block_allocate call Info Field 4 Remaining available blocks in the pool after this allocation Block Pool Delete Icon Description This event represents deleting a memory block pool via tx_block_pool_delete tx_block_pool_delete Information Fields Info Field 1 Pointer to the block pool control block Info Field 2 Stack poi
176. ma Read Event ux_host_class_pima_read Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Data length Info Field 4 Not used TraceX User Guide Host Class Pima Request Cancel ux host class pima request cancel Icon Description This event represents a USBX Host Class Pima Request Cancel Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Pima Session Open ux_host_class_pima_session_open Icon Description This event represents a USBX Host Class Pima Session Open Event Information Fields Info Field 1 Class instance Info Field 2 Pima session Info Field 3 Not used Info Field 4 Not used Host Class Pima Storage Info Get ux host class pima storage info get Icon Description This event represents a USBX Host Class Pima Storage Info Get Event Information Fields Info Field 1 Class instance Info Field 2 Storage ID Info Field 3 Storage Info Field 4 Not used 207 Host Class Pima Session Close ux host class pima session close Icon H Description This event represents a USBX Host Class Pima Session Close Event Information Fields Info Field 1 Class instance Info Field 2 Pima session Info Field 3 Not used Info Field 4 Not used Host Class Pima Storage Ids Get ux host class pima storage ids get Icon Description This event represents a USBX Ho
177. maphore get ix semaphore get Semaphore information get fx semaphore info get Semaphore performance information get tx semaphroe performance info get Semaphore system performance information get tx semaphore performance system info get Semaphore prioritize x semaphore prioritize E Ex 3 CI 25 3 CI CO 23 553 Ex EXE CE ET EXE EE EZ ES GK MS ET GISI EF Semaphore put fx semaphore put ets gt User Guide LEE CEJ PS Sn SS ka mS Na Sa BS eS Sp ae SS ES EE ES ml gt 6 CO TraceX User Guide Semaphore put notify tx semaphore put notify Thread create fx thread create Thread delete fx thread delete Thread exit entry notify tx thread entry exit notify Thread identify tx thread identify Thread information get ix thread info get Thread performance information get tx thread performance info get Thread performance system information get tx thread performance system info get Thread preemption change tx thread preemption change Thread priority change tx thread priority change Thread relinquish tx thread relinquish Thread reset tx thread reset Thread resume fx thread resume Thread Sleep tx thread sleep Thread stack error notify tx thread stack error notify Thread suspend fx thread suspend Thread terminate tx thread terminate Thread time slice change tx thread time slice change Thread wait abort tx thread wait abort Time get tx time get
178. mation gathered by ThreadX running on an embedded target The user is responsible for transferring the trace buffer stored in RAM in the embedded target to a binary file on the host computer The user can then open this file with TraceX and graphically analyze the target events diagnosing system problems and tuning a working application to improve performance and resource management This chapter describes the following em lraceX Requirements 12 em raceX Constraints 12 Express Logic Inc 12 Introduction to TraceX TraceX Requirements TraceX requires Windows XP or above The system should have a minimum of 192MB of RAM 2 GB of available hard disk space and a minimum display of 1024x768 with 256 colors In addition the application must be running on ThreadX V5 0 or later TraceX also requires the Microsoft NET framework be installed which the TraceX installer does automatically TraceX Constraints TraceX has the following constraints e TraceX files are limited to a maximum of 32 768 events roughly 1MB e The time stamp source must have reasonable resolution If the resolution is too low the events will overlap If the resolution is too high there is potential for long gaps between events e raceX cannot accurately measure intervals between events greater than the timer period ets gt User Guide This chapter contains a description of various issues related to installation setup and usage
179. mes greater than 32 characters are truncated Event Trace Entries The event trace entries are found in the bottom portion of the event trace buffer The entries are maintained in a circular list with the current entry pointer pointing to the oldest entry The number of entries in the list is calculated by the tx_trace_enable call Each object register entry contains information about a specific ThreadX trace event The following data structure defines each trace event entry typedef struct TX TRACE BUFFER ENTRY STRUCT ULONG ULONG ULONG ULONG ULONG ULONG ULONG ULONG tx trace buffer entry thread pointer tx trace buffer entry thread priority tx trace buffer entry event id tx trace buffer entry time stamp tx trace buffer entry information field 1 tx trace buffer entry information field 2 tx trace buffer entry information field 3 tx trace buffer entry information field 4 TX TRACE BUFFER ENTRY Thread Pointer The thread pointer contains the address of the thread running at the time of this event If the event occurred during initialization no thread running the value of this pointer is OXFOFOFOFO If the event occurred during an Interrupt Service Routine ISR the value of this pointer is OXFFFFFFFF If the entry has not yet been used the value of this pointer is O ant gt User Guide Thread Priority Event ID Information Fields 1 4 TraceX User Guide 239 The thread priority
180. n E Description This event represents an internal FileX directory entry write event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Boot Sector Read Internal I O driver boot sector read Icon H Description This event represents an internal FileX I O driver boot sector read event Information Fields Info Field 1 Pointer to the media Info Field 2 Buffer pointer Info Field 3 Not used Info Field 4 Not used eats gt User Guide FileX Trace Events Internal Directory Entry Read Internal directory entry read Icon H Description This event represents an internal FileX directory entry read event Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal 1 0 Driver Abort Icon Description This event represents an internal FileX I O driver abort event Internal I O driver abort Information Fields Info Field 1 Pointer to the media Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal 1 0 Driver Boot Sector Write Internal I O driver boot sector write Icon H Description This event represents an internal FileX I O driver boot sector write event Information Fields Info Field 1 Pointer to the media Info Field 2 Buffer pointer Info Field 3 Not used Info Field 4 Not used TraceX User
181. namic Entries Invalidate nx_arp_dynamic_entries_invalidate Icon Description This event represents invalidating all dynamic ARP entires via nx arp dynamic entries invalidate Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Entries invalidated Info Field 3 Not used Info Field 4 Not used ARP Enable Icon H Description This event represents enabling ARP via nx arp enable nx arp enable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 ARP cache memory pointer Info Field 3 ARP cache memory size Info Field 4 Not used ARP Hardware Address Find nx arp hardware address find Icon H Description This event represents finding a physical address via nx arp hardware address find Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Physical address MSW Info Field 4 Physical address LSW 151 ARP Dynamic Entry Set nx arp dynamic entry set Icon Description This event represents setting a dynamic ARP entry via nx arp dynamic entry set Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Physical address MSW Info Field 4 Physical address LSW ARP Gratuitous Send Icon H Description This event represents a gratuitous ARP send via nx arp gratuitous send nx arp gratuitous send Information Fields Info Field 1 Pointer to the IP instance Info Field 2
182. nation Ptr Ox00018498 fait Option OxFFFFFFFF TX WAIT FOREVER Enqueued Ox00000028 Next Context thread 2 0x00005784 Delta Previous 229 ticks Delta Mext 243 ticks FIGURE 3 16 Express Logic Inc 46 Description of TraceX Event Searching TraceX provides an extensive event search capability The event ID and information fields of each event are the primary search parameters Not specifying a value for a search parameter indicates that parameter effectively removes that parameter from of the search In addition the search can be done such that any parameter found will satisfy the search or all parameters must be found to satisfy the search The search may also be restricted to a particular context or cover all contexts in the trace Invoking the event search is done by selecting the Search by Value button on the toolbar as shown in Figure 3 17 When selected the search dialog is displayed which specifies all the parameters for the search The Next and Previous buttons in the search dialog can then be used to find the next and previous events that match the specified search criteria Figure 3 18 shows the search dialog i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx E 4 d 494 event P gt P 0 0 00 ps File View Options Help Sequential View Time View Search by Value Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority
183. nfo Field 2 Pointer to local path structure Info Field 3 Pointer to new path name Info Field 4 Not used Directory Name Test Icon i Description This event represents a directory name test event fx directory name test Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used eats gt User Guide FileX Trace Events Directory Local Path Restore fx_directory_local_path_restore event Icon L3 Description This event represents a directory local path restore event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to local path structure Info Field 3 Not used Info Field 4 Not used Directory Long Name Get fx_directory_long_name_get Icon Description This event represents a directory long name get event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to short file name Info Field 3 Pointer to long file name Info Field 4 Not used Directory Next Entry Find fx_directory_next_entry_find Icon H Description This event represents a directory next entry find event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used TraceX User Guide Directory Next Full Entry Find fx directory next full entry find event Icon Description This event represents a d
184. nfo Field 4 Not used TraceX User Guide Host Stack Device Configuration Get ux host stack device configuration get Icon L Description This event represents a USBX Host Stack Device Configuration Get Event Information Fields Info Field 1 Device Info Field 2 Configuration Info Field 3 Not used Info Field 4 Not used Host Stack Device Descriptor Read ux host stack device descriptor read Icon Description This event represents a USBX Host Stack Device Descriptor Read Event Information Fields Info Field 1 Device Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Device Remove ux host stack device remove Icon Description This event represents a USBX Host Stack Device Remove Event Information Fields Info Field 1 Hcd Info Field 2 Parent Info Field 3 Port Index Info Field 4 Device 215 Host Stack Device Configuration Select ux host stack device configuration select Icon Description This event represents a USBX Host Stack Device Configuration Select Event Information Fields Info Field 1 Device Info Field 2 Configuration Info Field 3 Not used Info Field 4 Not used Host Stack Device Get ux host stack device get Icon H Description This event represents a USBX Host Stack Device Get Event Information Fields Info Field 1 Device index Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Device R
185. nfo Get Event Information Fields Info Field 1 Class instance Info Field 2 Pima device Info Field 3 Not used Info Field 4 Not used ant gt User Guide USBX Trace Events Host Class Hub Port Change Suspend Process ux host class hub port change suspend process Icon L Description This event represents a USBX Host Class Hub Port Change Suspend Process Event Information Fields Info Field 1 Class instance Info Field 2 Port Info Field 3 Port status Info Field 4 Not used Host Class Pima Deactivate ux host class pima deactivate Icon H Description This event represents a USBX Host Class Pima Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Pima Device Reset ux_host_class_pima_device_reset Icon H Description This event represents a USBX Host Class Pima Device Reset Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Pima Notification ux host class pima notification Icon H Description This event represents a USBX Host Class Pima Notification Event Information Fields Info Field 1 Class instance Info Field 2 Event code Info Field 3 Transaction ID Info Field 4 Parameter1 Host Class Pima Object Close ux host class pima object close Icon H Description This event repres
186. ntains the time stamp of the event nformation Field 1 4 This 4 byte field contains the first 4 bytes of information Specific to the event nformation Field 2 4 This 4 byte field contains the second 4 bytes of information Specific to the event nformation Field 3 4 This 4 byte field contains the third 4 bytes of information Specific to the event nformation Field 4 4 This 4 byte field contains the fourth 4 bytes of information specific to the event define TX TRACE INVALID EVENT OxFFFFFFFFUL Define ThreadX Trace Events along with a brief description of the additional information fields where Il gt Information Field 1 I2 gt Information Field 2 etc Event numbers 0 through 4095 are reserved by Express Logic Specific event assignments are ThreadX events 1 199 FileX events NetX events USBX events 200 299 300 599 600 999 User defined event numbers start at 4096 and continue through 65535 as defined by the constants TX TRACE USER EVENT START and TX TRACE USER EVENT END respectively User events should be based on these constants in case the user event number assignment is changed in future releases Define the basic ThreadX thread scheduling events first define TX TRACE THREAD RESUME define TX TRACE THREAD SUSPEND define TX TRACE ISR ENTER 1 Il thread ptr I2 previous state I3 stack ptr I4 next thread Il thread ptr I2 new state I3 stack ptr I4 next
187. nter Internal I O Driver Write Icon J Description This event represents an internal FileX I O driver write event Internal 1 0 driver write Information Fields Info Field 1 Pointer to the media Info Field 2 Sector Info Field 3 Number of sectors Info Field 4 Buffer pointer Express Logic Inc 124 Internal Logical Sector Cache Miss Internal logical sector cache miss Icon LJ Description This event represents an internal FileX logical sector cache miss Information Fields Info Field 1 Pointer to the media Info Field 2 Sector Info Field 3 Total misses Info Field 4 Cache size File Attributes Read Icon Lz Description This event represents a file attributes read event fx_file_attributes_read Information Fields Info Field 1 Pointer to the media Info Field 2 Attributes bit map Read Only 0x01 Hidden System Volume Directory Archive Info Field 3 Not used Info Field 4 Not used 0x20 File Best Effort Allocate fx_file_best_effort_allocate Icon E Description This event represents a file best effort allocate event Information Fields Info Field 1 Pointer to the file Info Field 2 Requested size Info Field 3 Actual size allocated Info Field 4 Not used eats gt User Guide FileX Trace Events Internal Media Flush Icon H Description This event represents an internal FileX media flush Internal media flush Information Fields Info Field 1 Poin
188. nter value during the call Info Field 3 Not used Info Field 4 Not used ets gt User Guide ThreadX Trace Events Running Icon Description This event represents running within a thread context or idle system It is used to illustrate subsequent changes in context as a result of an interrupt Running in context Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Block Pool Create Icon Description This event represents creating a memory block pool via tx block pool create tx block pool create Information Fields Info Field 1 Pointer to the corresponding block pool control block Info Field 2 Pointer to the starting memory area of the pool Info Field 3 The number of blocks in the pool Info Field 4 The size of each block in the pool in bytes Block Pool Information Get tx block pool info get Icon Description This event represents getting information about a memory block pool via tx block pool info get Information Fields Info Field 1 Pointer to the block pool control block Info Field 2 Stack pointer value during the call Info Field 3 Not used Info Field 4 Not used TraceX User Guide 103 Block Pool Performance Information Get tx block pool performance info get Icon Description This event represents getting performance information about a memory block pool via tx block pool performance info get
189. ntered TraceX builds the raw trace file in text format and launches notepad exe to display it Figure 4 12 shows the raw trace file dump for the standard demo threadx trx trace file E raw_dump txt Notepad File Edit Format View Help Licensed to Registered to Express Logic Serial Number Serial Number INTERNAL USE ONLY Input Trace File cC Express_Logic Tracex_5 2 0 Traceriles demo_threadx trx output Trace File c Express_Logic Tracex_5 2 0 TraceFiles raw_dump txt Total Threads 9 Total Events 1998 Max Relative Ticks 00000000000000463517 Trace ID 42545854 Timer Mask OOOOFFFF Object Name Size 32 Trace Base Address 00005c94 Object Start 00005cc4 End 000062c4 Start 000062c4 End 00015c84 Oldest 00008604 Address Stack Total Events Name imer Thread Priority 0 0 Preemption Threshold Priority 1 1 Preemption Threshold Priority 16 16 Preemption Threshold 7 Priority 16 16 Preemption Threshold Priority 8 8 Preemption Threshold 7 7 Priority 8 8 Preemption Threshold 7 Priority 4 4 Preemption Threshold 7 Priority 8 8 Preemption Threshold 7 Priority 8 8 Preemption Threshold 7 00015094 00015E3C 0001623C 10 fier 4 t 00005634 000178AC 00017CAC read 000056DC 00017CB4 000180B4 950 thread 00005784 000180BC 000184BC 973 thread 0000582C 000184C4 000188c4 8 thread 000058D4 000188CC 00018ccc 10 thread 0000597C 00018CD4 000190D4
190. nts a USBX Host Class Pima Object Info Get Event Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Object Info Field 4 Not used Host Class Pima Object Move ux host class pima object move Icon H Description This event represents a USBX Host Class Pima Object Move Event Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Object Info Field 4 Not used Host Class Pima Object Transfer Abort ux host class pima object transfer abort Icon Description This event represents a USBX Host Class Pima Object Transfer Abort Event Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Object Info Field 4 Not used ets gt User Guide USBX Trace Events Host Class Pima Object Info Send ux_host_class_pima_object_info_send Icon Description This event represents a USBX Host Class Pima Object Info Send Event Information Fields Info Field 1 Class instance Info Field 2 Object Info Field 3 Not used Info Field 4 Not used Host Class Pima Object Send ux_host_class_pima_object_send Icon H Description This event represents a USBX Host Class Pima Object Send Event Information Fields Info Field 1 Class instance Info Field 2 Object Info Field 3 Object buffer Info Field 4 Object length Host Class Pima Read Icon H Description This event represents a USBX Host Class Pi
191. o Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 199 Host Class Cdc Acm loctl Set Line Coding ux host class cdc acm ioctl set line coding Icon L Description This event represents a USBX Host Class Cdc Acm loctl Set Line Coding Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Cdc Acm Read ux host class cdc acm read Icon H Description This event represents a USBX Host Class Cdc Acm Read Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested Length Info Field 4 Not used Host Class Cdc Acm Reception Stop ux host class cdc acm reception stop Icon Description This event represents a USBX Host Class Cdc Acm Reception Stop Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 200 Host Class Cdc Acm Write ux host class cdc acm write Icon H Description This event represents a USBX Host Class Cdc Acm Write Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested Length Info Field 4 Not used Host Class Dpump Deactivate ux host class dpump deactivate Icon H Description This event represents a USBX Host Class Dpump Deactivate Event Informati
192. o Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Read TOC ux device class storage read toc Icon H Description This event represents a USBX Device Class Storage Read TOC Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Start Stop ux device class storage start stop Icon H Description This event represents a USBX Device Class Storage Start Stop Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used 191 Device Class Storage Read Format Capacity ux device class storage read format capacity Icon Description This event represents a USBX Device Class Storage Read Format Capacity Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Request Sense ux device class storage request sense Icon Description This event represents a USBX Device Class Storage Request Sense Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Sense key Info Field 4 Code Device Class Storage Test Ready ux device class storage test ready Icon 4 Description This event represents a USBX Device Class Storage Test Ready Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info
193. o Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hid Idle Get ux host class hid idle get Icon H Description This event represents a USBX Host Class Hid Idle Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hid Keyboard Activate ux host class hid keyboard activate Icon H Description This event represents a USBX Host Class Hid Keyboard Activate Event Information Fields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Field 4 Not used 201 Host Class Hid Deactivate ux host class hid deactivate Icon H Description This event represents a USBX Host Class Hid Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hid Idle Set ux host class hid idle set Icon H Description This event represents a USBX Host Class Hid Idle Set Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Hid Keyboard Deactivate ux host class hid keyboard deactivate Icon Description This event represents a USBX Host Class Hid Keyboard Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Hid client instance Info Field 3 Not used Info Fiel
194. object reservedl Should be zero except for thread UCHAR tx trace object registry entry object reserved2 Should be zero except for thread J ULONG tx trace thread registry entry object pointer ThreadX object pointer kal ULONG tx trace object registry entry object parameter 1 Parameter value defined ULONG tx trace object registry entry object parameter 2 according to type above UCHAR tx trace thread registry entry object name TX TRACE OBJECT REGISTRY NAME TX TRACE OBJECT REGISTRY ENTRY Trace Buffer Entry The Trace Buffer Entry contains information about a particular event in the system The high level format of the Trace Buffer Entry is Entry Size Description Thread Pointer 4 This 4 byte field contains the pointer to the ThreadX thread running that caused the event If this field is NULL the entry hasn t been used yet If this field is OxFFFFFFFF the event occurred from within an ISR If this entry is OxFOFOFOFO the event occurred during initialization Thread Priority or 4 This 4 byte field contains the current thread pointer for interrupt Current Thread events or the thread preemption threshold priority for thread events Preemption Threshold Priority Event ID 4 This 4 byte field contains the Event ID of the event A value of OxFFFFFFFF indicates the event is invalid All events are marked as invalid during initialization Time Stamp 4 This 4 byte field co
195. of TraceX each core Figure 3 24 shows a trace the standard ThreadX demonstration running on a ThreadX SMP platform it TraceX 5 Multi Core C Express_Logic TraceX_5 TraceFiles demo_threadx_smp trx File View Options Help dl 3 E sts 25727 Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x800201FC Priority Thread 0 0x8001F808 Priority 1 Lcd thread 0x800200A8 Priority 2 Thread 1 0x8001F88C Priority 16 Thread 2 0x8001FC70 Priority 16 Thread 3 0x8001FD24 Priority 8 Thread 4 0x8001FDD8 Priority 8 Thread 5 0x8001FE8C Priority 4 Thread 6 0x8001FF40 Priority 8 Thread 7 0x8001FFF4 Priority 8 Interrupt Initialize Idle System Timer Thread 0x800201FC Priority Thread 0 0x8001FB08 Priority 1 Lcd thread 0x800200A8 Priority Thread 1 0x8001F8BC Priority 16 Thread 2 0x8001FC70 Priority 16 Thread 3 0x8001FD24 Priority 8 Thread 4 0x8001FDD8 Priority 8 Thread 5 0x8001FE8C Priority 4 Thread 6 0x8001FF40 Priority 8 Thread 7 0x8001FFF4 Priority 8 gt Seats Purchased Registered to Express Logic FIGURE 3 24 Especially take note of the core identification on the left side Each core contains the complete list of contexts such that all activities for all cores may be viewed together In this exam
196. of Unicode name Info Field 4 Pointer to short name Unicode Name Get Icon Description This event represents a Unicode name get event fx unicode name get Information Fields Info Field 1 Pointer to the media Info Field 2 Source short name Info Field 3 Destination Unicode name pointer Info Field 4 Destination Unicode name length Express Logic Inc 134 FileX Trace Events ant gt User Guide This chapter contains a description of the NetX events List of Events and Icons 136 em Event Descriptions 143 Express Logic Inc 136 NetX Trace Events List of Events and Icons The following is a list of NetX events displayed by TraceX Icon Meaning Internal ARP Request Receive Internal ARP Request Send Internal ARP Response Receive Internal ARP Response Send Internal ICMP Receive Internal ICMP Send Internal NetX IGMP Receive Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal Internal CO EX ELI LEJ CEJ CE GEI CK CO EX CL ELI EES EX EN CE EE ELI IP Receive IP Send TCP Data Receive TCP Data Send TCP FIN Receive TCP FIN Send TCP RST Receive TCP RST Send TCP SYN Receive TCP SYN Send UDP Receive UDP Send User Guide EO ELU GEI GEI LE ER CE CO Edad EXE ELO ELO CES CE Lad LS GEI CRI GEI ZR CE EEI Internal Internal Internal Internal Internal Internal
197. of the TraceX system analysis tool including the following m Product Distribution 14 em lraceX Installation Directory 14 m TraceX Installation 15 em Using TraceX 24 em raceX Examples 25 Express Logic Inc 14 Installation and Use of TraceX Product Distribution TraceX is shipped on a single CD ROM compatible disk The package includes an installation program Setup exe that automatically runs from the CD If the TraceX installer does not automatically run click on the Setup exe program manually to install TraceX The TraceX package also contains an example directory of pre built traces that should serve as a good starting point for new TraceX users The release notes associated with each new TraceX release can be found in the file readme tracex txt Review this file to see what has changed between successive TraceX releases TraceX Installation Directory TraceX by default is installed in the directory c ExpressLogic TraceX v where v is the version of TraceX being installed The default location for TraceX installation may be changed via the installa tion dialog as shown in the next section TraceX requires the Microsoft NET framework to e operate The installation of this is done automatically by the TraceX installer via the dialogs shown later in this chapter ets gt User Guide TraceX User Guide 15 TraceX Installation TraceX is easily installed as shown in Figure 2 1 through Figure 2 7
198. on Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Dpump Write ux host class dpump write Icon H Description This event represents a USBX Host Class Dpump Write Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used ant gt User Guide USBX Trace Events Host Class Dpump Activate ux host class dpump activate Icon H Description This event represents a USBX Host Class Dpump Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Dpump Read ux host class dpump read Icon H Description This event represents a USBX Host Class Dpump Read Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Hid Activate ux host class hid activate Icon Description This event represents a USBX Host Class Hid Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Hid Client Register ux host class hid client register Icon H Description This event represents a USBX Host Class Hid Client Register Event Information Fields Info Field 1 Hid client name Inf
199. on pointer Info Field 4 Not used Express Logic Inc 158 IP Address Get Icon H Description This event represents getting the IP address via nx ip address get nx ip address get Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Network mask Info Field 4 Not used IP Create Icon H Description This event represents creating an IP instance via nx ip create nx ip create Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Network mask Info Field 4 Default packet pool pointer IP Driver Direct Command nx ip driver direct command Icon H Description This event represents a direct I O driver command via nx ip driver direct command Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Driver command Info Field 3 Return value Info Field 4 Not used ant User Guide NetX Trace Events IP Address Set Icon H Description This event represents setting the IP address via nx ip address set nx ip address set Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Network mask Info Field 4 Not used IP Delete Icon H Description This event represents deleting an IP instance via nx ip delete nx ip delete Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4
200. ons 51 em raceX Multi Core 53 Express Logic Inc 28 Description of TraceX Display Overview Figure 3 1 shows the main display window of the TraceX system analysis tool The layout is Straightforward the execution contexts are represented by the vertical elements on the left side e g initialization interrupt idle and the various thread entries The events that take place in each context are displayed horizontally on the same context line For example the QR events shown below show that thread 2 is making successive calls to x queue receive i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help j did Qe Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 FIGURE 3 1 Context changes are represented by the vertical black lines that connect the context lines The currently selected event is represented by a solid red vertical line In this example event 494 is selected eats gt User Guide Title Bar TraceX User Guide 29 The TraceX title bar provides several pieces of useful information First i
201. ors for each user defined icon For more information on RBG color definition please see http en wikipedia org wiki RGB Digital representations botton color Defines the RGB value for the bottom half of the icon which is a three digit number in parenthesis Express Logic Inc 226 Customer User Events labell Label for info field 1 as specified in the tx_trace_user_event_insert call label2 Label for info_field_2 as specified in the tx_trace_user_event_insert call label3 Label for info_field_3 as specified in the tx_trace_user_event_insert call label4 Label for info_field_4 as specified in the tx_trace_user_event_insert call Example definitions for each of the two user defined events used in this chapter are shown in Figure 10 4 The first definition is for event 4096 at line 5 of the eltrxcustom trxc file This definition gives user defined event 4096 the name First_User_Event specifies a two letter abbreviation of FE makes the top portion of the icon red the bottom portion of the icon green and names the information fields as First Info1 First_Info2 First Info3 and ets gt User Guide TraceX User Guide 227 First_Info4 User defined event 4098 is defined similarly at line 6 of eltrxcustom trxc Bi C Express_Logic TraceX_5 CustomEvents eltrxcustom trxc Notepad File Edit Search View Format Language Settings Macro Run TextFX Plugins Window o Sal ME a me amp BR III
202. ot used Info Field 3 Not used Info Field 4 Not used Device Class Rndis Deactivate ux device class rndis deactivate Icon H Description This event represents a USBX Device Class Rndis Deactivate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Rndis Message Query ux_device_class_rndis_msg_query Icon H Description This event represents a USBX Device Class Rndis Message Query Event Information Fields Info Field 1 Class Instance Info Field 2 Rndis OID Info Field 3 Not used Info Field 4 Not used TraceX User Guide Device Class Rndis Message Reset ux device class rndis msg reset Icon Description This event represents a USBX Device Class Rndis Message Reset Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Rndis Packet Receive ux device class rndis packet receive Icon Description This event represents a USBX Device Class Rndis Packet Receive Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Storage Activate ux device class storage activate Icon Description This event represents a USBX Device Class Storage Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Fiel
203. otify Icon tx entry exit notify Description This event represents registering a callback via tx thread entry exit notify that is called whenever a thread is entered or exits Information Fields Info Field 1 Pointer to thread Info Field 2 Thread state at time of the registration Info Field 3 Pointer to stack at time of call Info Field 4 Not used 111 Semaphore Put Notify tx semaphore put notify Icon E Description This event represents registering a callback via tx semaphore put notify that is called whenever a semaphore instance is put Information Fields Info Field 1 Pointer to semaphore Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Thread Delete Icon Description This event represents deleting a thread via tx thread delete tx thread delete Information Fields Info Field 1 Pointer to thread Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Thread Identify Icon H Description This event represents getting the current thread pointer via tx_thread_identify tx_thread_identify Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 112 Thread Information Get Icon Description This event represents getting information about the specified thread via tx thread info get tx thread info get Information Fields Info Field
204. p socket delete TCP Socket Disconnect nx tcp socket disconnect TCP Socket Information Get nx tcp socket info get TCP Socket MSS Get nx tcp socket mss get TCP Socket MSS Peer Get nx tcp socket mss peer get TCP Socket MSS Set nx tcp socket mss set TCP Socket Peer Info Get nx tcp socket peer info get TCP Socket Receive nx tcp socket receive TCP Socket Receive Notify nx tcp socket receive notify TCP Socket Send nx tcp socket send TCP Socket State Wait nx tcp socket state wait TCP Socket Transmit Configure nx tcp socket transmit configure TCP Socket Window Update Notify Set nx tcp socket window update notify set UDP Enable nx udp enable UDP Free Port Find nx udp free port find ES GE LA ER GEI AS QI EI EJ EJ EZ EI GET i QI EU EX CA al EX EJ Ia UDP Information Get nx udp info get ets gt User Guide TraceX User Guide 143 UDP Socket Bind nx udp socket bind UDP Socket Bytes Available nx udp socket bytes available UDP Socket Checksum Disable nx udp socket checksum disable UDP Socket Checksum Enable nx udp socket checksum enable UDP Socket Create nx udp socket create UDP Socket Delete nx udp socket delete UDP Socket Information Get nx udp socket info get UDP Socket Interface Set nx udp socket interface set UDP Socket Port Get nx udp socket port get UDP Socket Receive nx udp socket receive UDP Socket Receive Notify nx udp socket receive notify UDP Socket Send nx udp socke
205. ple event number 1501 shows queue receive event in Core O the next event 1502 shows a queue send event on Core 1 Also note the new button for generating the CPU Utilization as pointed to in Figure 3 24 Selecting this button produces a report defined in greater detail in Chapter 4 ets gt User Guide This chapter describes the TraceX performance analysis tool Performance Analysis 56 m Multi Core CPU Utilization 57 m Execution Profile 57 Popular Services 58 Thread Stack Usage 60 Performance Statistics 61 em FileX Statistics 63 NetX Statistics 65 ee race File Information 66 Raw Trace Dump 67 Express Logic Inc 56 TraceX Performance Analysis Performance Analysis TraceX provides built in performance analysis of trace files Information such as the execution profile popular services thread stack usage and various performance statistics including FileX and NetX statistics are readily available This information is available via the View menu item as show in Figure 4 1 iC Tra 2X5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Help ThreadX Legend r FileX Legend Delta Ticks NetX Legend Set Thread Stack Usage Performance Statistics FileX Statistics Inte NetX Statistics Initi Trace File Information Syst Raw Trace Dump Thread 0 0x00005634 Thread 1 0x000056DC Thread 2 0x00005784 Thread 3 0x0000
206. r_request Express Logic Inc 182 USBX Trace Events H Host Stack Transfer Request Abort ux_host_stack_transfer_request_abort USBX Error ux_error Event Descriptions The following pages describe the USBX Trace Events ant gt User Guide TraceX User Guide 183 Device Class Cdc Activate ux device class cdc activate Icon H Description This event represents a USBX Device Class Cdc Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Cdc Read ux device class cdc read Icon Description This event represents a USBX Device Class Cdc Read Event Information Fields Info Field 1 Class Instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Device Class Dpump Activate ux device class dpump activate Icon H Description This event represents a USBX Device Class Dpump Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Cdc Deactivate ux device class cdc deactivate Icon Description This event represents a USBX Device Class Cdc Deactivate Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Cdc Write ux device class cdc write Icon Description This event represents
207. race enable is called The ThreadX library and application must be built with TX ENABLE EVENT TRACE defined in order to use event tracing Input Parameters event filter bits Bits that correspond to events to filter Multiple events may be filtered by simply or ing together the appropriate constants Valid ets gt User Guide TraceX User Guide 77 constants for this variable are defined as follows TX_TRACE_ALL_EVENTS 0x000007FF TX TRACE INTERNAL EVENTS 0x00000001 TX TRACE BLOCK POOL EVENTS 0x00000002 TX TRACE BYTE POOL EVENTS 0x00000004 TX TRACE EVENT FLAGS EVENTS 0x00000008 TX TRACE INTERRUPT CONTROL EVENT 0x00000010 TX TRACE MUTEX EVENTS 0x00000020 TX TRACE QUEUE EVENTS 0x00000040 TX TRACE SEMAPHORE EVENTS 0x00000080 TX TRACE THREAD EVENTS 0x00000100 TX TRACE TIME EVENTS 0x00000200 TX TRACE TIMER EVENTS 0x00000400 FX TRACE ALL EVENTS 0x00007800 FX TRACE INTERNAL EVENTS 0x00000800 FX TRACE MEDIA EVENTS 0x00001000 FX TRACE DIRECTORY EVENTS 0x00002000 FX TRACE FILE EVENTS 0x00004000 NX TRACE ALL EVENTS OxOOFF8000 NX TRACE INTERNAL EVENTS 0x00008000 NX TRACE ARP EVENTS 0x00010000 NX TRACE ICMP EVENTS 0x00020000 NX TRACE IGMP EVENTS 0x00040000 NX TRACE IP EVENTS 0x00080000 NX TRACE PACKET EVENTS 0x00100000 NX TRACE RARP EVENTS 0x00200000 NX TRACE TCP EVENTS 0x00400000 NX TRACE UDP EVENTS 0x00800000 UX TRACE ALL EVENTS Ox7F000000 UX TRACE ERRORS 0x01000000
208. readX Trace Events Queue Flush Icon H Description This event represents flushing clearing all queue contents of a queue via tx queue flush tx queue flush Information Fields Info Field 1 Pointer to queue Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Queue Information Get Icon E Description This event represents getting information about a queue via tx queue info get tx queue info get Information Fields Info Field 1 Pointer to queue Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Queue Performance System Info Get tx queue performance system info get Icon Description This event represents getting system performance information about all the queues in the system Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Queue Prioritize Icon L3 Description This event represents prioritizing the queue s suspension list via tx queue prioritize tx queue prioritize Information Fields Info Field 1 Pointer to corresponding queue Info Field 2 Number of threads currently suspended on the queue Info Field 3 Stack pointer at time of call Info Field 4 Not used Queue Send Icon E Description This event represents sending a message to a queue via tx queue send tx queue send Information Fields Info Field 1 Pointer to queue
209. reate Information Fields Info Field 1 Pointer to semaphore control block Info Field 2 Initial semaphore count Info Field 3 Stack pointer at time of call Info Field 4 Not used Express Logic Inc 110 Semaphore Delete Icon Description This event represents deleting a semaphore via tx semaphore delete tx semaphore delete Information Fields Info Field 1 Pointer to semaphore Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Semaphore Information Get tx semaphore info get Icon k Description This event represents obtaining information about a semaphore via tx_semaphore_info_get Information Fields Info Field 1 Pointer to semaphore Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Semaphore Performance System Info tx_semaphore_performance_system_info_get Icon Description This event represents obtaining performance information about all semaphores in the system via tx semaphore performance system info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used ant User Guide ThreadX Trace Events Semaphore Get Icon Description This event represents obtaining a semaphore via tx_semaphore_ get tx_semaphore_get Information Fields Info Field 1 Pointer to semaphore Info Field 2 Wait option supplied to the call Info Field 3 Current semaphore coun
210. ress Logic Inc 96 ThreadX Trace Events List of Events and Icons The following is a list of ThreadX events displayed by TraceX o Oo 5 Meaning Internal thread resume Internal thread suspend Interrupt Service Routine ISR Enter Interrupt Service Routine ISR Exit Internal time slice Running User Defined Event See Chapter 4 Block pool allocate tx block allocate Block pool create tx block pool create Block pool delete tx block pool delete Block pool information get ix block pool info get Block pool performance information get tx block pool performance info get Block pool system performance information get tx block pool performance system info get Block pool prioritize x block pool prioritize Block release to pool tx block release Byte pool allocate memory tx byte allocate Byte pool create fx byte pool create Byte pool delete tx byte pool delete GI EI SM ECS EXT EST E ET Ge E CRI E DEI REGI CRI CRI LI Ged EX Byte pool information get tx byte pool info get ets gt User Guide EI CO CU ELI CH CH CH GI Gu 53 EX EJ Ge EXJ EU GI C EI EE EJ TraceX User Guide 97 Byte pool performance information get tx byte pool performance info get Byte pool system performance information get tx byte pool performance system info get Byte pool prioritize tx byte pool prioritize Byte memory release to pool tx byte release Event flags create fx event flags create Event flags
211. riority 8 LERELELELEE RRRRRR LEEELRLLLLELELLLE LE LE LELE RRRRRRRRRRRRRRRRRRRRRRRRR Seats Purchased FIGURE 10 1 Detailed information is also available for user defined Events Figure 10 2 shows the detailed event information for event 202 which has event number 4096 and shows the specified 4 information fields C Express_Logic TraceX_5 TraceFiles demo_threadx_user_events trx 14 4 4 202 Event 9009090Q0QQ RRRRRRR gt hb QQ 099090909009Q009Q0QQ RR RRRRRRRRRRRRR 15 16 170 Event ID 202 Context thread 0 Priority 1 Relative Time 23312 Raw Time Stamp 0x00092B29 Event User Event 4096 Info 1 Ox00000001 Info 2 Ox00000002 Info 3 0x00000003 Info 4 Ox00000004 Next Context thread 0 0xA00001D4 Delta Previous 152 ticks Delta Next 57 ticks Registered to Express Logic Seats Purchased FIGURE 10 2 Express Logic Inc 224 Customer User Events Defining Custom User Defined Event Icons TraceX also provides the user the ability to create custom user defined event icons as well as custom information field labels This is achieved by adding event icon specifications to the eltrxcustom trxc configuration file which is located in the CustomEvents sub directory in the main TraceX installation directory An example directory path is shown in Figure 10 3 amp C Express_Logic TraceX_5 CustomEvents ME rd File Edit View Favorit
212. rite ux host class asix write Host Class Audio Activate ux host class audio activate Host Class Audio Control Value Get ux host class audio control value get Host Class Audio Control Value Set ux host class audio control value set Host Class Audio Deactivate ux host class audio deactivate Express Logic Inc 176 USBX Trace Events Host Class Audio Read ux host class audio read Host Class Audio Streaming Sampling Get ux host class audio streaming sampling get Host Class Audio Streaming Sampling Set ux host class audio streaming sampling set Host Class Audio Write ux host class audio write Host Class Cdc Acm Activate ux host class cdc acm activate Host Class Cdc Acm Deactivate ux host class cdc acm deactivate Host Class Cdc Acm loctl Abort In Pipe ux host class cdc acm ioctl abort in pipe Host Class Cdc Acm loctl Abort Out Pipe ux host class cdc acm ioctl abort out pipe Host Class Cdc Acm loctl Get Device Status ux host class cdc acm ioctl get device status Host Class Cdc Acm loctl Get Line Coding ux host class cdc acm ioctl get line coding Host Class Cdc Acm loctl Notification Callback ux host class cdc acm ioctl notification callback Host Class Cdc Acm loctl Send Break ux host class cdc acm ioctl send break Host Class Cdc Acm loctl Set Line Coding ux host class cdc acm ioctl set line coding Host Class Cdc Acm loctl Set Line State ux host class cdc acm ioctl set line state
213. rmation Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Destination IP address Info Field 4 Type of service ets gt User Guide NetX Trace Events IP Raw Packet Disable nx ip raw packet disable Icon Description This event represents disabling raw IP packet communication via nx ip raw packet disable Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used IP Raw Packet Receive nx ip raw packet receive Icon Description This event represents receiving a raw IP packet via nx ip raw packet receive Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Wait option Info Field 4 Not used IP Static Route Add Icon H Description This event represents a static route being added to the IP instance routing table via nx ip static route add nx ip static route add Information Fields Info Field 1 Pointer to IP instance Info Field 2 Network address Info Field 3 Network mask Info Field 4 Next hop TraceX User Guide IP Static Route Delete Icon H Description This event represents a static route being removed from the IP instance routing table via nx ip static route delete nx ip static route delete Information Fields Info Field 1 Pointer to IP instance Info Field 2 Network address Info Field 3 Network mask Info Field 4 Not
214. rnate setting value Info Field 3 Not used Info Field 4 Not used Device Stack Clear Feature ux device stack clear feature Icon H Description This event represents a USBX Device Stack Clear Feature Event Information Fields Info Field 1 Request type Info Field 2 Request value Info Field 3 Request index Info Field 4 Not used TraceX User Guide Device Stack Configuration Get ux device stack configuration gett Icon Description This event represents a USBX Device Stack Configuration Get Event Information Fields Info Field 1 Configuration value Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Connect ux device stack connect Icon H Description This event represents a USBX Device Stack Descriptor Send Event Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Stack Disconnect ux device stack disconnect Icon H Description This event represents a USBX Device Stack Disconnect Event Information Fields Info Field 1 Device Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 193 Device Stack Configuration Set ux device stack configuration set Icon H Description This event represents a USBX Device Stack Configuration Set Event Information Fields Info Field 1 Configuration value Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used
215. rst Entry Find fx directory first entry find Directory First Full Entry Find fx directory first full entry find Directory Information Get fx directory information get Directory Local Path Clear fx directory local path clear Directory Local Path Get fx directory local path get Directory Local Path Restore fx directory local path restore Directory Local Path Set fx directory local path set Directory Long Name Get fx directory long name get Directory Name Test fx directory name test Directory Next Entry Find fx directory next entry find Directory Next Full Entry Find fx directory next full entry find Directory Rename fx directory rename Directory Short Name Get fx directory short name get File Allocate fx file allocate File Attributes Read fx file attributes read File Attributes Set fx file attributes set File Best Effort Allocate fx file best effort allocate File Close fx file close File Create fx file create File Date Time Set fx file date time set File Delete fx file delete Express Logic Inc 120 FileX Trace Events File Open fx file open File Read fx file read File Relative Seek fx file relative seek File Rename fx file rename File Seek fx file seek File Truncate fx file truncate File Truncate Release fx file truncate release File Write fx file write Media Abort fx media abort Media Cache Invalidate fx media cache invalidate Media Check fx media check
216. s Prolific Reception Stop Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Storage Activate ux host class storage activate Icon H Description This event represents a USBX Host Class Storage Activate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 212 Host Class Storage Deactivate ux host class storage deactivate Icon Description This event represents a USBX Host Class Storage Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Storage Media Format Capacity Get ux host class storage media format capacity get Icon Description This event represents a USBX Host Class Storage Media Format Capacity Get Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Storage Media Open ux host class storage media open Icon Description This event represents a USBX Host Class Storage Media Open Event Information Fields Info Field 1 Class instance Info Field 2 Media Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Host Class Storage Media Capacity Get ux host class storage me
217. s Prolific Deactivate ux host class prolific deactivate Host Class Prolific loctl Abort In Pipe ux host class prolific ioctl abort in pipe Host Class Prolific loctl Abort Out Pipe ux host class prolific ioctl abort out pipe Host Class Prolific loctl Get Device Status ux host class prolific ioctl get device status Host Class Prolific loctl Get Line Coding ux host class prolific ioctl get line coding Host Class Prolific loctl Purge ux host class prolific ioctl purge Host Class Prolific loctl Report Device Status Change ux host class prolific ioctl report device status change Host Class Prolific loctl Send Break ux host class prolific ioctl send break Host Class Prolific loctl Set Line Coding ux host class prolific ioctl set line coding Host Class Prolific loctl Set Line State ux host class prolific ioctl set line state Host Class Prolific Read ux host class prolific read Host Class Prolific Reception Start ux host class prolific reception start Express Logic Inc 180 KD LA CET FH EH EE 31 EE Gi Gi ETE OI ET EI A 7 El GEI GEI CE CII EX lt d Ge EX USBX Trace Events Host Class Prolific Reception Stop ux host class prolific reception stop Host Class Prolific Write ux host class prolific write Host Class Storage Activate ux host class storage activate Host Class Storage Deactivate ux host class storage deactivate Host Class Storage Media Capacity Get ux host
218. s the current version of TraceX Second is the full path of the currently opened trace file The example in Figure 3 2 shows TraceX version 5 0 1 is displaying the demo_threadx trx trace file TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help d dag E ets Sequential View Time View Context Summary Event Summary Event ID sm Salaiin 494 Event System Timer Thread 0x00015D94 Priority 0 3 i Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic FIGURE 3 2 Express Logic Inc 30 Description of TraceX Tool Bar The TraceX tool bar provides several buttons to open trace files and control elements of their display Figure 3 3 identifies the TraceX tool bar i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help d dus E et Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle a System Timer Thread 0x00015D94 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005
219. sed Info Field 4 Not used Device Class Storage Prevent Allow Media Removal ux device class storage prevent allow media removal Icon Description This event represents a USBX Device Class Storage Prevent Allow Media Removal Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used ant User Guide USBX Trace Events Device Class Storage Inquiry ux device class storage inquiry Icon H Description This event represents a USBX Device Class Storage Inquiry Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Mode Sense ux device class storage mode sense Icon Description This event represents a USBX Device Class Storage Mode Sense Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Not used Info Field 4 Not used Device Class Storage Read ux device class storage read Icon H Description This event represents a USBX Device Class Storage Read Event Information Fields Info Field 1 Class Instance Info Field 2 Lun Info Field 3 Sector Info Field 4 Number sectors TraceX User Guide Device Class Storage Read Capacity ux device class storage read capacity Icon Description This event represents a USBX Device Class Storage Read Capacity Event Information Fields Info Field 1 Class Instance Inf
220. senting Running in the time view is drawn on the nitialize Idle context it TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help Je dag E et Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 s Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 _ Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Registered to Express Logic 49 Event FIGURE 3 7 In the example in Figure 3 7 there are nine thread contexts starting from the System Timer Thread context Additional information about an individual context is available by placing the mouse on that context The additional information includes the thread s starting stack address ending stack Express Logic Inc 38 i TraceX 5 File View Options Help 20 dag E et Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle Description of TraceX address total size percent used relative execution percentage number of suspension resumptions and its highest and lowest priority during the trace Figure 3 8 shows information for thread 0 C Express_Logic
221. sponse Send ux device class pima response send Icon Description This event represents a USBX Device Class Pima Response Send Event Information Fields Info Field 1 Class instance Info Field 2 Response code Info Field 3 Number parameter Info Field 4 Pima parameter 1 Express Logic Inc 188 Device Class Pima Storage Id Send ux device class pima storage id send Icon Description This event represents a USBX Device Class Pima Storage Id Send Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Rndis Activate ux device class rndis activate Icon H Description This event represents a USBX Device Class Rndis Activate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Device Class Rndis Message Keep Alive ux device class rndis msg keep alive Icon Description This event represents a USBX Device Class Rndis Message Keep Alive Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Device Class Pima Storage Info Send ux device class pima storage info send Icon Description This event represents a USBX Device Class Pima Storage Info Send Event Information Fields Info Field 1 Class Instance Info Field 2 N
222. st Class Pima Storage Ids Get Event Information Fields Info Field 1 Class instance Info Field 2 Storage ID array Info Field 3 Storage ID length Info Field 4 Not used Host Class Pima Thumb Get ux_host_class_pima_thumb_get Icon H Description This event represents unaccepting a TCP server connection via nx tcp server socket unaccept Information Fields Info Field 1 Class instance Info Field 2 Object handle Info Field 3 Not used Info Field 4 Not used Express Logic Inc 208 Host Class Pima Write ux_host_class_pima_write Icon L Description This event represents a USBX Host Class Pima Write Information Fields Info Field 1 Class Instance Info Field 2 Data pointer Info Field 3 Data length Info Field 4 Not used Host Class Printer Deactivate ux host class printer deactivate Icon L Description This event represents a USBX Host Class Printer Deactivate Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Printer Read ux host class printer read Icon H Description This event represents a USBX Host Class Printer Read Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used ant gt User Guide USBX Trace Events Host Class Printer Activate ux host class printer activate Icon Description This event
223. st Endpoint 24 USB Host Class 25 USB Device 26 USB Device Interface 27 USB Device Endpoint 28 USB Device Class eats gt User Guide Object Pointer Object Reserved Fields Object Parameters Object Type Thread Timer Queue Semaphore Mutex Event Flags Group Block Pool Byte Pool Media File IP Packet Pool TCP Socket UDP Socket Object Name TraceX User Guide 237 The object pointer specifies the object address that is used for accessing the object using the ThreadX API For all objects other than threads these reserved fields should be 0 For threads the priority of the thread at the time it is entered into the registry is placed in these two reserved fields The object parameters contain supplemental information about the object The following describes the supplemental information for each ThreadX object Parameter 1 Stack Start Initial Ticks Queue Size Initial Instances Inheritance Flag Total Blocks Total Bytes Fat Cache Size Stack Start Packet Size IP address IP address Parameter 2 Stack Size Reschedule Ticks Message Size Block Size Sector Cache Size Stack Size Number of Packets Window Size RX Queue Max The object name contains the name of the ThreadX object The name is the name provided to ThreadX at the time the object was created By default the object Express Logic Inc 238 Format of Event Trace Buffer name has a maximum of 32 characters Actual na
224. suspended thread via tx thread resume tx thread resume Information Fields Info Field 1 Pointer to thread Info Field 2 Thread s state at time of call Info Field 3 Stack pointer at time of call Info Field 4 Not used Thread Stack Error Notify tx thread stack error notify Icon Description This event represents registering a thread stack error notification routine via tx thread stack error notify event Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Thread Terminate Icon Description This event represents terminating a thread via tx thread terminate tx thread terminate Information Fields Info Field 1 Pointer to thread to terminate Info Field 2 Thread s state at time of call Info Field 3 Stack pointer at time of call Info Field 4 Not used Express Logic Inc 114 Thread Time Slice Change tx thread time slice change B Icon Description This event represents changing a thread s time slice via tx thread time slice change Information Fields Info Field 1 Pointer to thread Info Field 2 New time slice Info Field 3 Previous time slice Info Field 4 Not used Time Get Icon LZ Description This event represents getting the current number of timer ticks via tx time get tx time get Information Fields Info Field 1 Current number of timer ticks Info Field 2 Stack pointer at time of call Info Field 3 Not
225. t Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Class Prolific loctl Set Line State ux host class prolific ioctl set line state Icon Description This event represents a USBX Host Class Prolific loctl Set Line State Event Information Fields Info Field 1 Class instance Info Field 2 Parameter Info Field 3 Not used Info Field 4 Not used Host Class Prolific Reception Start ux host class prolific reception start Icon H Description This event represents a USBX Host Class Prolific Reception Start Event Information Fields Info Field 1 Class instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Prolific Write ux host class prolific write Icon H Description This event represents a USBX Host Class Prolific Write Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used 211 Host Class Prolific Read ux_host_class_prolific_read Icon H Description This event represents a USBX Host Class Prolific Read Event Information Fields Info Field 1 Class instance Info Field 2 Data pointer Info Field 3 Requested length Info Field 4 Not used Host Class Prolific Reception Stop ux host class prolific reception stop Icon H Description This event represents a USBX Host Clas
226. t Host Class Pima Object Info Send ux host class pima object info send Host Class Pima Object Move ux host class pima object move Host Class Pima Object Send ux host class pima object send Host Class Pima Object Transfer Abort ux host class object transfer abort Host Class Pima Read ux host class pima read Host Class Pima Request Cancel ux host class pima request cancel Host Class Pima Session Close ux host class pima session close Host Class Pima Session Open ux host class pima session open Host Class Pima Storage Ids Get ux host class pima storage ids get Host Class Pima Storage Info Get ux host class pima storage info get CI CO 1 3 BO GET EI ER QI HI 23 ES ED EI EXT GEI GEI EI EI EI Gd ET QI ets gt User Guide CET EL 2 bab E2131 GT GZ ao I EI GI ET ET FI GI ELA EI GET Gd ET FI BITES TraceX User Guide 179 Host Class Pima Thumb Get ux host class pima thumb get Host Class Pima Write ux host class pima write Host Class Printer Activate ux host class printer activate Host Class Printer Deactivate ux host class printer deactivate Host Class Printer Name Get ux host class printer name get Host Class Printer Read ux host class printer read Host Class Printer Soft Reset ux host class printer soft reset Host Class Printer Status Get ux host class printer status get Host Class Printer Write ux host class printer write Host Class Prolific Activate ux host class prolific activate Host Clas
227. t Info Field 4 Stack pointer at time of call Semaphore Performance Info Get tx_semaphore_performance_info_get Icon E Description This event represents obtaining performance information about a semaphore via tx semaphore performance info get Information Fields Info Field 1 Pointer to semaphore Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Semaphore Prioritize Icon Description This event represents prioritizing the semaphore s suspension list via tx semaphore prioritize tx semaphore prioritize Information Fields Info Field 1 Pointer to corresponding semaphore Info Field 2 Number of threads currently suspended on the semaphore Info Field 3 Stack pointer at time of call Info Field 4 Not used TraceX User Guide Semaphore Put Icon Description This event represents releasing a semaphore instance via tx semaphore put tx semaphore put Information Fields Info Field 1 Pointer to corresponding semaphore Info Field 2 Current semaphore count Info Field 3 Number of threads suspended on the semaphore Info Field 4 Stack pointer at time of call Thread Create Icon H Description This event represents creating a thread via tx thread create tx thread create Information Fields Info Field 1 Pointer to thread control block Info Field 2 Priority of thread Info Field 3 Stack pointer for thread Info Field 4 Size of stack in bytes Thread Entry Exit N
228. t Transfer Abort ux_host_stack_endpoint_transfer_abort Icon L Description This event represents a USBX Host Stack Endpoint Transfer Abort Event Information Fields Info Field 1 Endpoint Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Initialize Icon L Description This event represents a USBX Host Stack Initialize Event ux host stack initialize Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used TraceX User Guide Host Stack Interface Endpoint Get Internal TCP retry event Icon H Description This event represents an internal NetX TCP retry event Information Fields Info Field 1 Interface Info Field 2 Endpoint index Info Field 3 Not used Info Field 4 Not used Host Stack Interface Instance Delete ux_host_stack_interface_instance_delete Icon Description This event represents a USBX Host Stack Interface Instance Delete Event Information Fields Info Field 1 Interface Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Interface Setting Select ux host stack interface setting select Icon Description This event represents a USBX Host Stack Interface Setting Select Event Information Fields Info Field 1 Interface Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 217 Host Stack Interface Instance Create ux host sta
229. t get Host Class Hid Report Set ux host class hid report set Host Class Hub Activate ux host class hub activate Host Class Hub Change Detect ux host class hub change detect Host Class Hub Deactivate ux host class hub deactivate Host Class Hub Port Change Connection Process ux host class hub port change connection process Host Class Hub Port Change Enable Process ux host class hub port change enable process Host Class Hub Port Change Over Current Process ux host class hub port change over current process Host Class Hub Port Change Reset Process ux host class hub port change reset process Express Logic Inc 178 USBX Trace Events Host Class Hub Port Change Suspend Process ux host class hub port change suspend process Host Class Pima Activate ux host class prima activate Host Class Pima Deactivate ux host class pima deactivate Host Class Pima Device Info Get ux host class pima device info get Host Class Pima Device Reset ux host class pima device reset Host Class Pima Notification ux host class pima notification Host Class Pima Number Objects Get ux host class pima num objects get Host Class Pima Object Close ux host class pima object close Host Class Pima Object Copy ux host class pima object copy Host Class Pima Object Delete ux host class pima object delete Host Class Pima Object Get ux host class pima object get Host Class Pima Object Info Get ux host class pima object info ge
230. t represents deleting a socket via nx_tcp_socket_delete nx_tcp_socket_delete Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Socket state Info Field 4 Not used TCP Socket Information Get nx_tcp_socket_info_get Icon H Description This event represents getting information about a socket via nx tcp socket info get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Bytes sent through this socket Info Field 4 Bytes received through this socket 165 TCP Socket Create Icon H Description This event represents creating a TCP socket via nx tcp socket create nx tcp socket create Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Type of service Info Field 4 Receive window size TCP Socket Disconnect nx tcp socket disconnect Icon LS Description This event represents disconnecting a socket via nx tcp socket disconnect Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Wait option Info Field 4 Socket state TCP Socket MSS Get Icon H Description This event represents getting the socket s MSS via nx tcp socket mss get nx tcp socket mss get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Pointer to socket Info Field 3 Maximum Segment Size MSS Info Field 4 Socket stat
231. t send UDP Socket Unbind nx udp socket unbind LOI EG CO EEJ EEJ EJ EE 200 EE GEJ QI CT CE CE UDP Source Extract nx udp source extract Event Descriptions The following pages describe the NetX Trace Events Express Logic Inc 144 Internal ARP Request Receive Internal ARP request receive Icon H Description This event represents an internal NetX ARP request receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Not used Internal ARP Response Receive Internal ARP Response Receive Icon Description This event represents an internal NetX ARP response receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Not used Internal ICMP Receive Icon H Internal ICMP receive Description This event represents an internal NetX ICMP receive event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Source IP address Info Field 3 Pointer to packet Info Field 4 Word 0 of ICMP header EIUS User Guide NetX Trace Events Internal ARP Request Send Internal ARP request send Icon H Description This event represents an internal NetX ARP request send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Destination IP address Info Field 3 Pointer to pac
232. target using ThreadX ets gt User Guide TraceX User Guide 25 TraceX Examples A series of example trace files with the extension trx are found in the TraceFiles subdirectory of your installation These pre built examples will help you get comfortable with using TraceX on the trace buffers generated by ThreadX running with your application One example trace file always present is the file demo_threadx trx This example trace file shows the execution of the standard ThreadX demo as described in Chapter 6 of the ThreadX User Guide Look in C3 TraceFiles d t demo net Ecp My Recent PDF demo_netx_udp Documents Desktop My Documents 48 hy Computer Mu Network File name demo head Flaces Files of type Traces Files tre T FIGURE 2 11 Express Logic Inc 26 Installation and Use of TraceX ets gt User Guide This chapter describes the overall functionality of the TraceX system analysis tool including the overall functionality of its GUI including the following em Display Overview 28 m litle Bar 29 m Tool Bar 30 Display Mode Tabs 32 em Sequential View Mode 33 em lime View Mode 34 System Summary Line 35 em System Contexts 36 m Thread Status Information 40 Event Information Display 42 em Current Event Display 44 em Event Searching 46 m Zooming In and Out 47 e Delta Ticks Between Events 49 Actual Time Display 50 ea Priority Inversi
233. tatic_entries_delete Icon H Description This event represents deleting all ARP static entries via nx arp static entries delete Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Entries deleted Info Field 3 Not used Info Field 4 Not used ARP Static Entry Delete nx arp static entry delete Icon H Description This event represents deleting a static ARP entry via nx arp static entry delete Information Fields Info Field 1 Pointer to the IP instance Info Field 2 IP address Info Field 3 Physical address MSW Info Field 4 Physical address LSW Duo Cache Entry Set Icon E nxd nd cache entry set Description This event represents creating a cache entry and adding to the neighbor cache table via nxd nd cache entry set Information Fields Info Field 1 Fourth least significant word of the IPv6 address to add Info Field 2 Physical address msb Info Field 3 Physical address Isb Info Field 4 Not used TraceX User Guide Duo Cache Invalidate Icon Description This event represents invalidating the entire neighbor cache table via nxd nd cache invalidate nxd nd cache invalidate Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Duo ICMP Enable Icon Description This event represents ICMPv4 and ICMPv6 services being enabled on the specified IP instance via nxd_icmp_enable nxd_icmp_enable
234. ted on index zero link local address via nxd ipv6 interface address set Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the IPv6 address to return Info Field 3 Prefix length Info Field 4 Index of interface into the IP instance interface table Duo IPv6 Link Local Address Set nxd ipv6 linklocal address set Icon EL Description This event represents setting the link local address of the IP instance via nxd ipv6 linklocal address set Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth least significant word of the IPv6 link local address Info Field 3 Not used Info Field 4 Not used Duo TCP Socket Set Interface nxd tcp socket set interface event T Icon LA Description This event represents setting the outgoing socket interface after a client connects with a TCP server on the specified server IP address via nxd tcp client socket connect Information Fields Info Field 1 Pointer to TCP Socket Info Field 2 Interface ID Info Field 3 Not used Info Field 4 Not used 155 Duo IPv6 Link Local Address Get nxd_ipv6 linklocal address get L Icon Description This event represents retrieving the link local address of the specified IP instance via nxd ipv6 linklocal address get Information Fields Info Field 1 Pointer to IP instance Info Field 2 Fourth word least significant of the IP v6 link local address Info Field
235. ter to the media Info Field 2 Number of dirty sectors Info Field 3 Not used Info Field 4 Not used File Attributes Set Icon Lz Description This event represents a file attributes set event fx file attributes set Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to file name Info Field 3 Attributes bit map Read Only 0x01 Hidden 0x02 System 0x04 Archive 0x20 Info Field 4 Not used File Close Icon LZ Description This event represents a file close event fx file close Information Fields Info Field 1 Pointer to the file Info Field 2 File size Info Field 3 Not used Info Field 4 Not used TraceX User Guide Directory Default Set Icon H Description This event represents a directory default set event fx directory default set Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to new default path name Info Field 3 Not used Info Field 4 Not used Directory First Entry Find fx directory first entry find Icon Description This event represents a directory first entry find event Information Fields Info Field 1 Pointer to the media Info Field 2 Pointer to directory name Info Field 3 Not used Info Field 4 Not used Directory Information Get fx_directory_information_get Icon H Description This event represents a directory information get event Information Fields Info Field 1 Pointer to the
236. ternal 1 0 Driver Packet Broadcast Internal I O driver packet broadcast Icon H Description This event represents an internal NetX I O driver packet broadcast event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet size Info Field 4 Not used Internal I O Driver ARP Response Send Internal I O driver ARP response send Icon Description This event represents an internal NetX I O driver ARP response send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet size Info Field 4 Not used TraceX User Guide Internal I O Driver RARP Send Internal I O driver RARP send Icon Description This event represents an internal NetX I O driver RARP send event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Pointer to packet Info Field 3 Packet size Info Field 4 Not used Internal I O Driver Multicast Leave Internal I O driver multicast leave Icon E Description This event represents an internal NetX I O driver multicast leave event Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Internal I O Driver Get Speed Internal I O driver get speed Icon H Description This event represents an internal NetX I O driver get speed event Information Fields Info Field 1 Pointer to the
237. ternate Setting Set ux device stack alternate setting set Device Stack Class Register ux device stack class register Device Stack Clear Feature ux device stack clear feature Device Stack Configuration Get ux device stack configuration get Device Stack Configuration Set ux device stack configuration set Device Stack Connect ux device stack connect ets gt User Guide TraceX User Guide 175 Device Stack Descriptor Send ux device stack descriptor send Device Stack Disconnect ux device stack disconnect Device Stack Endpoint Stall ux device stack endpoint stall Device Stack Get Status ux device stack get status Device Stack Host Wakeup ux device stack host wakeup Device Stack Initialize ux device stack initialize Device Stack Interface Delete ux device stack interface delete Device Stack Interface Get ux device stack interface get Device Stack Interface Set ux device stack interface set Device Stack Set Feature ux device stack set feature Device Stack Transfer Abort ux device stack transfer abort Device Stack Transfer All Request Abort ux device stack transfer all request abort Device Stack Transfer Request ux device stack transfer request Host Class Asix Activate ux host class asix activate Host Class Asix Deactivate ux host class asix deactivate Host Class Asix Interrupt Notification ux host class asix interrupt notification Host Class Asix Read ux host class asix read Host Class Asix W
238. thread ptr Define the ThreadX object creation extensions for the remaining objects define TX BLOCK POOL CREATE EXTENSION pool ptr define TX BYTE POOL CREATE EXTENSION pool ptr define TX EVENT FLAGS GROUP CREATE EXTENSION group ptr define TX MUTEX CREATE EXTENSION mutex ptr define TX QUEUE CREATE EXTENSION queue ptr define TX SEMAPHORE CREATE EXTENSION semaphore ptr e define TX TIMER CREATE EXTENSION timer ptr Define the ThreadX object deletion extensions for the remaining objects define TX BLOCK POOL DELETE EXTENSION pool ptr define TX BYTE POOL DELETE EXTENSION pool ptr define TX EVENT FLAGS GROUP DELETE EXTENSION group ptr define TX MUTEX DELETE EXTENSION mutex ptr define TX QUEUE DELETE EXTENSION queue ptr define TX SEMAPHORE DELETE EXTENSION semaphore ptr e defin TX TIMER DELETE EXTENSION timer ptr Define ThreadX interrupt lockout and restore macros for protection on access of critical kernel information The restore interrupt macro must restore the interrupt posture of the running thread prior to the value present prior to the disable macro In most cases the save area macro is used to define a local function save area for the disable and restore macros ifndef _ thumb define TX INTERRUPT SAVE AREA register unsigned int interr
239. tion Instance Create ux host stack configuration instance create Icon L Description This event represents a USBX Host Stack Configuration Instance Create Event Information Fields Info Field 1 Configuration Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Configuration Set ux host stack configuration set Icon H Description This event represents a USBX Host Stack Configuration Set Event Information Fields Info Field 1 Configuration Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used eats gt User Guide USBX Trace Events Host Stack Configuration Enumerate ux_host_stack_configuration_enumerate Icon Description This event represents a USBX Host Stack Configuration Enumerate Event Information Fields Info Field 1 Device Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Configuration Instance Delete ux_host_stack_configuration_instance_delete Icon Description This event represents a USBX Host Stack Configuration Instance Delete Event Information Fields Info Field 1 Configuration Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Stack Device Address Set ux host stack device address set Icon H Description This event represents a USBX Host Stack Device Address Set Event Information Fields Info Field 1 Device Info Field 2 Device Address Info Field 3 Not used I
240. tion enables the display of all status lines ready and suspension Express Logic Inc 42 Description of TraceX Finally the All Off option disables the display of all status lines i TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View KGS Help Je e Ticks per Microsecond 4 4 4 494 Event Ready Only Sequential VIEW Time VIEW Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015D94 Priority 0 _ Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 Thread 2 0x00005784 Priority 16 Thread 3 0x0000582C Priority 8 Thread 4 0x000058D4 Priority 8 Thread 5 0x0000597C Priority 4 Thread 6 0x00005A24 Priority 8 Thread 7 0x00005ACC Priority 8 Seats Purchased FIGURE 3 12 Event Information Display TraceX provides detailed information on some 600 run time events including ThreadX FileX NetX NetX Duo and USBX API calls and internal events TraceX also supports up to an additional 61 439 unique user defined events Regardless of whether sequential or time display mode is selected a mouse over on any event in the display area results in detailed event information displayed near the event The mouse over of event ant gt User Guide TraceX User Guide 43 494 in the demonstration demo threadx trx trace file is shown in Figure 3 13
241. tr a define TX TRACE SEMAPHORE DELETE 82 y semaphore ptr I2 stack ptr 7 define TX TRACE SEMAPHORE GET 83 PE semaphore ptr I2 wait option 13 current count I4 stack ptr define TX TRACE SEMAPHORE INFO GET 84 semaphore ptr define TX TRACE SEMAPHORE PERFORMANCE INFO GET 85 semaphore ptr 7 define TX TRACE SEMAPHORE PERFORMANCE SYSTEM INFO GET 86 None define TX TRACE SEMAPHORE PRIORITIZE 87 E semaphore ptr I2 suspended count I2 stack ptr ay define TX_TRACE SEMAPHORE PUT 88 semaphore ptr I2 current count I3 suspended count I4 stack ptr define TX TRACE SEMAPHORE PUT NOTIFY 89 semaphore ptr Ej define TX TRACE THREAD CREATE 00 ee thread ptr I2 priority I3 stack ptr I4 stack size define TX TRACE THREAD DELETE 01 PE thread ptr I2 stack ptr XL define TX TRACE THREAD ENTRY EXIT NOTIFY 02 thread ptr 2 thread state I3 stack ptr 7 define TX_TRACE_THREAD_IDENTIFY 03 None 7 define TX TRACE THREAD INFO GET 04 Jx thread ptr 2 thread state xf define TX TRACE THREAD PERFORMANCE INFO GET 05 thread ptr I2 thread state xy define TX TRACE THREAD PERFORMANCE SYSTEM INFO GET 06 None 57 define TX TRACE THREAD PREEMPTION CHANGE 07 thread ptr 2 new threshold I3 old threshold I4 thread state define TX TRACE THREAD PRIORITY CHANGE 08 thread ptr I2 new priority I3 old priority I4 thread state define TX TRACE THREAD RELINQUISH 09 s stack ptr
242. trace control header ptr wy pointer to the start of the trace object registry area in the trace buffer TX TRACE OBJECT REGISTRY ENTRY tx trace registry start ptr A pointer to the end of the trace object registry area in the trace buffer TX TRACE OBJECT REGISTRY ENTRY tx trace registry end ptr pointer to the starting entry of the actual trace event area of the trace buffer TX TRACE BUFFER ENTRY tx trace buffer start ptr pointer to the ending entry of the actual trace event area of the trace buffer TX TRACE BUFFER ENTRY tx trace buffer end ptr pointer to the current entry of the actual trace event area of the trace buffer TX TRACE BUFFER ENTRY tx trace buffer current ptr trace event enable bits where each bit represents a type of event that can be enabled 7 ULONG tx trace event enable bits unter that is used in environments that don t have a timer source This counter X ted on each use giving each event a unique timestamp ULONG _tx trace simulated time function pointer used to call the application when the trace buffer wraps If NULL tion has not registered a callback function VOID tx trace full notify function VOID event trace macros that are expanded in line when event tracing is enabled tx trace initialize VOID tx trace object unregister VOID tx trace object register t p CHAR ULONG 0 n LINE INS
243. try thread pointer ULONG tx trace buffer entry thread priority ULONG tx trace buffer entry event id Express Logic Inc 252 ULONG ULONG ULONG ULONG ULONG TX TRACE BUF Trace manag Determine i this file make them e ifdef TX TRAC define TRACE else define TRACE endif Define the TRACE DECLARE Define the TRACE DECLARE Define the TRACE DECLARE Define the TRACE DECLARE Define the TRACE DECLARE Define the TRACE DECLARE Define the or disabled dynamically by the application TRACE DECLARE Define co is incremen TRACE DECLARE Define the the applica TRACE DECLARE Define the define TX TRACE INITIALIZE define TX TRACE OBJECT REGISTER t p n a b define TX TRACE OBJECT UNREGISTER o define TX TRACE IN buffer buffer buffer buffer buffer trace trace entry entry time stamp information field 1 trace entry information field 2 trace trace entry entry information field 3 information field 4 FER ENTRY Pi ement component data declarations follow f the initialization function of this component is including If so make the data definitions really happen Otherwise xtern so other functions in the component can access them E INIT DECLARE DECLARE extern pointer to the start of the trace buffer control structure oe TX TRACE CONTROL HEADER tx
244. ts a USBX Host Class Asix Activate Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used 195 Device Stack Transfer Abort ux_device_stack_transfer_abort Icon Description This event represents a USBX Device Stack Transfer Abort Event Information Fields Info Field 1 Transfer request Info Field 2 Completion code Info Field 3 Not used Info Field 4 Not used Device Stack Transfer Request ux_device_stack_transfer_request Icon Description This event represents a USBX Device Stack Transfer Request Event Information Fields Info Field 1 Transfer request Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Asix Deactivate ux host class asix deactivate Icon E Description This event represents a USBX Host Class Asix Deactivate Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 196 Host Class Asix Interrupt Notification ux_host_class_asix_interrupt_notification Icon Description This event represents a USBX Host Class Asix Interrupt Notification Event Information Fields Info Field 1 Class Instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Host Class Asix Write Icon Description This event represents a USBX Host Class Asix Write Event ux host
245. ts and v L accept the terms in the license agreement Ido not accept the terms in the license agreement FIGURE 2 2 Selecting Next button in Figure 2 2 indicates the terms of the license agreement are agreed and ets gt User Guide TraceX User Guide 17 TraceX installation continues as shown in the Figure 2 3 TraceX InstallShield Wizard Customer Information Please enter your information a lei Organization EL FIGURE 2 3 At this point the User Name and Organization should be entered followed by selection of the Next Express Logic Inc 18 Installation and Use of TraceX button which continues the installation as shown in the Figure 2 4 i TraceX 5 InstallShield Wizard Destination Folder Click Next to instal to this folder or click Change to instal to a different folde r4 InstalTracexS to C Express_Logic Tracex_5 FIGURE 2 4 ets gt User Guide TraceX User Guide 19 If the default installation path is okay simply select the Next button to continue the installation as shown in Figure 2 5 i TraceX 5 InstallShield Wizard Ready to Install the Program The wizard is ready to begin instalation If you want to review or change any of your installation settings cick Back Click Cancel to exit the wizard Current Settings Setup Type Typical Destination Folder C Express_Logic Tracex_5 User Information Name Bil Company EL FIGURE 2 5
246. ued 0x00000029 Next Context thread 2 0x00005784 Delta Previous 229 ticks 2 86 pis Delta Next 229 ticks 2 86 pis FIGURE 3 22 Priority Inversions TraceX automatically displays priority inversions detected in the trace file Priority inversions are defined as conditions where a higher priority thread is blocked trying to obtain a mutex that is currently owned by a lower priority thread This condition is termed deterministic because the system was set up to operate in this manner To inform the user TraceX shows deterministic priority inversion ranges as a light salmon color TraceX also displays non deterministic priority inversions These priority inversions differ from the deterministic priority inversions in that another thread of a different priority level has executed in the middle of what was a deterministic priority inversion thereby Express Logic Inc 52 Description of TraceX making the time within the priority inversion somewhat non deterministic This condition is often unknown to the user and can be very serious In order to alert the user of this condition TraceX shows non deterministic priority inversions as a brighter salmon color Figure 3 23 shows both deterministic and non deterministic priority inversions it TraceX 5 C Express_Logic TraceX_5 TraceFiles complex_priority_inversion_loop trx File View Options Help YO di3G Qo PTE Sequential View Time View Context Summary
247. uffer and also describes the underlying format of the buffer This includes the following em hreadX Event Trace Support 70 em Enabling Event Trace 70 m Defining Time Stamp Constants 70 em Exporting the Trace Buffer 72 em Extended Event Trace API 73 Enable event tracing 74 Filter specified events 76 Unfilter specified events 80 Disable event tracing 84 Insert ISR enter event 86 Insert ISR exit event 88 Register trace buffer full application callback 90 em insert user event 92 Express Logic Inc 70 Generating Trace Buffers ThreadX Event Trace Support ThreadX provides built in event trace support for all ThreadX services thread state changes and user defined events The ThreadX event trace capability is primarily designed as a post mortem tool to analyze the last n activities in the application From this information the developer may spot problems and or potential targets of optimization TraceX graphically displays the event trace buffer built by ThreadX The following describes how to build the buffer and describes the underlying format of the buffer Enabling Event Trace To enable event trace define the time stamp constants build the ThreadX library with TX ENABLE EVENT TRACE defined and enable tracing by calling the tx trace enable function Defining Time Stamp Constants The time stamp constants are designed to provide the developer control over the time stamp used in the event trace
248. unauthorized use duplication transmission distribution or disclosure of this software is expressly forbidden Ey nf This Copyright notice may not be removed or modified without prior f written consent of Express Logic Inc T ia EJ Express Logic Inc reserves the right to modify this software without notice y A LP Express Logic Inc info expresslogic com xy 11423 West Bernardo Court http www expresslogic com San Diego CA 92127 ay BORK KK KK A I AA A A AA KKK KKK KKK KK KR I A KKK AA A Ae AA AA kA k ck ckckckckckckokokck ck ck kokokck ck ck kokck kk BOR KK KK KKK KKK KKK AA AA KKK KKK KKK AA I KKK FER x ThreadX Component x ER x re Port Specific x ER x XKX KKK KKK KKK KKK KKK KKK KKK KKK KKK BORK KK KK KKK KKK KKK AA AA KKK KKK KKK KKK KKK 8K KK KKK KKK KKK kk kk KKK KKK KKK ck ck ckckckckckokokck ck ck kokokckck ck kokcke kk f PE 27 PORT SPECIFIC C INFORMATION RELEASE 7 As ur Cx port h ARM7 RVDS 5 0 LS AUTHOR 7 y 7 William E Lamie Express Logic Inc 7 FL DESCRIPTION xy az This file contains data type definitions that make the ThreadX f real time kernel function identically on a variety of different processor architectures For example the size or number of bits in an int data type vary between microprocessor architectures and even C compilers
249. upt save temp ifdef TX ENABLE FIQ SUPPORT define TX DISABLE asm N X MRS interrupt save CESR ORR temp interrupt save 0xC0 V MSR CPSR c temp telse define TX DISABLE asm N L MRS interrupt save CESR ORR temp interrupt save 0x80 MSR CPSR c temp endif define TX RESTORE asm N L MSR CESR c interrupt save Express Logic Inc 246 else unsigned int tx thread interrupt disable void unsigned int tx thread interrupt restore UINT old posture define TX INTERRUPT SAVE AREA unsigned int interrupt save define TX DISABLE interrupt save _ tx thread interrupt disable define TX RESTORE tx thread interrupt restore interrupt save endif Define the interrupt lockout macros for each ThreadX object define TX BLOCK POOL DISABLE TX DISABLE define TX BYTE POOL DISABLE TX DISABLE define TX EVENT FLAGS GROUP DISABLE TX DISABLE define TX MUTEX DISABLE TX DISABLE define TX QUEUE DISABLE TX DISABLE define TX SEMAPHORE DISABLE TX DISABLE Define the version ID of ThreadX This may be utilized by the application ifdef TX THREAD INIT CHAR t version id Copyright c 1996 YYYY Express Logic Inc ThreadX ARM7 RVDS Version GVVVV 5 0 SN ZZZZ felse extern CHAR tx version id endif endif ets gt User Guide This chapter displays the tx_trace h fi
250. urchased FIGURE 3 5 ets gt User Guide TraceX User Guide 35 Note also the ruler above the event display in Figure 3 5 This ruler shows relative ticks from the beginning of the trace as derived from the time stamp instrumented in the event trace logging inside of ThreadX If the time stamps are too close low frequency timer the events will run together Conversely if the time stamps are too far apart high frequency timer then the events will be too far apart Choosing the right frequency time stamp is an important consideration in making the time relative view meaningful System Summary Line TraceX also provides a single summary line the top context in Figure 3 6 that includes all events on the same line This makes it easy to see an overview of a complex system The summary bar is especially beneficial in systems that have many threads Without such a summary line you would have to Express Logic Inc 36 Description of TraceX follow complex system interactions using the vertical scroll bar to follow the context of execution it TraceX 5 C Express_Logic TraceX_5 TraceFiles demo_threadx trx File View Options Help r e cil al 3 E etw L 494 Event Sequential View Time View Context Summary Event Summary Event ID Interrupt Initialize Idle System Timer Thread 0x00015094 Priority 0 Thread 0 0x00005634 Priority 1 Thread 1 0x000056DC Priority 16 _ Threa
251. used IPSEC Enable Icon Description This event represents enabling IPSec services on the supplied IP instance via nx_ipsec_enable nx_ipsec_enable Information Fields Info Field 1 Pointer to IP instance Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Packet Copy Icon nx_packet_copy Description This event represents copying a packet via nx_packet_copy Information Fields Info Field 2 New packet pointer Info Field 3 Pointer to packet pool Info Field 4 Wait option 161 IP Status Check Icon Description This event represents checking for an IP status via nx ip status check nx ip status check Information Fields Info Field 1 Pointer to the IP instance Info Field 2 Requested status Info Field 3 Actual status Info Field 4 Wait option Packet Allocate Icon L Description This event represents allocating a packet via nx packet allocate nx packet allocate Information Fields Info Field 1 Pointer to the packet pool Info Field 2 Pointer to packet allocated Info Field 3 Packet type Info Field 4 Available packets Packet Data Append Icon Description This event represents appending data to a packet via nx_packet_data_append nx_packet_data_append Information Fields Info Field 1 Pointer to the packet Info Field 2 Pointer to data Info Field 3 Size of data Info Field 4 Pointer to packet pool Express Logic Inc 162 Packet Data Extra
252. vent_flags_info_get Icon a Description This event represents retrieving information regarding an existing event flags group via tx event flags info get Information Fields Info Field 1 Pointer to event flags group Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Event Flags Performance System Info Get tx event flags performance system info get Icon Description This event represents retrieving performance information regarding an existing event flags group via tx event flags performance info get Information Fields Info Field 1 Not used Info Field 2 Not used Info Field 3 Not used Info Field 4 Not used Express Logic Inc 106 Event Flags Set Icon Description This event represents setting or clearing event flags in an existing event flags group via tx event flags set tx event flags set Information Fields Info Field 1 Pointer to event flags group Info Field 2 Event flags to set or clear Info Field 3 AND or OR event flag option Info Field 4 Number of threads suspended on event flag group Interrupt Control Icon Description This event represents changing the interrupt lockout posture of the processor via tx_interrupt_control tx interrupt control Information Fields Info Field 1 New interrupt posture Info Field 2 Stack pointer at time of call Info Field 3 Not used Info Field 4 Not used Mutex Delete Icon Description This event
253. y 0 Event Trace Entry n Event Trace Control Header The control header defines the exact layout of the event trace buffer This includes how many ThreadX objects can be registered as well as how many events can be recorded In addition the control header defines where each of the elements of the ets gt User Guide TraceX User Guide 233 trace buffer resides The following data structure defines the control header typedef struct TX TRACE CONTROL HEADER STRUCT U LONG tx trace control header id U LONG tx trace control header timer valid mask U LONG tx trace control header trace base address U LONG tx trace control header object registry start pointer U SHORT tx trace control header reservedl USHORT tx trace control header object registry name size ULONG tx trace control header object registry end pointer U LONG tx trace control header buffer start pointer U LONG tx trace control header buffer end pointer U LONG tx trace control header buffer current pointer U LONG tx trace control header reserved2 U LONG tx trace control header reserved3 U LONG tx trace control header reserved4 TX TRACE CONTROL HEADER Control Header ID The control header ID consists of the 32 bit HEX value of 0x54585442 which corresponds to the ASCII characters TXTB Since this value is written as a 32 bit unsigned variable it can also be used to detect the endianness of the event trace buffer For example if the valu
254. y to File Data Coverage K Memory Fill Memory Save Memory Restore x Set Data Breakpoint Express Logic Inc 260 This results in the Memory Save dialog to be displayed Enter the starting and ending address and the trace file name then select the Save button In the example shown below the IAR tools save the specified trace buffer into Intel HEX records in the file trace file hex Memory Save fone Start address Stop address Close Ox 102200 Ox109F00 File Format lintel extended Filename C ireleasetithreadxitrace File hex y At this point we have the trace buffer saved in the trace file hex file on the host and is ready for viewing with TraceX CodeWarrior Tools The trace buffer can be dumped to a host file easily with the CodeWarrior tools by entering the save command in the Command Window The following example save command assumes the trace buffer starts at 0x102200 and ends at Ox109F00 gt Save b prz0xl02200 4 0x109F00 trace file trx a 32bit ant gt User Guide MPLAB Tools Step 1 TraceX User Guide 261 This results in the trace buffer being saved in the file trace file trx on the host MPLAB can create a TraceX compatible trace file through its Export Table utility which allows the export of any range of memory to a host file To use this utility to create a trace file for TraceX proceed as follows Open a memory window by
Download Pdf Manuals
Related Search
Related Contents
ANIMATIONS jEUNESSE - Site officiel de la ville de Vihiers Display Panel Standard (DPS) CAEN V1290 A Hosa Technology GTR-010 MDS-S9 - MiniDisc Community Page Instrucciones de manejo TV Copyright © All rights reserved.
Failed to retrieve file