| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Charles Brokish, Jonathan Dzoba, Dennis Kertis, Williams-Smith ABSTRAC
Top Searches for this datasheetUsing Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems Charles Brokish, Jonathan Dzoba, Dennis Kertis, Williams-Smith ABSTRACT more more system components become embedded within system processor chip, techniques required debug. Signals busses that were historically available probe connection external package pins, hidden from users within processor package. This problem referred vanishing visibility meaning that user longer employ traditional techniques into system activity. restore visibility, debug triggers such breakpoints, watchpoints, counters other debug tools must also embedded allow access embedded signals. This application report instructs user take advantage advanced event triggering (AET) embedded components available TI's digital signal processors. Advanced EventTriggering Introduction terms embedded system system chip have become over-used that many forget what terms really mean. What actually embedded about system? explain this, look todays typical system designs compared those only years ago: Older systems were based many discrete components. They microcontroller chip surrounded peripherals, which were some form separate package. Debugging such systems typically matter locating signals more pins within circuit board, hooking scope lead onto appropriate pins, tracing signal logic analyzer oscilloscope. technology progressed, components printed-circuit board have become surface-mount packages form thin quad flat packages (TQFP) whose pins very difficult probe, ball grid array packages (BGA) whose pins impossible probe. Additionally, many peripherals have been integrated into microprocessor such that their signals longer available pins. only chance getting trace access these signals view them they being passed to/from off-chip memory. Furthermore, single-bus microcontroller been replaced with multi-bus digital signal processor, with ever-increasing amounts on-chip memory. Many these busses visible outside world pins. entire system become embedded this single package, truly called system chip (SOC). Code Composer Studio, XDS510, XDS560, TMS320C6211, TMS320C6711, TMS320C6400 trademarks Texas Instruments. SPRA387 offers many advantages system developer. These include lower cost, higher performance, higher reliability, lower power consumption, smaller size, lighter weight. Along with these advantages come disadvantages regard system debug, primarily lack access embedded signals busses. refers this problem vanishing visibility. user longer into system with traditional debug techniques. instrumentation techniques required. restore visibility, must embed debug components also. Event triggers such breakpoints, watchpoints, counters, state sequencers being designed into chip, alongside embedded busses signals. This restores visibility users physically co-locating debug event triggers critical system signals. refers these embedded debug components embedded emulation components (EEC). EEC, along with XDS510TM/XDS560emulator, plus associated control user interface software, combine provide advanced event triggering (AET) capability user. User access provided through TI's Code Composer Studiointegrated development environment. integrated delivery system pictured below. Target Application TMSS320 C64x Core XDS560 Emulator Code Composer Studio This application note provides guided tour advanced event triggering capability available with TI's TMS320C6211DSP generation TMS320C6711generation digital signal processor chips, XDS510/XDS560 emulator, Code Composer Studio version 2.0/2.1. Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 On-Chip Debug Capabilities On-chip capabilities have traditionally consisted simple comparators, which allow user program data hardware breakpoints. Advanced capabilities today include counters, event detectors, state sequencers. Hardware Breakpoints/Data Watchpoints Hardware breakpoints very useful when debugging embedded systems because they allow user monitor (data program) activity certain value range values, break (stop CPU) when contains that value. case program hardware breakpoints, on-chip comparators used compare desired program address with each fetched program address. When they match, halted debug purposes. Similarly, data hardware watchpoints desired data address and/or data value compare each running memory access. When address and/or data values meet, processor halted debug purposes. good example when hardware breakpoints beneficial when tracking system hangs. Typically, system hang occurs when program counter branches into invalid memory address. Usually, time halt processor, checking value program counter registers would futile, because they would have already been overwritten invalid opcodes. setting hardware breakpoint monitor program bus, detect immediately when processor tries execute invalid section memory analyze state system determine cause invalid branch. Complex/Chained Breakpoints common, upon halting CPU, interrogate contents specific registers, data, memory decide whether continue running until next breakpoint hit. This form stop-mode emulation, which would rather really stop processor until specific criteria have been indicate condition which would like halt processor deeper debug. ability recognize multiple conditions and/or sequence events entails on-chip state sequencer. combining debug logic enabling enough capability with tool itself, allow target detect series events, only halt when conditions have been indicate error application. example, trying detect when specific memory location getting corrupted, possible breakpoint typical debug tools halt whenever that memory location being accessed. Better yet, could only halt when that memory location being written However, Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 this memory location accessed several times within subroutine, getting corrupted somewhere outside that routine, then would have stop processor every time write performed even when write supposed happen. Then after stopping debugger each time program within proper subroutine, have restart processor. Eventually should catch problem. problem intermittent only occurs after extended time, halting processor prevent error from ever occurring because real-time processing been disrupted. better means detecting problem such this would breakpoint that stops only write done address concern, when outside subroutine. This requires more complex breakpoint, tools must able accommodate such capabilities. Counters/Event Detectors/Action Points sometimes unnecessary and/or undesirable halt application when event occurs. Instead, simply useful know event happens all, often. this case, breakpoints that needed, simply event detectors counters. example, when tuning algorithm, useful detect such events cache misses. case trying debug system determine timing design objectives being met, only want detect often application getting cache misses counting number times happens within specific code segment. Counting events accomplished adding variable incrementing variable inside your function. However, this would change timing system cause problem away. using counters supplied with debugging hardware, count function execution without affecting performance your system. also counters break only every often. example, want stop every tenth time system specific breakpoint, combine counters breakpoints perform this action. Just counters/event detectors halt after certain criteria met, they also used other system actions motion. instance, want drive high after certain number times through range code. State Sequencing Sometimes problem trying uncover more difficult detect. that certain memory location gets incorrect value written However, that value written from within proper subroutine. cannot breakpoint halt every time address written. Instead, need detecting other events that occur coincident with this error. control code operates, take different paths through executable program. This results some code that rarely gets executed. attempt make sure that have covered paths within Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 module control code, want check data address question only after gone through specific code sequence. this case, would want detect specific instructions executed, then address question written This referred state sequence. TI's Advanced Event Triggering (AET) Debug System Integrated with Code Composer Studio, TI's debug system allows user easily program on-chip debug modules. accessible user through three mechanisms: Context-sensitive menus source code window Event analysis plug-in simple debug tasks Event sequencer plug-in complex sequence set-up monitoring Basic Concepts Individual debug actions referred jobs menus plug-ins. Jobs three places: Context-sensitive menus source code window Event analysis plug-in Event sequencer plug-in menus plug-ins abstract user presentation from underlying hardware implementation. Using facilities requires detailed knowledge underlying on-chip hardware. That user does have know many comparators, counters, his/her chip order setup breakpoints, watchpoints, other more complex jobs. Source code menus made visible right-clicking source code window selecting Advanced Event Triggering: event analysis plug-in event sequencer plug-in accessed selecting Tools Advance Event Triggering from code composer studio Tools menu: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 jobs tracked event analysis plug-in. Here they added, tracked, enabled, disabled, removed, renamed suit user's needs: icons appear left margin source code window indicate locations status: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Drag drop source code line numbers, data variable names, desired actions enabled both event analysis event sequencer plug-ins. This minimizes amount typing needed job. Because on-chip hardware adds gates (and therefore cost) chip, these facilities naturally limited quantity. user only able setup jobs time. that exceeds capability your chip, software displays error message: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 When possible suggests disabling other jobs free enough resources current request: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Getting Detailed Help: Detailed online help tutorial available code composer studio version later. access these, select Help Contents Help Tutorial code composer studio look Advanced Event Triggering section. example program also included <root>:\ti\tutorial\aet folder. Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Context-sensitive menus Source Code Window Because user spends most his/her debug time working with code source code window, placed ability access most common jobs here. access context sensitive menus, right click anywhere source code window select Advanced Event Triggering. Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Some examples menu items are: Program menu items appear appropriate when more source code lines selected: Chained Breakpoint. (Wait location then when reaches location halt.) Program Action Point. (Wait location then perform debug action halt CPU, Drive high low, etc.) Watchdog Timer. (Tell takes more than cycles through range code.) Data menu items appear when variable name expression selected: Watch Point. (Halt variable changes, commonly used action.) Data Action Point. (Perform more actions variable changes.) Count Data Accesses. (Count Read Write accesses variable.) Counter/Timer Menu Items available times, regardless code selected: Count. (Count #occurrences #cycles spent Cache Misses, Cache Hits, NOPs, etc., then optionally perform more actions.) Timer. (Wait specified amount time, then perform more actions.) Event Analysis Plug-In Jobs event analysis plug-in right-clicking name field selecting desired type. Below, hardware breakpoint being added: After adding job, configured making appropriate selections right hand pane. this case, user must either type absolute address breakpoint, drag drop source code line number from source code window. user also option breaking first time breakpoint hit: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 statused tracked within event analysis window. Below explanations status codes: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Event Sequencer Plug-In Features: sequencer plug-in used perform more complex debug functions that involve sequences events and/or program history. Every sequencer state essentially If-Then statement. (some event occurs) Then (perform some action) event sequencer window display opens with blank program window shown below: toolbar button descriptions follows: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 first step creating sequencer program usually adding first step series program actions. This done clicking state icon right-clicking window, selecting State: Now, have skeleton first if-then statement: Next, must fill-in-the blanks. Here simple case: user noticed that certain data variable getting corrupted, only after going through particular loop program. State trigger after going through loop lines source code: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 event statement: program main.c within lines created selecting lines 123128 source code window dragging dropping those lines into sequencer window previous undefined event statement. action that want happen after loop hit. this case, want second state, action state state created dragging dropping State from right-hand pane actions list. State stop debug after data variable MyInt changes: Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Once again, drag drop used pull MyInt symbol from source code halt action from right hand pane actions list. setting this simple sequence running program, halt program debug precisely when data variable being corrupted. Special Notes regarding available on-chip resources important note that early instantiations on-chip resources, such those available C6211DSP C6711DSP devices relatively limited. Many useful debug operations performed with these devices, complex state sequence equations possible. This small number comparators, counters, available time development these devices. When requesting that outside capability your particular device, user sees error messages such When possible, suggests disabling other jobs free enough resources current request: Newer devices such TMS320C6400DSP platform versions later, should contain much richer implementations capabilities. Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems SPRA387 Summary Embedded systems cannot debugged with traditional tools. System busses probe points hidden within device, causing vanishing visibility. restore debug visibility, debug tools must also embedded. TI's advanced event triggering debug system provides these embedded debug tools, gives user access them through XDS510/XDS560 emulator Code Composer Studio IDE. Target Application TMSS320 C64x Core XDS560 Emulator Code Composer Studio advanced event triggering system provides facilities on-chip components, without requiring detailed knowledge underlying hardware. most common debug jobs, such hardware breakpoints data watchpoints directly source code window, where developer spends most his/her time. More complex jobs setup using plug-ins event analysis event sequencer plug-ins. Early versions tools found TI's C6211DSP C6711DSP devices. device families will build these bring broader richer visibility options user Using Advanced Event Triggering Debug Real-Time Problems High Speed Embedded Microprocessor Systems IMPORTANT NOTICE Texas Instruments Incorporated subsidiaries (TI) reserve right make corrections, modifications, enhancements, improvements, other changes products services time discontinue product service without notice. Customers should obtain latest relevant information before placing orders should verify that such information current complete. products sold subject TI's terms conditions sale supplied time order acknowledgment. warrants performance hardware products specifications applicable time sale accordance with TI's standard warranty. Testing other quality control techniques used extent deems necessary support this warranty. Except where mandated government requirements, testing parameters each product necessarily performed. assumes liability applications assistance customer product design. Customers responsible their products applications using components. minimize risks associated with customer products applications, customers should provide adequate design operating safeguards. does warrant represent that license, either express implied, granted under patent right, copyright, mask work right, other intellectual property right relating combination, machine, process which products services used. Information published regarding third-party products services does constitute license from such products services warranty endorsement thereof. such information require license from third party under patents other intellectual property third party, license from under patents other intellectual property Reproduction information data books data sheets permissible only reproduction without alteration accompanied associated warranties, conditions, limitations, notices. Reproduction this information with alteration unfair deceptive business practice. responsible liable such altered documentation. Resale products services with statements different from beyond parameters stated that product service voids express implied warranties associated product service unfair deceptive business practice. responsible liable such statements. Mailing Address: Texas Instruments Post Office 655303 Dallas, Texas 75265 Copyright 2002, Texas Instruments Incorporated Other recent searchesT6K17 - T6K17 T6K17 Datasheet PDIP-8 - PDIP-8 PDIP-8 Datasheet PD-2047 - PD-2047 PD-2047 Datasheet M27V322 - M27V322 M27V322 Datasheet M27C322 - M27C322 M27C322 Datasheet DMMT3906 - DMMT3906 DMMT3906 Datasheet CMM2321 - CMM2321 CMM2321 Datasheet
Privacy Policy | Disclaimer |