Interlaced protocol for smart card application development
First Claim
Patent Images
1. An integrated circuit (IC) card comprising:
- a memory device having stored therein a plurality of executable instructions;
an input/output (I/O) interface;
a smart card development interface (SCDI), coupled to the I/O interface, to receive and identify one or more debug frames interlaced within a normal communication flow between the IC card and a host system; and
a controller, coupled to the memory device and the SCDI, to execute at least a subset of the plurality of executable instructions to selectively implement at least one IC card application and a debug application which selectively controls the IC card application executing on the IC card,wherein the SCDI is configured to route the received debug frames to the debug application executing on the IC card, while promoting the application frames to the IC card application executing on the IC card, subject to conditions imposed by the debug frames,wherein the SCDI is configured to implement one or more debug features on the IC card according to debug instructions embedded within the received debug frames, wherein the debug features include one or more of read/write IC card memory, get/set breakpoints in a IC card application, sequentially step an IC card application, run an IC card application, or release a IC card application frame,wherein the SCDI is configured to generate one or more response debug frames in response to one or more received debug frames, interlace the one or more response debug frames with response application frames, and send the one or more response debug frames and response application frames to the host system.
1 Assignment
0 Petitions
Accused Products
Abstract
An integrated circuit (IC) card is presented comprising an input/output (I/O) interface and a smart card development interface (SCDI), coupled to the I/O interface, to receive and identify debug frames interlaced within a normal communication flow between the IC card and a host system.
35 Citations
23 Claims
-
1. An integrated circuit (IC) card comprising:
-
a memory device having stored therein a plurality of executable instructions; an input/output (I/O) interface; a smart card development interface (SCDI), coupled to the I/O interface, to receive and identify one or more debug frames interlaced within a normal communication flow between the IC card and a host system; and a controller, coupled to the memory device and the SCDI, to execute at least a subset of the plurality of executable instructions to selectively implement at least one IC card application and a debug application which selectively controls the IC card application executing on the IC card, wherein the SCDI is configured to route the received debug frames to the debug application executing on the IC card, while promoting the application frames to the IC card application executing on the IC card, subject to conditions imposed by the debug frames, wherein the SCDI is configured to implement one or more debug features on the IC card according to debug instructions embedded within the received debug frames, wherein the debug features include one or more of read/write IC card memory, get/set breakpoints in a IC card application, sequentially step an IC card application, run an IC card application, or release a IC card application frame, wherein the SCDI is configured to generate one or more response debug frames in response to one or more received debug frames, interlace the one or more response debug frames with response application frames, and send the one or more response debug frames and response application frames to the host system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of debugging a smart card application, the method comprising:
-
receiving one or more debug frames interlaced with application frames comprising a normal communication flow between a smart card and a host system; identifying the one or more debug frames by; reading a source and/or destination address of frames comprising the normal communication flow; and detecting invalid source and/or destination addresses in select frames denoting debug frames; routing the received debug frames to a debug application executing on the smart card, while promoting the application frames to an application executing on the smart card, subject to conditions imposed by the debug frames; implementing one or more debug features on the smart card according to debug instructions embedded within the received debug frames, wherein the debug features include one or more of read/write smart card memory, get/set breakpoints in a smart card application, sequentially step a smart card application, run a smart card application, and release a smart card application frame; generating a response debug frame to a received debug frame; interlacing the response debug frame with response application frames; and sending the response debug frame and response application frames to a host system. - View Dependent Claims (12)
-
-
13. A computer system comprising:
-
a memory device having stored therein a plurality of instructions; an input/output (I/O) interface; a client development interface, coupled to the I/O interface, to receive and identify debug frames interlaced within the normal communication flow between the computer system and a removably coupled smart card; and a processor, coupled to the memory device and the client development interface, to execute at least a subset of the plurality of instructions to implement one or more applications including a smart card development application having a debug environment to send and receive debug frames to the smart card, said debug frames being interlaced within the normal communication flow between the computer system and the smart card, wherein the debug frames written by the debug application invoke one or more of the following debug features;
read/write smart card memory, get/set breakpoints in a smart card application, sequentially step a smart card application, run a smart card application, or release a smart card application frame,wherein the client development interface is configured to receive the normal communication flow from the smart card including the debug frames interlaced with the application frames, wherein the debug frames received from the smart card are received in response to debug frames issued by the computer system, wherein the application frames are promoted to an associated application executing within an application development tool executing on the computer, while the debug frames are promoted to the smart card development application having the debug environment on the computer system. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-implemented method for debugging a smart card application, the method comprising:
-
generating one or more debug frames containing debug instructions by a debug application executing within a smart card application development environment on a computer, in response to user interaction with the smart card application development environment; interlacing the generated debug frames with one or more application frames generated according to an associated application executing on the computer; sending the application frames with the interlaced debug frames to a removably coupled smart card, wherein the debug frames invoke one or more debug features of the smart card according to debug instructions embedded within the received debug frames, wherein the debug features include one or more of read/write smart card memory, get/set breakpoints in a smart card application, sequentially step a smart card application, run a smart card application, or release a smart card application frame; receiving a normal communication flow from the smart card including debug frames interlaced with application frames, wherein the debug frames received from the smart card are received in response to debug frames issued by the computer; and promoting received application frames to the associated application executing on the computer, while the debug frames are promoted to the debug application executing within the smart card application development environment on the computer. - View Dependent Claims (23)
-
Specification