I. Field
The present disclosure generally relates to debug operations of software running on a processor. More particularly, the disclosure relates to a system and a method to perform debug operations of software running on a processor through a power collapse event.
II. Description of Related Art
Advances in technology have resulted in smaller and more powerful personal computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, personal digital assistants (PDAs), and paging devices that are small, lightweight, and easily carried by users. More specifically, portable wireless telephones, such as cellular telephones and IP telephones, can communicate voice and data packets over wireless networks. Further, many such wireless telephones include other types of devices that are incorporated therein. For example, a wireless telephone can also include a digital still camera, a digital video camera, a digital recorder, and an audio file player. Also, such wireless telephones can include a web interface that can be used to access the Internet. As such, these wireless telephones include significant computing capabilities.
Typically, as these devices include greater functionality, more power is consumed by the various internal components that may be needed to support the various functions of the devices. Consequently, to save power during periods of non-use, mobile devices have incorporated various power saving techniques. There are three different modes that advanced RISC machines (ARM) processors can enter to conserve power that will suspend or prevent debug communication: an idle mode, a sleep mode, and a power collapse mode. During an idle mode, the ARM processor clock is stopped, but the rest of the chip remains powered. During sleep mode, the ARM processor clock is off, the reference clock is off, and the voltage level is reduced. During a power collapse, the ARM processor is powered down.
In any of these three power saving modes, the processor may be inaccessible because the ARM clock is not toggling. However, it is still necessary to debug software operating on the processors and cores of the device before and/or after the power collapse.
One potential method is to reboot the chip and to restore the register data as part of the reboot process. However, this method does not allow for debugging of the supervisor code, since the supervisor code is needed for the reboot process. Moreover, one or more of the registers may not be accessible for restoration during the reboot process. For example, a debug configuration register may be reset during a reboot process and making such a register accessible may provide a security hole. Typically, the debug configuration register cannot readily be restored.
Accordingly, it would be advantageous to provide an improved system and method for use in debugging cores and processors.
In one particular embodiment, a method of performing a debug operation on a processor after a power collapse is provided. An idle state of the processor is detected during an execution mode of the processor. The idle state is determined to be associated with a power collapse event. A debug state of the processor is restored by loading debug registers within the processor during the execution mode.
In a particular embodiment, a state of the processor is queried after detecting the idle state of the processor. Further, in a particular embodiment, a debug operation is executed that uses at least one of the restored debug registers. In another particular embodiment, the debug operation is one of a breakpoint and a watchpoint debug operation.
In a particular embodiment, the processor includes an ARM type of microprocessor core. In another particular embodiment, the idle state is detected when a processor clock of the processor is inactive. Further, in a particular embodiment, the idle state is determined to be associated with a power collapse event when the processor is in the idle state for at least 500 milliseconds. In another particular embodiment, a register scan is performed using a Joint Test Action Group (JTAG) debugger to detect the idle state of the processor. In yet another particular embodiment, at least one of the debug registers is a debug configuration register that is testable when the processor executes in a supervisor mode.
In still another particular embodiment, a resynchronized timing clock (RTCK) signal is evaluated in connection with detecting the idle state or in connection with detecting an end of the power collapse event. In a particular embodiment, an end of the power collapse event is detected prior to restoring the debug state.
In another particular embodiment, a method of performing a debug operation on a processor having a processor core is provided. An idle state of the processor core is detected during an execution mode of the processor. A request for a debug operation is provided while the processor is in the idle state. It is determined that the idle state is associated with a power collapse event by querying a state of the processor while the processor is halted. The method further includes entering into a Joint Test Action Group (JTAG) wait mode, detecting an end of the power collapse event, restoring a debug state of the processor by loading debug registers, detecting a debug acknowledge signal, and performing the debug operation that was requested.
In a particular embodiment, a power signal that is associated with power supplied to the processor is turned off before entering into the JTAG wait mode. In another particular embodiment, the method includes detecting expiration of a clock timer prior to detecting the idle state. In another particular embodiment, an input/output interface of the processor core is in a frozen condition prior to the end of the power collapse event.
In still another particular embodiment, a JTAG input/output interface of the processor core is frozen during the power collapse event and is unfrozen after detecting the end of the power collapse event. In another particular embodiment, the debug operation is one of a breakpoint and a watchpoint debug operation. In another particular embodiment, the processor is in the idle state for at least 500 milliseconds. In yet another particular embodiment, the method includes performing a register scan using a JTAG debug system to detect the idle state of the processor.
In another particular embodiment, a processor debugging device is disclosed and includes means for detecting an idle state of a processor, means for providing a request for a debug operation while the processor is in the idle state, means for determining that the idle state is associated with a power collapse event, means for detecting an end of the power collapse event and for restoring a debug state of the processor, and means for performing the debug operation that was requested.
In another particular embodiment, an integrated circuit includes a debug interface, a debug register, a modem power manager and a processor. The debug interface is adapted to receive instructions related to a debug operation. The debug register is adapted to store data related to the debug operation. The modem power manager is adapted to control a digital voltage level, to collapse the digital voltage level to conserve power during a period of processor inactivity, and to restore the digital voltage level when the period of processor inactivity is ended. The processor is responsive to the debug interface and to the modem power manager and is adapted to drive a power exit pin to a designated logic level in response to restoration of the digital voltage level.
In a particular embodiment, the data is restored to the debug register upon restoration of the digital voltage level. In another particular embodiment, a Joint Test Action Group (JTAG) interface is adapted to connect to a debug system. The processor is adapted to freeze a logic level of at least one pin of the JTAG interface in response to collapse of the digital voltage level. Further, in a particular embodiment, the processor is adapted to unfreeze the logic level of the at least one pin upon restoration of the digital voltage level.
In another particular embodiment, a debug system includes a debug interface, processor readable instructions, and a processor. The debug interface is adapted to connect to a target processor. The processor readable instructions define debug operations and define a user interface for user interactions. The processor is adapted to produce the user interface based on the processor readable instructions and to control the debug operations in response to the processor readable instructions. The processor is adapted to detect a power collapse state of the processor based on a change of state of a pin of the debug interface.
In a particular embodiment, the processor is adapted to store a state of the debug registers in the memory during the debug operations. The debug system is adapted to restore the state of the debug registers from the memory in response to the change of state. In another particular embodiment, the pin includes a clock pin, and the change of state includes a rising clock edge on the clock pin after a period of inactivity.
In a particular embodiment, a portable communication device includes a digital signal processor and a controller. The controller includes a modem power manager and a processor. The modem power manager is adapted to control a digital voltage level, to collapse the digital voltage level to conserve power during a period of processor inactivity, and to restore the digital voltage level when the period of processor inactivity is ended. The processor is responsive to the modem power manager and is adapted to control operation of a portion of the communication device. The processor includes debug functionality to provide a power collapse recovery indication in response to restoration of the digital voltage level from a collapsed power state.
In a particular embodiment, the controller and the digital signal processor are provided on an integrated circuit with test pins. Further, in another particular embodiment, the portable communication device includes an analog baseband processor, a stereo audio coder/decoder (CODEC), a radio frequency (RF) tranceiver, an RF switch and an RF antenna. The analog baseband processor is coupled to the digital signal processor. The stereo audio coder/decoder (CODEC) is coupled to the analog baseband processor. The radio frequency (RF) transceiver is coupled to the analog baseband processor. The RF switch is coupled to the RF transceiver. The RF antenna is coupled to the RF switch.
In a particular embodiment, a processor readable medium embodying executable instructions is provided to perform a debug operation on a processor. The executable instructions include instructions to detect an idle state of a processor during an execution mode of the processor, instructions to determine that the idle state is associated with a power collapse event, and instructions to restore a debug state of the processor by loading debug registers of the processor during the execution mode.
In another particular embodiment, the processor readable medium further includes instructions to query a state of the processor after detecting the idle state of the processor. In yet another particular embodiment, the processor readable medium further includes instructions to execute a debug operation that uses at least one of the debug registers. In another particular embodiment, the debug operation includes instructions to execute one of a breakpoint and a watchpoint debug operation. In yet another particular embodiment, the idle state is detected when a processor clock of the processor is inactive. In still another particular embodiment, the processor readable medium further includes instructions to perform a register scan using a Joint Test Action Group (JTAG) debug system to detect the idle state of the processor. In yet another particular embodiment, the processor readable medium further includes instructions to execute a supervisor mode to test a debug configuration register of the debug registers. In still another particular embodiment, the processor readable medium further includes instructions to detect an end of the power collapse event prior to restoring the debug state.
An advantage of one or more embodiments disclosed herein can include enabling debug operations to be performed during and after a power collapse event.
Another advantage of one or more embodiments disclosed herein can include performing debug operations through a power collapse and power recovery process without the addition of side-band signals.
Other aspects, advantages, and features of the present disclosure will become apparent after review of the entire application, including the following sections: Brief Description of the Drawings, Detailed Description, and the Claims.
The aspects and the attendant advantages of the embodiments described herein will become more readily apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
In general, the interface protocol converter 104 is shown as a separate element, but may be incorporated into the host computer 102, depending on the implementation. The interface protocol converter 104 allows the debug software running on the host computer 102 to communicate with the processor 106. In general, the host computer 102 includes a processor executing a debug software application or debug system to issue high-level commands (such as breakpoints, watchpoints, and the like) and to examine the contents of memory of the processor 106. The debug software can use the interface protocol converter 104 to access scan chains to debug the processor 106. The scan chains allow the debug software of the host computer 102 to insert instructions directly into the processor 106. The instructions are executed on the processor 106 and depending on the type of instruction, the state of the processor 106 may be examined, saved or changed. In general, the debug architecture provides a means for controlling a speed of execution of the instructions on the processor 106, such that instructions can be executed at a slow debug speed, at system speed, or at other speeds. Additionally, the debug architecture 100 allows a user/operator to monitor the execution of processor readable instructions within the processor to debug the processor, the processor readable instructions, or any combination thereof.
The JTAG interface 108 of the processor 106 provides access by the host computer 102 to the scan chains for debug operations of the processor 106. Additionally, the JTAG interface 108 provides access by the host computer 102 to system state data and to debug data of the processor 106. In general, the processor 106 does not need to be running to begin debug operations. In a halt debug mode, the debug extensions allow the host computer 102 to put the processor 106 into a debug state, allowing the internal state of the processor 106 to be examined, while other system activity may be allowed to proceed. In a monitor debug mode, an instruction abort can be generated on a breakpoint or a watchpoint to debug the processor 106 without entering the halt debug mode. When utilized in conjunction with a debug monitor software application running on the host computer 102, it is possible to debug the processor 106 while allowing the execution of critical interrupt service routines.
The host computer 102 includes a memory 120, processor readable instructions 122 defining software debug system, and a processor 124. The processor 124 is adapted to access the memory 120 and to execute the processor readable instructions 122 to produce a debug software application with a graphical debugger user interface 126. A user may interact with the graphical user interface 126 to initiate debug operations on the processor 106, to define settings for the debug operations, and to monitor the progress of the debug operations. The memory 120 may be used to store debug settings, processor state data, and debug register data when a power collapse occurs during a debug operation. The debug software application running on the host computer 102 can utilized the data stored in the memory 120 to restore debug registers and other debug settings of the processor 106 when power is restored. In one embodiment, one of the debug registers is a debug configuration register that is testable when the processor executes in a supervisor mode, and that is not testable when the processor executes in a user mode.
The MPM 210 is adapted to control the entry and exit of a power-saving feature, such as the power collapse mode. A power collapse is a power-related event where the power regulator that controls the voltage of the digital logic domain (VDD_DIG) is shut off. By shutting off the power regulator, the static or standby current consumption of the processor (and of associated circuitry) is reduced. Though the MPM 210 is powered during the power collapse mode, the state of any registers outside of the MPM 210 may be unknown after a power collapse. Therefore, after a power collapse, the MPM 210 asserts a reset signal to initialize internal processor cores, such as the main processor logic 202 and embedded logic 204. The reset includes an assertion of a reset debug logic (TRST_n) signal to reset the debug logic.
Since debug registers 212 of the processor 106 reside in the power collapsed domain, the debug registers 212 lose state and need to be restored when power is restored. In order to restore the state of the debug registers 212, the main processor logic 202 and the embedded logic 204 are placed into debug mode, and the debugger application on the host computer 102, for example, restores the debug registers 212 from memory 120 and restarts the processor 106.
As shown in
During a sleep state or mode, the voltage supply (VDD_DIG) is high, the reference clock (TXCO) becomes idle after a few clock cycles, and the processor clock (ARM_CLK) is idle. The sleep mode or state saves processor and bus power during long periods of processor inactivity. For example, in a processor within a digital wireless phone (cellular, PCS, or other type of wireless telephone), there may exist long periods of inactivity when the phone is on but not being used. In most cases, the sleep mode lasts for a longer period of time than the idle mode. During a sleep mode, a received debug instruction is ignored until the next interrupt is received, at which point the processor decides to service the interrupt and/or to respond to the received debug instruction.
During a power collapse state, the supply voltage (VDD_DIG) is low, the reference clock (TXCO) becomes idle after a few clock cycles, and the processor clock (ARM_CLK) is idle. The power collapse state saves power by shutting off the digital power supply voltage (VDD_DIG) during long in-active periods. To enter a power collapse state, the processor disables all clock regimes, turns off all phase locked loops (PLLs), puts the SDRAM in a self-refresh mode, disables the processor and bus clocks, disables the reference clock (TXCO), freezes the input/output (I/O) of the chip, and turns off the voltage supply regulator.
The power collapse mode lasts longer than a second unless a high priority interrupt is received. If a debug instruction is received while the processor is in a power collapse state, the debug instruction is ignored until a next interrupt is received. Once the interrupt is received, the reference clock (TXCO) is enabled, the voltage supply regulator (VDD_DIG) is powered up, a reset is asserted, and the ARM and bus clocks are restarted. A resynchronized timing clock (RTCK) is restarted, and the debugger software of the host computer restores the debug registers within approximately 4 milliseconds before the input/output (I/O) of the chip is released.
In general, the resynchronized timing clock (RTCK) is a re-synchronized, delayed version of the timing clock (TCK). The debugger can be configured to utilize the RTCK. When the processor is halted, the RTCK signal is frozen at a high level or at a low level, regardless of which low-power mode the processor is in. The RTCK timeout may be configured or user programmed. In a particular embodiment, the RTCK timeout setting is configured to be long enough such that most idle periods do not trigger a timeout and such that standard sleep periods do trigger the timeout.
In general, if the power collapse duration is shorter than an RTCK timeout period, the current scan can be corrupted. However, since the debugger is assumed to be scanning status registers only, the scan corruption should not be an issue. If the idle state duration causes an RTCK timeout, some garbage may be left in the shift registers after the clocks are reactivated. However, the debugger can safely abort the scan and move on since the scan is assumed to be a status register read operation.
When the last reference clock edge does not appear on a resynchronized timing clock (RTCK) pin of the processor within the timeout period, a current scan of the debugger may be aborted, and the debugger sets the TAP controller to a debug logic reset state. In general, the RTCK timeout may be determined based on expiration of a clock timer. In one embodiment, the debug logic reset state can be set by holding a voltage level on a core reset pin high for five reference clock cycles. When the next resynchronized timing clock (RTCK) signal is detected, the processor has resumed operation. If an RTCK timeout occurs at any point during the transition to the debug logic reset state, the process is restarted.
Once the TAP controller is in a debug logic reset state, the debug system can perform scans of the status register. The status register value will determine the current state of the processor. If the current state of indicated by the status register indicates that the processor is running, the processor may be in a sleep or idle mode and the debugger takes no further action. If the status register indicates that the processor is halted, the halted operation could be due to a user breakpoint (idle mode or sleep mode), in which case the debugger performs the usual steps in response to a user breakpoint. If the processor is halted due to a debug instruction (EDBGRQ) from power collapse recovery logic within the modem power manager (MPM), the debugger restores the debug registers, the ETM registers, the ETB registers, or any combination thereof, within 4 milliseconds. Once the debug registers are restored, the debugger releases the debug acknowledge (DBGACK) to restart the processor.
In general, the modem power manager (MPM) may be integrated with an integrated circuit, such as a circuit within a mobile communications device having a power collapse debug functionality. A register bit (DEBUG_SELECT) of the MPM enables the power collapse debug functionality. In a particular embodiment, all JTAG inputs/outputs (I/Os) are frozen during a power collapse and unfrozen when the digital voltage power supply (VDD_DIG) is stabilized and the reset is released.
The MPM asserts a reset debug logic signal (TRST_N) to the processor core. During power collapse recovery, the MPM asserts an external debug request (MPM_EDBGRQ). In a particular embodiment, the processor is halted upon receipt of the external debug request within five reference clock cycles. The debug acknowledge (DBGACK) is asserted when the external debug request is detected and the processor is halted. By keeping the number of clock cycles low, the processor executes fewer instructions before detecting the debug request and halting.
During a run state, the digital supply voltage (VDD_DIG) to the processor is high, the reset is held at logic low, and the reset debug logic (TRST_N) is held at logic high. The external debug request (EDBGRQ) pin and the debug acknowledge pin (DBGACK) are held at logic low. The reference clock (TCXO) and the processor clock (ARM_CLK) are toggling. The timing clock (TCK) and the resynchronized timing clock (RTCK) are toggling.
When the processor changes to an idle state, the digital supply voltage (VDD_DIG) to the processor falls below the level of the run state. The reset is held at logic low, and the reset debug logic (TRST_N) is held at logic high. The external debug request (EDBGRQ) pin and the debug acknowledge pin (DBGACK) are held at logic low. The reference clock (TCXO) is toggling. However, the processor clock (ARM_CLK) is halted. The timing clock (TCK) is halted and the resynchronized timing clock (RTCK) remains frozen.
When the processor changes to a power collapse state, the digital supply voltage (VDD_DIG) to the processor is shut off (falls to approximately zero volts). The reset is held at logic low, and the reset debug logic (TRST_N) is frozen at logic high. The external debug request (EDBGRQ) pin and the debug acknowledge pin (DBGACK) are frozen at logic low. The reference clock (TCXO) toggles for a few clock cycles and then halts. The processor clock (ARM_CLK) remains halted. The timing clock (TCK) is halted, and the resynchronized timing clock (RTCK) remains frozen.
As the digital voltage supply (VDD_DIG) is restored, the processor enters a power collapse recovery state or reset state. The core reset pin is driven to a logic high, and the reset debug logic pin is driven to a logic low. The external debug request (EDBGRQ) is driven to a logic high, while the debug acknowledge pin (DBGACK) remains at logic low. The reference clock (TCXO) begins toggling, while the processor clock (ARM_CLK) remains halted. The timing clock (TCK) remains halted, and the resynchronized timing clock (RTCK) remains frozen.
After a brief period of time, the digital supply voltage (VDD_DIG) is restored to a stable high voltage level, which typically corresponds to a run state of the processor. However, the processor is still in a reset state. At this point, the processor clock (ARM_CLK) begins toggling. The core reset pin is driven to logic low, and the reset debug logic pin (TRST_N) is driven to a logic high.
At this point, the processor enters a run state. The resynchronized timing clock (RTCK) becomes unfrozen. The JTAG debug system can utilize the falling edge of the resynchronized timing clock (RTCK) to enter a JTAG wait mode to monitor a state of the timing clock (TCK) pin to detect when the processor has exited the idle, sleep or power collapse states.
After a few clock cycles, the processor enters a debug halt state (upon detection of the logic high state of the external debug request pin (EDBGRQ) by the processor). The JTAG debug system monitors the timing clock (TCK) for a rising edge. Once the rising edge of the timing clock (TCK) is detected, the JTAG debug system halts the processor and queries or scans the status registers to determine the state of the processor. The debug acknowledge pin (DBGACK) is driven to a logic high, and the external debug request pin (EDBGRQ) is driven to logic low. At this point, if the JTAG debug system determines that the processor is recovering from a power collapse, the JTAG debug system restores the debug state, including the state of the debug registers, including breakpoints and watchpoints, from memory. The restore operation takes place while the debug acknowledge pin (DBGACK) is held at logic high. Preferably, the restore operation is completed within approximately four milliseconds.
Once the debug registers and the pre-power collapse state of the processor have been restored by the JTAG debug system, the JTAG debug system releases the logic level of the debug acknowledge pin (DBGACK), thereby restarting normal processor execution in the debug mode, according to the debug settings. The JTAG debug system can then perform debug operations on the processor using at least one of the restored debug registers. For example, if the debug operations were configured for slow processor execution, the processor would resume the slow execution.
By using the static resynchronized timing clock (RTCK) to detect the change of state of the processor and to trigger a scan of the processor state by the JTAG debug system, the existing 20-pin JTAG interface, such as that shown in
In general, the MPM 702 controls the logic level of the core reset pin and the external debug request pin (EDBGRQ) of the processor 704. Since the MPM 702 shuts off the power regulator and controls the voltage of the digital logic domain, the MPM 702 knows when to assert the reset debug logic (TRST_N) into the processor 704. Additionally, during power collapse recovery, the MPM 702 asserts the external debug request (EDBGRQ) to the processor 704 to initiate a debug halt. Once the debug acknowledge (DBGACK) is received from the processor 704, the MPM 702 deasserts the external debug request (EDGBRQ), and the JTAG debug system can restore the state of the processor 702 and the state of selected debug registers, including breakpoints and watchpoints within the code.
In the embodiment of
When the processor 704 enters a power collapse state, the JTAG signals are frozen at the current level. The JTAG debug software application running on a host processor coupled to the processor through the JTAG interface 702 may incorporate an algorithm to detect a bit sequence on the timing clock (TCK)/TDK/TDO pin to infer that a power collapse has occurred. Any partial scans by the JTAG debug system can then be aborted and the debugger can go into a JTAG wait mode to wait for an active high level on the resynchronized timing clock (RTCK) pin, which indicates that the processor 704 has exited power collapse and is halted in debug mode. The JTAG debug system can then restore debug and ETM register settings of the processor 704. It should be understood that the JTAG debug system keeps a local copy in memory of values written to the debug registers and the ETM registers in order to implement the restore operation. After the debug and ETM registers are restored, the JTAG debug system can scan instructions to cause the processor 704 to restart program execution.
In general, the JTAG debug system should retain data related to any ETM trace that was in progress before the power collapse. In general, when the processor 704 is powered down, the JTAG debug system should not generate a fatal error when the resynchronized timing clock (RTCK) is frozen. The JTAG debug system may be adapted to provide a debugger graphical user interface with a configurable timeout setting.
It should be understood that the resynchronized timing clock (RTCK) may toggle before a power collapse or after the power exit signal has been deasserted. This may occur in the case of dynamic multiplexing of the processor 702 resynchronized timing clock (RTCK) and the power exit signal, but not with static multiplexing (such as when the frozen state of the resynchronized timing clock signal is monitored to detect a frozen state and to enter a JTAG wait mode in response to the frozen state). If the MUX 706 is used to multiplex a power ext signal from the debug acknowledge (DBGACK) or from a separate power exit pin (not shown), the JTAG debug system is adapted to ignore this toggle.
Since the power exit signal represents a delayed version of the debug acknowledge (DBGACK) from the processor 704, the power exit signal should remain at a high logic level while the processor 704 is in a debug mode. In general, the power exit signal is treated as a level sensitive state bit. Therefore, it should remain at logic high long enough to be sampled by the JTAG debug system. In a particular embodiment, the power exit signal should remain at logic high for at least twenty microseconds. If the processor 704 deasserts the debug acknowledge (DBGACK) for short periods of time while in a debug mode, it may be desirable to provide a control bit in the JTAG scan chain (such as scan chains 206 and 208 in
After the digital voltage supply stabilizes in a high state, the core reset pin is driven to logic low, and the reset debug logic pin is driven to logic high. With the falling edge of the reset signal, the processor detects that the external debug request (EDBGRQ) pin is at logic high. The processor drives a debug acknowledge signal to a logic high level. At this point, the modem power manager drives the external debug request pin (EDBGRQ) to a logic low level, and the processor drives a power exit pin to a logic high. The logic high state of the power exit can be detected by the JTAG debug system on the resynchronized timing clock (RTCK) pin, for example. The multiplexer 706 (in
Electronic signals representing the user's voice can be sent to the CODEC 934 to be encoded. The digital signal processor 910 is adapted to perform data processing operations for the CODEC 934 to encode the electronic signals from the microphone. Further, incoming signals received via the wireless antenna 942 may be sent to the CODEC 934 by the wireless controller 940 to be decoded and sent to the speaker 936. The digital signal processor 910 is also adapted to perform the data processing for the CODEC 934 when decoding the signal received via the wireless antenna 942.
Further, the digital signal processor 910 can process inputs that are received from the input device 930, before the wireless communication session, during the wireless communication session, after the wireless communication session, or any combination thereof. For example, during the wireless communication session, a user may utilize the input device 930 and the display 928 to surf the Internet via a web browser application that is embedded within the memory 932 of the portable communication device 900.
In general, the portable communication device 900 includes an ARM processor 106 with debug functionality, such as that described in
Referring to
As further illustrated in
In a particular embodiment, as depicted in
In general, the on-chip system 1022 of the cellular telephone 1000 may include one or more processors with debug functionality according to any of the
Referring to
As further depicted in
In a particular embodiment, as indicated in
In general, the wireless IP telephone 1100 may include an ARM processor with debug functionality according any of the
As further depicted in
As shown in
In a particular embodiment, as indicated in
In general, the PDA 1200 may include one or more processors with debug functionality, such an ARM processor described with respect to
Referring to
As further depicted in
In a particular embodiment, as indicated in
In general, the audio file player 1300 may include one or more processors with debug functionality, such as the ARM processor 106 described with respect to
Those of skill would further appreciate that the various illustrative logical blocks, configurations, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, configurations, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, PROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a computing device or a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a computing device or user terminal.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features as defined by the following claims.