Patent Publication Number: US-2009234942-A1

Title: Apparatus, system, and method for testing embedded device

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to an apparatus, a system, and a method for testing an embedded device with an operating system and a plurality of programs burned in the embedded device as firmware. 
     2. Description of the Related Art 
     An embedded device has an operating system and a plurality of programs burned in the embedded device as firmware. In testing the embedded device, the embedded device and a computer system communicating with the embedded device are started. A testing program stored in the computer system is copied to the embedded device by an operator, and then the embedded device is restarted. After the embedded device is restarted, the operator starts the testing program and thereby tests the embedded device. The above method for testing the embedded device is inefficient. 
     Another method for testing the embedded device is provided by burning special instructions into the firmware of the embedded device. In testing the embedded device, the testing program can automatically test the embedded device under control of the special instructions. However, although this method is more efficient, the requirement of modifying the firmware with special instructions leaves room for improvement. 
     What is needed, is an apparatus, a system, and a method for automatically testing embedded devices without permanently modifying firmware of the embedded devices. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an embodiment of an apparatus and an embedded device. 
         FIG. 2  is a block diagram of a storage device of the apparatus of  FIG. 1 . 
         FIG. 3  is a flow chart illustrating a method using the apparatus of  FIG. 1  to test the embedded device. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     Many aspects of the embodiments can be better understood with reference to the drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the embodiments. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. 
       FIG. 1  illustrates an embodiment of an apparatus for testing an embedded device  10 . An operating system and a plurality of programs are burned in the embedded device  10  as firmware. The programs are capable of performing functions of the embedded device  10  after the operating system has started. A serial port  12  and a network port  14  are provided in the embedded device  10 . 
     The apparatus may be a computer system  20 , and includes a display  22  and a host  24  communicating with the display  22 . The host  24  includes a motherboard  242  and a storage device  244  communicating with the motherboard  242 . A serial port  246  and a network port  248  are formed on the motherboard  242 . A serial cable  30  is electrically coupled to the serial port  246  of the motherboard  242  and the serial port  12  of the embedded device  10 , to establish a serial connection between the embedded device  10  and the motherboard  242  when the embedded device  10  and the host  24  are operating. A network cable  40  is electrically coupled to the network port  248  of the motherboard  242  and the network port  14  of the embedded device  10 , to establish a network connection between the embedded device  10  and the motherboard  242  when the embedded device  10  and the host  24  are operating. 
     Referring also to  FIG. 2 , a monitoring program  2442  capable of performing monitoring functions is installed in the storage device  244  of the host  24 . A configuration file  2444  and a testing program  2448  are stored in the storage device  244 . The configuration file  2444  has a predetermined login username, a predetermined login password, and an auto-run script  2446 . The predetermined login username and password can be used to log in to the embedded device  10 . The auto-run script  2446  defines listing and items of the testing program  2448  to test the embedded device  10 . 
     Referring also to  FIG. 3 , in testing the embedded device  10 , the monitoring program  2442  is run after the host  24  of the computer system  20  is started, and a user interface of the monitoring program  2442  may be shown in the display  22 . The monitoring program  2442  is capable of monitoring the status of the embedded device  10  by analysis of information received from the serial port  12  of the embedded device  10  through the serial connection. In the user interface of the monitoring program  2442 , an auto mode and a manual mode can be selected for logging in to the embedded device  10 . If the auto mode is selected, the predetermined login username and password stored in the configuration file  2444  can be automatically used to log in to the embedded device  10 , and the parameters of the serial ports  12  and the network ports  14  cannot be modified. If the manual mode is selected, another login username and another login password, except the determined login username password, can be manually inputted to log in to the embedded device  10 , and the parameters of the serial ports  12  and the network ports  14  can be manually modified if needed. 
     The configuration file  2444  is loaded in the monitoring program  2442 . The embedded device  10  is started, and start information of the embedded device  10  is sent to the computer system  20  through the serial connection. After the start information of the embedded device  10  is received by the monitoring program, the login username and password are automatically entered to log in to the embedded device  10  through the serial connection if the auto mode is selected, or manually entered if the manual mode is selected. After the monitoring program  2442  logs in to the embedded device  10 , identification information of the embedded device  10 , such as a media access control (MAC) address or an internet protocol (IP) address, is received by the monitoring program  2442  through the serial connection, and shown in the user interface of the monitoring program  2442 . The testing program  2448  is copied to the embedded device  10  by the monitoring program  2442  through the network connection. The testing program  2448  is run to test the embedded device  10  according to the auto-run script  2446 . The testing procedure and the status are monitored by the monitoring program  2442 , and shown in the user interface of the monitoring program  2442 . After the testing of the embedded device  10  according to the auto-run script  2446 , the testing program  2448  is deleted from the embedded device  10 , and the testing result is shown in the user interface of the monitoring program  2442 . 
     In one embodiment, the testing program  2448  is copied to the embedded device by the monitoring program  2442  through the network connection, and started by the monitoring program  2442  to test the embedded device  10  according to the auto-run script  2446 , then deleted from the embedded device  10  by the monitoring program  2442 . Thus, the testing program  2442  does not permanently modify the firmware of the embedded device  10 . 
     Furthermore, the testing procedure and the testing result is received by the monitoring program  2442  and shown in the user interface through the network connection, but not the serial connection. Because information transmitting velocity of the network connection is greater than information transmitting velocity of the serial connection, the testing efficiency is improved and the testing time is decreased. 
     It is to be understood, however, that even though numerous characteristics and advantages have been set forth in the foregoing description of embodiments, together with details of the structures and functions of the embodiments, the disclosure is illustrative only, and changes may be made in detail, especially in matters of shape, size, and arrangement of parts within the principles of the disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.