KR20100064467A - Apparatus and method for cpld code downloading in dual processor device - Google Patents

Apparatus and method for cpld code downloading in dual processor device Download PDF

Info

Publication number
KR20100064467A
KR20100064467A KR1020080122913A KR20080122913A KR20100064467A KR 20100064467 A KR20100064467 A KR 20100064467A KR 1020080122913 A KR1020080122913 A KR 1020080122913A KR 20080122913 A KR20080122913 A KR 20080122913A KR 20100064467 A KR20100064467 A KR 20100064467A
Authority
KR
South Korea
Prior art keywords
cpld
code
processor
host processor
slave
Prior art date
Application number
KR1020080122913A
Other languages
Korean (ko)
Inventor
조영우
이태욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080122913A priority Critical patent/KR20100064467A/en
Publication of KR20100064467A publication Critical patent/KR20100064467A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

PURPOSE: A complex programmable logic device code download method in a dual processor and a method thereof are provided to store a CPLD binary in a S/W binary data area in the dual processor, thereby automatically updating a CPLD code by CPLD binary update. CONSTITUTION: A host processor extracts a CPLD code from a CPLD(Complex Programmable Logic Device) binary in a S/W binary data area(307). A slave processor temporarily stores the CPLD code(311). The slave processor generates a JTAG(Joint Test Action Group) signal(315). The slave processor temporarily stores a CPLD code of the CPLD(321). The slave processor calculates a checksum value(325). The host processor displays a CPLD download complete message(329).

Description

듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스 코드 다운로드 장치 및 방법{APPARATUS AND METHOD FOR CPLD CODE DOWNLOADING IN DUAL PROCESSOR DEVICE}APPARATUS AND METHOD FOR CPLD CODE DOWNLOADING IN DUAL PROCESSOR DEVICE}

본 발명은 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드 장치 및 방법에 관한 것으로, 특히, 듀얼 프로세서를 사용하는 디바이스에서 호스트 프로세서의 GPIO(General Purpose Input Output) 포트가 부족한 경우, 슬레이브 프로세서의 GPIO 포트를 이용하여 CPLD에 CPLD 코드를 다운로드하기 위한 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for downloading a Complex Programmable Logic Device (CPLD) code in a dual processor device, and more particularly, to a general purpose input output (GPIO) port of a host processor in a device using a dual processor. The present invention relates to an apparatus and a method for downloading a CPLD code to a CPLD using a GPIO port of a slave processor.

모바일(Mobile) 환경이 갈수록 다기능, 융복합화로 나아가고 있기 때문에, 기존 단일 프로세서(single processor) 사용에서 다중 프로세서(multi processor) 사용의 방향으로 변하고 있다. As mobile environments are increasingly multifunctional and convergent, they are moving from the use of single processors to the use of multiprocessors.

한편, 듀얼 프로세서(dual processor)를 사용하는 디바이스의 경우, 프로세 서 간 통신 인터페이스(Interface : I/F)를 맞추기 위해, 상기 디바이스에 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : 이하 'CPLD'라 칭함)를 사용하는 경우가 늘어 가고 있다. 상기 CPLD는 프로그램 가능한 논리 소자로서, 전체 시스템이 부팅(Booting)하여 동작을 하기 위해 필요한 기본 신호를 제공한다. 향후 시스템 내에 수정이나 변동 사항이 발생한 경우, 그에 따른 추가적인 하드웨어의 변경없이, 상기 CPLD를 다시 프로그램하여 전체 시스템을 보다 쉽게 변동사항에 적용시킬 수 있다. Meanwhile, in the case of a device using a dual processor, a complex programmable logic device (CPLD) is referred to as the device in order to match an inter-processor communication interface (I / F). More and more). The CPLD is a programmable logic device that provides the basic signals needed for the entire system to boot and operate. If modifications or changes are made to the system in the future, the CPLD can be reprogrammed so that the entire system can be more easily applied to the changes without additional hardware changes.

이와 같은 시스템 운영에 핵심적인 요소라 할 수 있는 CPLD는 사소한 오류에서도 동작하지 않을 수 있으며, 이런 경우 전체 시스템 동작이 정지(Halt)되어 치명적인 문제점이 발생할 수도 있다. 따라서, 양산 과정에서 시스템의 CPLD를 테스트하여 오류가 발견되는지 여부를 검사하고, 이를 보완한 새로운 CPLD 코드를 상기 CPLD로 다운로드 받음으로써 CPLD를 갱신하여야 한다. CPLD, which is a key factor in operating such a system, may not operate even in the case of a minor error. In this case, the entire system may be suspended and a fatal problem may occur. Therefore, the CPLD of the system is tested in the mass production process to check whether an error is found, and the CPLD must be updated by downloading a new CPLD code supplemented with the CPLD.

여기서, 디바이스 양산 과정에서 상기 디바이스 내 CPLD를 테스트하기 위해서는, 상기 디바이스에 외부 인터페이스 커넥터가 형성되어야 한다. 상기 형성된 디바이스의 외부 인터페이스 커넥터와 JTAG(Joint Test Action Group) 포트(Port)의 연결을 통해, 상기 CPLD는 CPLD 다운로드 툴(CPLD Download tool)에 직접 연결될 수 있으며, 이와 같이 직접 연결된 CPLD 다운로드 툴을 이용하여 상기 CPLD를 테스트할 수 있다. Here, in order to test the CPLD in the device during device mass production, an external interface connector should be formed in the device. Through the connection of the external interface connector of the formed device and a Joint Test Action Group (JTAG) port, the CPLD may be directly connected to a CPLD Download tool, and thus, the CPLD download tool connected directly. To test the CPLD.

하지만, 상기와 같이 양산 과정에서 디바이스의 CPLD 테스트에도 불구하고, 디바이스 출시 후 상기 CPLD에 문제점이 발견되는 경우가 발생할 수 있다. 이 경 우, 상기 디바이스의 CPLD를 다시 테스트하여 오류를 발견하고, 이를 보완한 새로운 CPLD 코드를 CPLD로 다운로드 받음으로써 CPLD를 갱신하여야 한다. 현재, 상기와 같은, 디바이스 출시 후 CPLD를 갱신하기 위해서는, 디바이스를 해체하여 양산 과정시와 동일한 방법으로, 디바이스의 외부 인터페이스 커넥터와 JTAG 포트의 연결을 통해, CPLD를 CPLD 다운로드 툴에 직접 연결하여야 한다. 하지만, 이와 같은 방법은 막대한 경비 및 시간을 필요로 하는 문제점이 있다. However, despite the CPLD test of the device in the mass production process as described above, a problem may occur in the CPLD after the device is released. In this case, the CPLD of the device should be retested to find an error, and the CPLD should be updated by downloading a new CPLD code supplemented with the CPLD. Currently, in order to update the CPLD after the device is released, the CPLD must be directly connected to the CPLD download tool through the connection of the external interface connector of the device and the JTAG port in the same manner as in the mass production process. . However, this method has a problem that requires enormous expenses and time.

본 발명의 목적은 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드 장치 및 방법을 제공함에 있다. An object of the present invention is to provide a CPLD code download apparatus and method in a dual processor device.

본 발명의 다른 목적은 듀얼 프로세서를 사용하는 디바이스에서 CPLD 코드 갱신이 필요한 경우, 디바이스를 해체한 후 디바이스 양산 과정 시와 동일한 방법으로 JTAG(Joint Test Action Group) 포트를 통해 CPLD에 CPLD 다운로드 툴(CPLD Download tool)을 직접 연결하여 CPLD 코드를 갱신할 필요 없이, 갱신할 CPLD 코드가 포함된 CPLD 바이너리를 S/W 바이너리 데이터 영역에 저장시킴으로써 자동으로 CPLD 코드를 갱신하기 위한 장치 및 방법을 제공함에 있다. Another object of the present invention is a CPLD download tool (CPLD) to CPLD through the Joint Test Action Group (JTAG) port in the same manner as the device mass production process after dismantling the device when CPLD code update is required in a device using a dual processor The present invention provides an apparatus and method for automatically updating a CPLD code by storing a CPLD binary including a CPLD code to be updated in an S / W binary data region without directly connecting a download tool and updating the CPLD code.

본 발명의 다른 목적은 듀얼 프로세서를 사용하는 디바이스에서 호스트 프로세서의 GPIO(General Purpose Input Output) 포트가 부족한 경우, 슬레이브 프로세서의 GPIO 포트를 이용하여 CPLD에 CPLD 코드를 다운로드하기 위한 장치 및 방법을 제공함에 있다. Another object of the present invention is to provide an apparatus and method for downloading a CPLD code to a CPLD using a GPIO port of a slave processor when a host processor lacks a general purpose input output (GPIO) port in a device using a dual processor. have.

본 발명의 다른 목적은 듀얼 프로세서를 사용하는 디바이스에서 호스트 프로세서가 UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 슬레이브 프로세서로 CPLD 코드를 전송하고, 상기 슬레이브 프로세서가 JTAG(Joint Test Action Group) 신호를 이용하여 CPLD에 상기 CPLD 코드를 다운로드하기 위한 장치 및 방법을 제공함에 있다. Another object of the present invention is to transmit a CPLD code to a slave processor through a UART (Universal Asynchronous Receiver Transmitter) communication channel in a device using a dual processor, the slave processor uses a Joint Test Action Group (JTAG) signal To provide a device and method for downloading the CPLD code to CPLD.

상기 목적을 달성하기 위해 본 발명의 실시 예에 따르면, 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 호스트 프로세서의 동작 방법은, CPLD 코드의 다운로드를 위한 메뉴가 선택될 시, 테스트 명령(Test Command) 모드로 진입하는 과정과, 상기 CPLD 코드를 추출하는 과정과, 상기 추출된 CPLD 코드를 슬레이브 프로세서로 전송하는 과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, according to an embodiment of the present invention, a method of operating a host processor for downloading a Complex Programmable Logic Device (CPLD) code in a dual processor device may include selecting a menu for downloading a CPLD code. In this case, the method includes entering a test command mode, extracting the CPLD code, and transmitting the extracted CPLD code to a slave processor.

상기 목적을 달성하기 위해 본 발명의 실시 예에 따르면, 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 슬레이브 프로세서의 동작 방법은, 호스트 프로세서로부터 CPLD 코드를 수신하는 과정과, 상기 호스트 프로세서로부터의 CPLD 코드를 CPLD로 전송하는 과정과, 상기 CPLD로부터, 상기 전송한 CPLD 코드를 수신하는 과정과, 상기 호스트 프로세서로부터의 CPLD 코드와 상기 CPLD로부터의 CPLD 코드에 대한 체크섬 값을 계산하는 과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, according to an embodiment of the present invention, a method of operating a slave processor for downloading a Complex Programmable Logic Device (CPLD) code in a dual processor device may include: receiving a CPLD code from a host processor; And transmitting the CPLD code from the host processor to the CPLD, receiving the transmitted CPLD code from the CPLD, checksum values for the CPLD code from the host processor and the CPLD code from the CPLD. It characterized in that it comprises a process of calculating.

상기 목적을 달성하기 위해 본 발명의 실시 예에 따르면, 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 장치는, CPLD 코드의 다운로드를 위한 메뉴가 선택될 시, 테스트 명령(Test Command) 모드로 진입하여 상기 CPLD 코드를 추출하고, 상기 추출된 CPLD 코드를 슬레이브 프로세서로 전송하는 호스트 프로세서와, 상기 호스트 프로세서로부터 CPLD 코드가 수신될 시, 상기 호스트 프로세서로부터 의 CPLD 코드를 CPLD로 전송하며, 상기 CPLD로부터, 상기 전송한 CPLD 코드가 수신될 시, 상기 호스트 프로세서로부터의 CPLD 코드와 상기 CPLD로부터의 CPLD 코드에 대한 체크섬 값을 계산하는 상기 슬레이브 프로세서를 포함하는 것을 특징으로 한다.In order to achieve the above object, according to an embodiment of the present invention, an apparatus for downloading a Complex Programmable Logic Device (CPLD) code in a dual processor device is tested when a menu for downloading CPLD code is selected. Enters a test command mode, extracts the CPLD code, transmits the extracted CPLD code to a slave processor, and receives a CPLD code from the host processor when a CPLD code is received from the host processor. And a slave processor configured to calculate a checksum value for the CPLD code from the host processor and the CPLD code from the CPLD when the transmitted CPLD code is received from the CPLD. .

본 발명은 듀얼 프로세서를 사용하는 디바이스에서 갱신할 CPLD 코드가 포함된 CPLD 바이너리를 S/W 바이너리 데이터 영역에 저장시킴으로써, CPLD 코드 갱신이 필요한 경우, 디바이스를 해체할 필요 없이, CPLD 바이너리 갱신만으로 자동으로 CPLD 코드를 갱신할 수 있는 이점이 있다. 또한, 본 발명은 듀얼 프로세서를 사용하는 디바이스에서 호스트 프로세서가 UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 슬레이브 프로세서로 CPLD 코드를 전송하고, 상기 슬레이브 프로세서가 JTAG(Joint Test Action Group) 신호를 이용하여 CPLD에 상기 CPLD 코드를 다운로드하며, 이때, 상기 슬레이브 프로세서의 GPIO(General Purpose Input Output) 포트를 이용함으로써, 특히 호스트 프로세서의 GPIO 포트가 부족한 경우, 슬레이브 프로세서의 GPIO 포트를 이용하여 CPLD 코드를 갱신할 수 있는 이점이 있다. 이와 같이, CPLD 코드를 갱신할 경우, 시간을 단축하고 비용을 절감할 수 있다. 또한, 작업이 용이하며, CPLD 코드 갱신 시 발생할 수 있는 부수적인 실수를 방지할 수 있는 이점이 있다. The present invention stores the CPLD binary including the CPLD code to be updated in a dual processor device in the S / W binary data area, so that when the CPLD code update is required, the CPLD binary update is automatically performed without having to disassemble the device. There is an advantage to updating the CPLD code. In addition, in the present invention, a host processor transmits a CPLD code to a slave processor through a UART (Universal Asynchronous Receiver Transmitter) communication channel in a device using a dual processor, and the slave processor uses a Joint Test Action Group (JTAG) signal. The CPLD code is downloaded to the CPLD. At this time, by using a general purpose input output (GPIO) port of the slave processor, when the GPIO port of the host processor is insufficient, the CPLD code may be updated by using the slave processor's GPIO port. There is an advantage to this. As such, when the CPLD code is updated, time and cost can be reduced. In addition, it is easy to work, and there is an advantage that can prevent the side mistakes that can occur when updating the CPLD code.

이하 본 발명의 바람직한 실시 예를 첨부된 도면과 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with the accompanying drawings. In describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

이하 본 발명은 듀얼 프로세서를 사용하는 디바이스에서 슬레이브 프로세서의 GPIO 포트를 이용하여 CPLD에 CPLD 코드를 다운로드하기 위한 장치 및 방법에 대해 설명하도록 한다. Hereinafter, an apparatus and method for downloading a CPLD code to a CPLD using a GPIO port of a slave processor in a device using a dual processor will be described.

이하 본 발명은 듀얼 프로세서를 사용하는 디바이스를 예로 들어 설명할 것이나, 두개 이상의 프로세서를 사용하는 다중 프로세서(multi processor) 디바이스에도 동일하게 적용 가능함은 물론이다. Hereinafter, the present invention will be described using a device using a dual processor as an example, but of course, the same may be applied to a multiprocessor device using two or more processors.

도 1은 본 발명에 따른 듀얼 프로세서 디바이스의 장치 구성을 도시한 블럭도이다.1 is a block diagram illustrating an apparatus configuration of a dual processor device according to the present invention.

도시된 바와 같이, 듀얼 프로세서 디바이스는 호스트 프로세서(Host Processor, 즉 Modem)(100), 슬레이브 프로세서(Slave Processor)(110), CPLD(Complex Programmable Logic Device)(120), 스위치(Switch)(130)를 포함하여 구성된다.As shown, the dual processor device may include a host processor (ie, a modem) 100, a slave processor 110, a complex programmable logic device (CPLD) 120, and a switch 130. It is configured to include.

상기 도 1을 참조하면, 상기 호스트 프로세서(100)는 사용자의 CPLD 다운로드 메뉴 선택에 따라 테스트 명령(Test Command) 모드로 진입하여 CPLD 다운로드를 준비한다. 즉, 상기 호스트 프로세서(100)는 상기 슬레이브 프로세서(110)와 CPLD(120)의 전원을 인에이블(enable)하고, UART 통신 채널 상의 스위치(130)를 인에이블시켜 호스트 프로세서(100)와 슬레이브 프로세서(110)의 UART포트가 연결되도록 한다. 이후, 상기 호스트 프로세서(100)는 S/W 바이너리 데이터 영역 내 CPLD 바이너리에서 CPLD 코드를 추출하여, UART 통신 채널을 통해 상기 슬레이브 프로세서(110)로 전송한다. 이후, 상기 슬레이브 프로세서(110)가 CPLD 다운로드의 완료를 알리면, 상기 호스트 프로세서(100)는 CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이하고, 상기 테스트 명령 모드를 종료한다. 즉, 상기 호스트 프로세서(100)는 상기 슬레이브 프로세서(110)와 CPLD(120)의 전원을 디스에이블(disable)하고, UART 통신 채널 상의 스위치(130)를 디스에이블시켜 호스트 프로세서(100)와 슬레이브 프로세서(110)의 UART포트의 연결이 끊기도록 한다. Referring to FIG. 1, the host processor 100 enters a test command mode according to a user's selection of a CPLD download menu and prepares for CPLD download. That is, the host processor 100 enables power of the slave processor 110 and the CPLD 120 and enables the switch 130 on the UART communication channel to enable the host processor 100 and the slave processor. Make sure that the UART port of (110) is connected. Thereafter, the host processor 100 extracts the CPLD code from the CPLD binary in the S / W binary data area and transmits the CPLD code to the slave processor 110 through a UART communication channel. Thereafter, when the slave processor 110 notifies the completion of the CPLD download, the host processor 100 displays a message indicating that the CPLD download is completed on the display window and ends the test command mode. That is, the host processor 100 disables the powers of the slave processor 110 and the CPLD 120, and disables the switch 130 on the UART communication channel, thereby disabling the host processor 100 and the slave processor. Disconnect the UART port of (110).

상기 슬레이브 프로세서(110)는 상기 호스트 프로세서(100)로부터 CPLD 코드를 수신하고, 이를 SDRAM(Synchronous Dynamic Random Access Memory)에 임시 저장한다. 이후, 상기 슬레이브 프로세서(110)는 JTAG 신호, 즉 TMS(Test Mode Select), TCK(Test ClocK), TDI(Test Data Input), TDO(Test Data Output) 신호를 생성 및 이용하여 상기 CPLD(120)로 상기 호스트 프로세서(100)로부터의 CPLD 코드를 전송한다. 이후, 상기 슬레이브 프로세서(110)는 상기 CPLD(120)로부터 상기 CPLD(120)로 전송한 CPLD 코드를 수신하고, 이를 상기 SDRAM에 임시 저장한다. 이 후, 상기 슬레이브 프로세서(110)는 상기 SDRAM에 임시 저장된, 호스트 프로세서(100)로부터의 CPLD 코드와 CPLD(120)로부터의 CPLD 코드의 체크섬 값을 계산하고, 상기 계산된 두 체크섬 값이 동일한지 여부를 검사하여, 상기 계산된 두 체크섬 값이 동일할 시, 상기 호스트 프로세서(100)로 CPLD 다운로드의 완료를 알린다. 만약, 상기 계산된 두 체크섬 값이 동일하지 않으면, 상기 슬레이브 프로세서(110)는 상기 CPLD(120)로 상기 호스트 프로세서(100)로부터의 CPLD 코드를 전송하는 과정 및 이하 과정을 반복 수행한다.The slave processor 110 receives a CPLD code from the host processor 100 and temporarily stores it in a synchronous dynamic random access memory (SDRAM). Subsequently, the slave processor 110 generates and uses a JTAG signal, that is, a test mode select (TMS), a test clock (TCK), a test data input (TDI), and a test data output (TDO) signal. The CPLD code from the host processor 100 is transmitted. Thereafter, the slave processor 110 receives the CPLD code transmitted from the CPLD 120 to the CPLD 120 and temporarily stores the CPLD code in the SDRAM. Thereafter, the slave processor 110 calculates checksum values of the CPLD code from the host processor 100 and the CPLD code from the CPLD 120, which are temporarily stored in the SDRAM, and determine whether the calculated two checksum values are the same. By checking whether the calculated two checksum values are the same, the host processor 100 notifies the completion of the CPLD download. If the calculated two checksum values are not the same, the slave processor 110 repeatedly transmits the CPLD code from the host processor 100 to the CPLD 120 and the following process.

상기 CPLD(120)는 상기 슬레이브 프로세서(110)로부터 CPLD 코드를 수신하고, 이를 저장하며, 상기 수신된 CPLD 코드를 다시 상기 슬레이브 프로세서(110)로 전송한다. The CPLD 120 receives the CPLD code from the slave processor 110, stores the CPLD code, and transmits the received CPLD code to the slave processor 110 again.

상기 스위치(130)는 상기 호스트 프로세서(100)의 제어에 따라 인에이블되어, UART 통신 채널을 통해 상기 호스트 프로세서(100)로부터 입력되는 신호를 블루투스 모듈(150)이 아닌 인터페이스 모듈(140) 및 슬레이브 프로세서(110)로 스위칭한다. 또한, 상기 스위치(130)는 상기 호스트 프로세서(100)의 제어에 따라 디스에이블되어, UART 통신 채널을 통해 상기 호스트 프로세서(100)로부터 입력되는 신호를 블루투스 모듈(150)로 제공한다. The switch 130 is enabled according to the control of the host processor 100, so that the signal input from the host processor 100 through the UART communication channel is not the Bluetooth module 150 but the interface module 140 and the slave. Switch to processor 110. In addition, the switch 130 is disabled under the control of the host processor 100 to provide a signal input from the host processor 100 to the Bluetooth module 150 through a UART communication channel.

도 2는 본 발명에 따른 S/W 바이너리 영역을 도시한 도면이다. 2 is a diagram illustrating a S / W binary region according to the present invention.

상기 도 2와 같이, 일반적인 S/W 바이너리 영역은 부트(Boot) 영역(200)과 코드(Code) 영역(202)과 데이터(Data) 영역(204) 등을 포함하여 구성된다. 이에 추 가적으로, 본 발명에서는 CPLD 코드가 포함된 CPLD 바이너리(206)를 상기 데이터 영역(204)에 저장시키며, CPLD 코드의 갱신이 필요한 경우, 디바이스를 해체할 필요 없이, CPLD 바이너리(206) 갱신만으로 자동으로 CPLD 코드를 갱신한다. 즉, 호스트 프로세서가 상기 데이터 영역(204) 내 CPLD 바이너리(206)에서 갱신된 CPLD 코드를 추출하고, 상기 추출된 CPLD 코드를 UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 슬레이브 프로세서로 전송한다. 이때, 상기 슬레이브 프로세서가 JTAG(Joint Test Action Group) 신호를 이용하여 CPLD에 상기 갱신된 CPLD 코드를 다운로드하게 되며, 이로써 CPLD 코드를 갱신할 수 있다. As shown in FIG. 2, the general S / W binary region includes a boot region 200, a code region 202, a data region 204, and the like. In addition, in the present invention, the CPLD binary 206 including the CPLD code is stored in the data area 204, and when the CPLD code needs to be updated, the CPLD binary 206 is updated without having to disassemble the device. Automatically updates the CPLD code. That is, the host processor extracts the updated CPLD code from the CPLD binary 206 in the data region 204 and transmits the extracted CPLD code to the slave processor through a universal asynchronous receiver transmitter (UART) communication channel. At this time, the slave processor downloads the updated CPLD code to the CPLD using a Joint Test Action Group (JTAG) signal, thereby updating the CPLD code.

도 3은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드 방법을 도시한 신호도이다. 3 is a signal diagram illustrating a CPLD code download method in a dual processor device according to an embodiment of the present invention.

상기 도 3을 참조하면, 호스트 프로세서(300)는 사용자의 CPLD 다운로드 메뉴 선택에 따라 테스트 명령(Test Command) 모드로 진입하여 CPLD 다운로드를 준비하고(301), UART 통신 채널을 통해 슬레이브 프로세서(310)로 CPLD 다운로드 요청(CPLD download request) 메시지를 전송한다(303). 이때, 상기 슬레이브 프로세서(310)는 UART 통신 채널을 통해 상기 호스트 프로세서(300)로 CPLD 다운로드 응답(CPLD download response) 메시지를 전송한다(305). Referring to FIG. 3, the host processor 300 enters a test command mode according to a user's selection of a CPLD download menu to prepare for CPLD download (301), and a slave processor 310 through a UART communication channel. In step 303, a CPLD download request message is transmitted. In this case, the slave processor 310 transmits a CPLD download response message to the host processor 300 through a UART communication channel (305).

이후, 상기 호스트 프로세서(300)는 S/W 바이너리 데이터 영역 내 CPLD 바이너리에서 CPLD 코드를 추출하고(307), 상기 추출된 CPLD 코드를 UART 통신 채널을 통해 상기 슬레이브 프로세서(310)로 전송한 후(309), 상기 슬레이브 프로세 서(310)로 UART 통신 채널을 통해 전송 완료(Transfer end) 메시지를 전송한다(313). Thereafter, the host processor 300 extracts the CPLD code from the CPLD binary in the S / W binary data region (307), and transmits the extracted CPLD code to the slave processor 310 through a UART communication channel ( In operation 309, a transfer end message is transmitted to the slave processor 310 through a UART communication channel (313).

이때, 상기 슬레이브 프로세서(310)는 상기 호스트 프로세서(300)로부터의 CPLD 코드를 SDRAM(Synchronous Dynamic Random Access Memory)에 임시 저장하고(311), 상기 호스트 프로세서(300)로부터 전송 완료 메시지가 수신되면, JTAG 신호, 즉 TMS(Test Mode Select), TCK(Test ClocK), TDI(Test Data Input), TDO(Test Data Output) 신호를 생성한다(315). At this time, the slave processor 310 temporarily stores the CPLD code from the host processor 300 in a synchronous dynamic random access memory (SDRAM) (311), when the transmission completion message is received from the host processor 300, A JTAG signal, that is, a test mode select (TMS), a test clock (TCK), a test data input (TDI), and a test data output (TDO) signal are generated (315).

이후, 상기 슬레이브 프로세서(310)는 상기 생성된 JTAG 신호를 이용하여 CPLD(320)로 상기 호스트 프로세서(300)로부터의 CPLD 코드를 전송한다(317). 이때, 상기 CPLD(320)는 상기 슬레이브 프로세서(310)로부터의 CPLD 코드를 저장하고, 상기 슬레이브 프로세서(310)로부터 수신된 CPLD 코드를 다시 상기 슬레이브 프로세서(310)로 전송한 후(319), 상기 슬레이브 프로세서(310)로 전송 완료(Transfer end) 메시지를 전송한다(323). 여기서, 상기 슬레이브 프로세서(310)와 CPLD(320) 간 CPLD 코드 송수신은 상기 슬레이브 프로세서(310)의 GPIO 포트를 이용한다. Thereafter, the slave processor 310 transmits the CPLD code from the host processor 300 to the CPLD 320 by using the generated JTAG signal (317). In this case, the CPLD 320 stores the CPLD code from the slave processor 310 and transmits the CPLD code received from the slave processor 310 to the slave processor 310 again (319). The transfer end message is transmitted to the slave processor 310 (323). Here, CPLD code transmission and reception between the slave processor 310 and the CPLD 320 uses a GPIO port of the slave processor 310.

이때, 상기 슬레이브 프로세서(310)는 상기 CPLD(320)로부터의 CPLD 코드를 상기 SDRAM에 임시 저장하고(321), 상기 CPLD(320)로부터 전송 완료 메시지가 수신되면, 상기 SDRAM에 임시 저장된, 호스트 프로세서(300)로부터의 CPLD 코드와 CPLD(320)로부터의 CPLD 코드의 체크섬 값을 계산한다(325). 이후, 상기 슬레이브 프로세서(310)는 상기 계산된 두 체크섬 값이 동일한지 여부를 검사하여, 상기 계 산된 두 체크섬 값이 동일할 시, UART 통신 채널을 통해 상기 호스트 프로세서(300)로 CPLD 다운로드 완료(CPLD download complete) 메시지를 전송하고(327), 상기 계산된 두 체크섬 값이 동일하지 않을 시, 상기 CPLD(320)로 상기 호스트 프로세서(300)로부터의 CPLD 코드를 전송하는 과정 및 이하 과정을 반복 수행한다. In this case, the slave processor 310 temporarily stores the CPLD code from the CPLD 320 in the SDRAM (321), and when a transmission completion message is received from the CPLD 320, temporarily stored in the SDRAM, the host processor A checksum value of the CPLD code from 300 and the CPLD code from CPLD 320 is calculated (325). Thereafter, the slave processor 310 checks whether the calculated two checksum values are the same, and when the calculated two checksum values are the same, the CPLD download is completed to the host processor 300 through a UART communication channel ( In step 327, when the calculated two checksum values are not the same, a process of transmitting a CPLD code from the host processor 300 to the CPLD 320 and the following process are repeated. do.

이후, 상기 슬레이브 프로세서(310)로부터 UART 통신 채널을 통해 CPLD 다운로드 완료 메시지가 수신되면, 상기 호스트 프로세서(300)는 CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이하고(329), 상기 테스트 명령 모드를 종료한다(331). Subsequently, when a CPLD download completion message is received from the slave processor 310 through the UART communication channel, the host processor 300 displays a message indicating that CPLD download is completed (329) and displays the test command mode. It ends (331).

도 4는 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드를 위한 호스트 프로세서의 동작 방법을 도시한 흐름도이다. 4 is a flowchart illustrating a method of operating a host processor for CPLD code download in a dual processor device according to an embodiment of the present invention.

상기 도 4를 참조하면, 호스트 프로세서는 401단계에서 사용자의 키 조작에 따른 CPLD 다운로드 메뉴가 선택되는지 여부를 검사한다. 상기 CPLD 다운로드 메뉴가 선택될 시, 상기 호스트 프로세서는 403단계에서 테스트 명령(Test Command) 모드로 진입하여 CPLD 다운로드를 준비한다. 즉, 슬레이브 프로세서와 CPLD의 전원을 인에이블(enable)하고, UART 통신 채널 상의 스위치를 인에이블한다. 이에 따라 슬레이브 프로세서와 CPLD가 부팅(booting)되며, 스위치가 UART 통신 채널을 통해 호스트 프로세서로부터 입력되는 신호를 블루투스 모듈이 아닌 인터페이스 모듈 및 슬레이브 프로세서로 스위칭한다. Referring to FIG. 4, in step 401, the host processor determines whether a CPLD download menu is selected according to a user's key manipulation. When the CPLD download menu is selected, the host processor enters a test command mode in step 403 to prepare for CPLD download. That is, the power of the slave processor and the CPLD is enabled, and the switch on the UART communication channel is enabled. Accordingly, the slave processor and the CPLD are booted, and the switch switches signals input from the host processor through the UART communication channel to the interface module and the slave processor instead of the Bluetooth module.

이후, 상기 호스트 프로세서는 405단계에서 UART 통신 채널을 통해 상기 슬 레이브 프로세서로 CPLD 다운로드 요청 메시지를 전송하고, 407단계에서 UART 통신 채널을 통해 상기 슬레이브 프로세서로부터 CPLD 다운로드 응답 메시지가 수신되는지 여부를 검사한다. In step 405, the host processor transmits a CPLD download request message to the slave processor through a UART communication channel. In step 407, the host processor determines whether a CPLD download response message is received from the slave processor through a UART communication channel. .

상기 슬레이브 프로세서로부터 CPLD 다운로드 응답 메시지가 수신될 시, 상기 호스트 프로세서는 409단계에서 S/W 바이너리 데이터 영역 내 CPLD 바이너리에서 CPLD 코드를 추출하고, 411단계에서 상기 추출된 CPLD 코드를 UART 통신 채널을 통해 상기 슬레이브 프로세서로 전송한 후, 413단계에서 상기 슬레이브 프로세서로 UART 통신 채널을 통해 전송 완료 메시지를 전송한다. When the CPLD download response message is received from the slave processor, the host processor extracts the CPLD code from the CPLD binary in the S / W binary data area in step 409, and extracts the CPLD code through the UART communication channel in step 411. After transmitting to the slave processor, in step 413, a transmission completion message is transmitted to the slave processor through a UART communication channel.

이후, 상기 호스트 프로세서는 415단계에서 상기 슬레이브 프로세서로부터 UART 통신 채널을 통해 CPLD 다운로드 완료 메시지가 수신되는지 여부를 검사하고, 상기 CPLD 다운로드 완료 메시지가 수신될 시, 417단계에서 CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이한다. Thereafter, the host processor determines whether a CPLD download complete message is received from the slave processor through the UART communication channel in step 415, and when the CPLD download complete message is received, a message indicating that CPLD download is completed in step 417. Is displayed on the display.

이후, 상기 호스트 프로세서는 419단계에서 상기 테스트 명령 모드를 종료한다. 즉, 슬레이브 프로세서와 CPLD의 전원을 디스에이블(disable)하고, UART 통신 채널 상의 스위치를 디스에이블한다. 이에 따라 슬레이브 프로세서와 CPLD가 전원 오프(off)되며, 스위치가 디스에이블되어, UART 통신 채널을 통해 호스트 프로세서로부터 입력되는 신호가 블루투스 모듈로 제공된다. In operation 419, the host processor terminates the test command mode. That is, the power supply of the slave processor and the CPLD is disabled, and the switch on the UART communication channel is disabled. Accordingly, the slave processor and the CPLD are powered off, the switch is disabled, and a signal input from the host processor through the UART communication channel is provided to the Bluetooth module.

이후, 상기 호스트 프로세서는 본 발명에 따른 알고리즘을 종료한다. The host processor then terminates the algorithm according to the invention.

도 5는 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다 운로드를 위한 슬레이브 프로세서의 동작 방법을 도시한 흐름도이다. 5 is a flowchart illustrating a method of operating a slave processor for CPLD code download in a dual processor device according to an embodiment of the present invention.

상기 도 5를 참조하면, 슬레이브 프로세서는 501단계에서 UART 통신 채널을 통해 호스트 프로세서로부터 CPLD 다운로드 요청 메시지가 수신되는지 여부를 검사하고, 상기 CPLD 다운로드 요청 메시지가 수신될 시, 503단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로 CPLD 다운로드 응답 메시지를 전송한다. Referring to FIG. 5, the slave processor determines whether a CPLD download request message is received from a host processor through a UART communication channel in step 501, and when the CPLD download request message is received, in step 503. The CPLD download response message is transmitted to the host processor.

이후, 상기 슬레이브 프로세서는 505단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로부터 CPLD 코드가 수신되는지 여부를 검사하고, 상기 CPLD 코드가 수신될 시, 507단계에서 상기 호스트 프로세서로부터 수신된 CPLD 코드를 SDRAM(Synchronous Dynamic Random Access Memory)에 임시 저장한다. 이후, 상기 슬레이브 프로세서는 509단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로부터 전송 완료 메시지가 수신되는지 여부를 검사하고, 상기 전송 완료 메시지가 수신되지 않을 시, 상기 507단계로 돌아가 이하 단계를 반복 수행한다. In step 505, the slave processor checks whether a CPLD code is received from the host processor through a UART communication channel. When the CPLD code is received, the slave processor checks the CPLD code received from the host processor in SDRAM (step 507). Temporarily store in Synchronous Dynamic Random Access Memory. In step 509, the slave processor checks whether a transmission completion message is received from the host processor through a UART communication channel, and when the transmission completion message is not received, returns to step 507 and repeats the following steps. .

반면, 상기 전송 완료 메시지가 수신될 시, 상기 슬레이브 프로세서는 511단계에서 JTAG 신호, 즉 TMS(Test Mode Select), TCK(Test ClocK), TDI(Test Data Input), TDO(Test Data Output) 신호를 생성하고, 513단계에서 상기 생성된 JTAG 신호를 이용하여 CPLD로 상기 호스트 프로세서로부터의 CPLD 코드를 전송한다. 여기서, 상기 JTAG 신호 생성 및 이를 이용한 CPLD 코드를 송수신 방법은 이후 도 7을 이용하여 자세히 설명하기로 한다. In contrast, when the transmission completion message is received, the slave processor transmits a JTAG signal, that is, a test mode select (TMS), a test clock (TCK), a test data input (TDI), and a test data output (TDO) signal in step 511. In operation 513, the CPLD code from the host processor is transmitted to the CPLD using the generated JTAG signal. Here, the JTAG signal generation and the CPLD code transmission and reception method using the same will be described in detail with reference to FIG. 7.

이후, 상기 슬레이브 프로세서는 515단계에서 상기 CPLD로부터 기 전송한 CPLD 코드가 다시 수신되는지 여부를 검사한다. 이때, 상기 CPLD와의 CPLD 코드 송 수신은 상기 슬레이브 프로세서의 GPIO 포트를 이용한다. 상기 CPLD로부터 기 전송한 CPLD 코드가 수신될 시, 상기 슬레이브 프로세서는 517단계에서 상기 CPLD로부터의 CPLD 코드를 상기 SDRAM에 임시 저장하고, 519단계에서 상기 CPLD로부터 전송 완료 메시지가 수신되는지 여부를 검사한다. 상기 전송 완료 메시지가 수신되지 않을 시, 상기 슬레이브 프로세서는 상기 517단계로 돌아가 이하 단계를 반복 수행한다. In step 515, the slave processor checks whether the CPLD code previously transmitted from the CPLD is received again. In this case, CPLD code transmission and reception with the CPLD uses a GPIO port of the slave processor. When the CPLD code previously transmitted from the CPLD is received, the slave processor temporarily stores the CPLD code from the CPLD in the SDRAM in step 517 and checks whether a transmission completion message is received from the CPLD in step 519. . When the transmission completion message is not received, the slave processor returns to step 517 and repeats the following steps.

반면, 상기 전송 완료 메시지가 수신될 시, 상기 슬레이브 프로세서는 521단계에서 상기 SDRAM에 임시 저장된, 호스트 프로세서로부터의 CPLD 코드와 CPLD로부터의 CPLD 코드의 체크섬 값을 계산하고, 523단계로 진행하여 상기 계산된 두 체크섬 값이 동일한지 여부를 검사한다. 상기 계산된 두 체크섬 값이 동일할 시, 상기 슬레이브 프로세서는 525단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로 CPLD 다운로드 완료 메시지를 전송하고, 상기 계산된 두 체크섬 값이 동일하지 않을 시, 상기 513단계로 돌아가 이하 단계를 반복 수행한다. In contrast, when the transmission completion message is received, the slave processor calculates a checksum value of a CPLD code from a host processor and a CPLD code from a CPLD temporarily stored in the SDRAM in step 521, and proceeds to step 523. Checks whether two checked checksum values are equal. When the calculated two checksum values are the same, the slave processor transmits a CPLD download completion message to the host processor through a UART communication channel in step 525, and when the calculated two checksum values are not the same, in step 513. Go back and repeat the steps below.

이후, 상기 슬레이브 프로세서는 본 발명에 따른 알고리즘을 종료한다. The slave processor then terminates the algorithm according to the invention.

도 6은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드를 위한 CPLD의 동작 방법을 도시한 흐름도이다. 6 is a flowchart illustrating a method of operating a CPLD for downloading a CPLD code in a dual processor device according to an exemplary embodiment of the present invention.

상기 도 6을 참조하면, CPLD는 601단계에서 슬레이브 프로세서로부터 CPLD 코드가 수신되는지 여부를 검사한다. 상기 CPLD 코드가 수신될 시, 상기 CPLD는 603단계에서 상기 수신된 CPLD 코드를 저장하고, 상기 수신된 CPLD 코드를 다시 상 기 슬레이브 프로세서로 전송한다. 이후, 상기 CPLD는 605단계에서 상기 슬레이브 프로세서로 전송 완료 메시지를 전송한다. Referring to FIG. 6, the CPLD checks whether a CPLD code is received from a slave processor in step 601. When the CPLD code is received, the CPLD stores the received CPLD code in step 603 and transmits the received CPLD code back to the slave processor. In step 605, the CPLD transmits a transmission completion message to the slave processor.

이후, 상기 CPLD는 본 발명에 따른 알고리즘을 종료한다. The CPLD then terminates the algorithm according to the present invention.

도 7은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 슬레이브 프로세서의 JTAG 신호 생성 및 이를 이용한 CPLD 코드 송수신 방법을 도시한 예시도이다. FIG. 7 illustrates an example of generating a JTAG signal of a slave processor and a CPLD code transmission / reception method using the same in a dual processor device according to an exemplary embodiment of the present invention.

상기 도 7을 참조하면, 슬레이브 프로세서는 UART 통신 채널을 통해 호스트 프로세서로부터 CPLD 코드(700)를 수신하고, 상기 호스트 프로세서로부터 전송 완료 메시지가 수신될 때까지 상기 수신되는 CPLD 코드(700)를 SDRAM에 임시 저장한다. 이후, 상기 호스트 프로세서로부터 전송 완료 메시지가 수신되면, 상기 슬레이브 프로세서는 내부 클럭(Clock)을 이용하여 TMS 'High' 신호(702)와 TCK 4MHz 신호(704)를 생성하고, 상기 TCK 4MHz 신호(704)에 동기를 맞추어 상기 SDRAM에 임시 저장되어 있는 CPLD 코드(700)를 TDI 신호(706)를 이용하여 CPLD로 직렬(Serial) 전송한다. 이때, 상기 CPLD는 상기 직렬 전송되는 CPLD 코드를 TDO 신호(708)를 이용하여 상기 슬레이브 프로세서로 전송하게 되며, 상기 슬레이브 프로세서는 상기 CPLD로부터의 CPLD 코드를 상기 SDRAM에 임시 저장한다. 이로써, 상기 슬레이브 프로세서는 상기 SDRAM에 임시 저장되어 있는, 호스트 프로세서로부터의 CPLD 코드(700)와 상기 CPLD로부터의 CPLD 코드의 체크섬 값을 계산할 수 있다. Referring to FIG. 7, a slave processor receives a CPLD code 700 from a host processor through a UART communication channel, and transmits the received CPLD code 700 to an SDRAM until a transmission completion message is received from the host processor. Temporarily save. Subsequently, when a transmission completion message is received from the host processor, the slave processor generates a TMS 'High' signal 702 and a TCK 4 MHz signal 704 using an internal clock, and the TCK 4 MHz signal 704. ), The CPLD code 700 temporarily stored in the SDRAM is serially transmitted to the CPLD using the TDI signal 706. In this case, the CPLD transmits the serially transmitted CPLD code to the slave processor using a TDO signal 708, and the slave processor temporarily stores the CPLD code from the CPLD in the SDRAM. As such, the slave processor may calculate a checksum value of the CPLD code 700 from the host processor and the CPLD code from the CPLD, which are temporarily stored in the SDRAM.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.

도 1은 본 발명에 따른 듀얼 프로세서 디바이스의 장치 구성을 도시한 블럭도,1 is a block diagram showing an apparatus configuration of a dual processor device according to the present invention;

도 2는 본 발명에 따른 S/W 바이너리 영역을 도시한 도면,2 is a diagram illustrating a S / W binary region according to the present invention;

도 3은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드 방법을 도시한 신호도,3 is a signal diagram illustrating a CPLD code download method in a dual processor device according to an embodiment of the present invention;

도 4는 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드를 위한 호스트 프로세서의 동작 방법을 도시한 흐름도,4 is a flowchart illustrating a method of operating a host processor for CPLD code download in a dual processor device according to an embodiment of the present invention;

도 5는 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드를 위한 슬레이브 프로세서의 동작 방법을 도시한 흐름도,5 is a flowchart illustrating a method of operating a slave processor for CPLD code download in a dual processor device according to an embodiment of the present invention;

도 6은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 CPLD 코드 다운로드를 위한 CPLD의 동작 방법을 도시한 흐름도, 및6 is a flowchart illustrating a method of operating a CPLD for downloading a CPLD code in a dual processor device according to an embodiment of the present invention;

도 7은 본 발명의 실시 예에 따른 듀얼 프로세서 디바이스에서 슬레이브 프로세서의 JTAG 신호 생성 및 이를 이용한 CPLD 코드 송수신 방법을 도시한 예시도.7 is an exemplary diagram illustrating a JTAG signal generation of a slave processor and a CPLD code transmission / reception method using the same in a dual processor device according to an embodiment of the present invention.

Claims (22)

듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 호스트 프로세서의 동작 방법에 있어서,In the operating method of the host processor for downloading a Complex Programmable Logic Device (CPLD) code in a dual processor device, CPLD 코드의 다운로드를 위한 메뉴가 선택될 시, 테스트 명령(Test Command) 모드로 진입하는 과정과, When the menu for downloading the CPLD code is selected, entering the Test Command mode, 상기 CPLD 코드를 추출하는 과정과, Extracting the CPLD code; 상기 추출된 CPLD 코드를 슬레이브 프로세서로 전송하는 과정을 포함하는 것을 특징으로 하는 방법.And transmitting the extracted CPLD code to a slave processor. 제 1 항에 있어서, The method of claim 1, 상기 CPLD 코드는, 소프트웨어 바이너리 데이터 영역 내 CPLD 바이너리에서 추출하는 것을 특징으로 하는 방법. Wherein said CPLD code is extracted from CPLD binaries in a software binary data region. 제 1 항에 있어서, The method of claim 1, 상기 추출된 CPLD 코드는, UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 전송하는 것을 특징으로 하는 방법. The extracted CPLD code, characterized in that for transmitting over a UART (Universal Asynchronous Receiver Transmitter) communication channel. 제 1 항에 있어서, The method of claim 1, 상기 슬레이브 프로세서로 CPLD 다운로드 요청 메시지를 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법. And transmitting a CPLD download request message to the slave processor. 제 4 항에 있어서, The method of claim 4, wherein 상기 CPLD 코드 추출은, 상기 슬레이브 프로세서로부터 CPLD 다운로드 응답 메시지가 수신되는 경우 수행하는 것을 특징으로 하는 방법.The CPLD code extraction is performed when a CPLD download response message is received from the slave processor. 제 1 항에 있어서, The method of claim 1, 상기 슬레이브 프로세서로부터 CPLD 다운로드 완료 메시지가 수신될 시, CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이하는 과정과, When a CPLD download completion message is received from the slave processor, displaying a message indicating that CPLD download is completed on a display window; 상기 테스트 명령 모드를 종료하는 과정을 더 포함하는 것을 특징으로 하는 방법. Terminating the test command mode. 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 슬레이브 프로세서의 동작 방법에 있어서,A method of operating a slave processor for downloading a complex programmable logic device (CPLD) code in a dual processor device, 호스트 프로세서로부터 CPLD 코드를 수신하는 과정과, Receiving a CPLD code from a host processor, 상기 호스트 프로세서로부터의 CPLD 코드를 CPLD로 전송하는 과정과, Transmitting a CPLD code from the host processor to a CPLD; 상기 CPLD로부터, 상기 전송한 CPLD 코드를 수신하는 과정과, Receiving the transmitted CPLD code from the CPLD; 상기 호스트 프로세서로부터의 CPLD 코드와 상기 CPLD로부터의 CPLD 코드에 대한 체크섬 값을 계산하는 과정을 포함하는 것을 특징으로 하는 방법.Calculating checksum values for the CPLD code from the host processor and the CPLD code from the CPLD. 제 7 항에 있어서, The method of claim 7, wherein 상기 호스트 프로세서로부터의 CPLD 코드는, UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 수신하는 것을 특징으로 하는 방법. And receiving the CPLD code from the host processor through a universal asynchronous receiver transmitter (UART) communication channel. 제 7 항에 있어서, The method of claim 7, wherein JTAG(Joint Test Action Group) 신호를 생성하는 과정을 더 포함하는 것을 특징으로 하는 방법. Generating a Joint Test Action Group (JTAG) signal. 제 9 항에 있어서, The method of claim 9, 상기 호스트 프로세서로부터의 CPLD 코드는, 상기 생성된 JTAG 신호를 이용하여 상기 CPLD로 전송하는 것을 특징으로 하는 방법. The CPLD code from the host processor, characterized in that for transmitting to the CPLD using the generated JTAG signal. 제 7 항에 있어서, The method of claim 7, wherein 상기 계산된 두 체크섬 값이 동일한지 여부를 검사하는 과정과, Checking whether the calculated two checksum values are the same; 상기 계산된 두 체크섬 값이 동일할 시, 상기 호스트 프로세서로 CPLD 다운로드 완료 메시지를 전송하는 과정과, Transmitting a CPLD download completion message to the host processor when the calculated two checksum values are the same; 상기 계산된 두 체크섬 값이 동일하지 않을 시, 상기 호스트 프로세서로부터의 CPLD 코드를 상기 CPLD로 재전송하는 과정을 더 포함하는 것을 특징으로 하는 방법. And retransmitting a CPLD code from the host processor to the CPLD when the calculated two checksum values are not the same. 제 7 항에 있어서, The method of claim 7, wherein 상기 호스트 프로세서로부터 CPLD 다운로드 요청 메시지를 수신하는 과정과, Receiving a CPLD download request message from the host processor; 상기 호스트 프로세서로 CPLD 다운로드 응답 메시지를 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법. And sending a CPLD download response message to the host processor. 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device : CPLD) 코드 다운로드를 위한 장치에 있어서,An apparatus for downloading a Complex Programmable Logic Device (CPLD) code from a dual processor device, CPLD 코드의 다운로드를 위한 메뉴가 선택될 시, 테스트 명령(Test Command) 모드로 진입하여, 상기 CPLD 코드를 추출하고, 상기 추출된 CPLD 코드를 슬레이브 프로세서로 전송하는 호스트 프로세서와, When a menu for downloading a CPLD code is selected, a host processor enters a test command mode, extracts the CPLD code, and transmits the extracted CPLD code to a slave processor; 상기 호스트 프로세서로부터 CPLD 코드가 수신될 시, 상기 호스트 프로세서로부터의 CPLD 코드를 CPLD로 전송하며, 상기 CPLD로부터, 상기 전송한 CPLD 코드가 수신될 시, 상기 호스트 프로세서로부터의 CPLD 코드와 상기 CPLD로부터의 CPLD 코드에 대한 체크섬 값을 계산하는 상기 슬레이브 프로세서를 포함하는 것을 특징으로 하는 장치.When a CPLD code is received from the host processor, a CPLD code from the host processor is transmitted to a CPLD. From the CPLD, when the transmitted CPLD code is received, a CPLD code from the host processor and a CPLD code from the CPLD are received. And said slave processor for calculating a checksum value for a CPLD code. 제 13 항에 있어서, 상기 호스트 프로세서는, The method of claim 13, wherein the host processor, 소프트웨어 바이너리 데이터 영역 내 CPLD 바이너리에서 상기 CPLD 코드를 추출하는 것을 특징으로 하는 장치. And extracting the CPLD code from a CPLD binary in a software binary data region. 제 13 항에 있어서, 상기 호스트 프로세서는,The method of claim 13, wherein the host processor, 상기 추출된 CPLD 코드를 UART(Universal Asynchronous Receiver Transmitter) 통신 채널을 통해 슬레이브 프로세서로 전송하는 것을 특징으로 하는 장치. And transmit the extracted CPLD code to a slave processor through a universal asynchronous receiver transmitter (UART) communication channel. 제 13 항에 있어서, 상기 슬레이브 프로세서는,The method of claim 13, wherein the slave processor, JTAG(Joint Test Action Group) 신호를 생성 및 이용하여 상기 호스트 프로세서로부터의 CPLD 코드 상기 CPLD로 전송하는 것을 특징으로 하는 장치. And generating and using a Joint Test Action Group (JTAG) signal to transmit the CPLD code from the host processor to the CPLD. 제 13 항에 있어서, The method of claim 13, 상기 호스트 프로세서의 제어에 따라 인에이블되어, 상기 호스트 프로세서로부터 입력되는 신호를 상기 슬레이브 프로세서로 스위칭하는 스위치를 더 포함하는 것을 특징으로 하는 장치. And a switch enabled under the control of the host processor to switch a signal input from the host processor to the slave processor. 제 17 항에 있어서, The method of claim 17, 상기 스위치는, 상기 호스트 프로세서의 제어에 따라 디스에이블되어, 상기 호스트 프로세서로부터 입력되는 신호를 블루투스 모듈로 제공하는 것을 특징으로 하는 장치.The switch is disabled under the control of the host processor, characterized in that for providing a signal input from the host processor to the Bluetooth module. 제 13 항에 있어서, The method of claim 13, 상기 호스트 프로세서는, 상기 슬레이브 프로세서로 CPLD 다운로드 요청 메시지를 전송하며, The host processor transmits a CPLD download request message to the slave processor. 상기 슬레이브 프로세서는, 상기 호스트 프로세서로 CPLD 다운로드 응답 메시지를 전송하는 것을 특징으로 하는 장치.And wherein the slave processor sends a CPLD download response message to the host processor. 제 13 항에 있어서, 상기 슬레이브 프로세서는,The method of claim 13, wherein the slave processor, 상기 계산된 두 체크섬 값이 동일한지 여부를 검사하여, 상기 계산된 두 체크섬 값이 동일할 시, 상기 호스트 프로세서로 CPLD 다운로드 완료 메시지를 전송하고, 상기 계산된 두 체크섬 값이 동일하지 않을 시, 상기 호스트 프로세서로부터의 CPLD 코드를 상기 CPLD로 재전송하는 것을 특징으로 하는 장치. It is determined whether the two calculated checksum values are the same, and when the two calculated checksum values are the same, a CPLD download completion message is transmitted to the host processor, and when the calculated two checksum values are not the same, the Retransmit the CPLD code from a host processor to the CPLD. 제 20 항에 있어서, 상기 호스트 프로세서는,The method of claim 20, wherein the host processor, 상기 슬레이브 프로세서로부터 CPLD 다운로드 완료 메시지가 수신될 시, CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이하고, 상기 테스트 명령 모드를 종료하는 것을 특징으로 하는 장치. And receiving a CPLD download completion message from the slave processor, displaying a message indicating that CPLD download is completed, and ending the test command mode. 제 13 항에 있어서, The method of claim 13, 상기 CPLD는, 상기 슬레이브 프로세서로부터 상기 CPLD 코드가 수신될 시, 상기 수신된 CPLD 코드를 저장하고, 상기 수신된 CPLD 코드를 상기 슬레이브 프로세서로 전송하는 것을 특징으로 하는 장치. The CPLD, when the CPLD code is received from the slave processor, stores the received CPLD code, and transmits the received CPLD code to the slave processor.
KR1020080122913A 2008-12-05 2008-12-05 Apparatus and method for cpld code downloading in dual processor device KR20100064467A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080122913A KR20100064467A (en) 2008-12-05 2008-12-05 Apparatus and method for cpld code downloading in dual processor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080122913A KR20100064467A (en) 2008-12-05 2008-12-05 Apparatus and method for cpld code downloading in dual processor device

Publications (1)

Publication Number Publication Date
KR20100064467A true KR20100064467A (en) 2010-06-15

Family

ID=42364089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080122913A KR20100064467A (en) 2008-12-05 2008-12-05 Apparatus and method for cpld code downloading in dual processor device

Country Status (1)

Country Link
KR (1) KR20100064467A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114779883A (en) * 2022-05-17 2022-07-22 西安易朴通讯技术有限公司 System clock synchronization method, device, system and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114779883A (en) * 2022-05-17 2022-07-22 西安易朴通讯技术有限公司 System clock synchronization method, device, system and storage medium
CN114779883B (en) * 2022-05-17 2024-03-19 西安易朴通讯技术有限公司 System clock synchronization method, device, system and storage medium

Similar Documents

Publication Publication Date Title
US8386764B2 (en) BIOS architecture
CN102279756A (en) CPLD (Complex Programmable Logic Device) firmware updating method
CN104503796B (en) A kind of configurable whole network remote node firmware upgrade method based on IAP
US8490081B2 (en) Method and apparatus for installing software in mobile communication terminal
CN103942061A (en) Battery firmware updating method, portable electronic device and rechargeable battery module
US9928053B2 (en) Joint acquisition of update software for multiple devices
CN102662697B (en) Software upgrading method and device
CN105338110A (en) Remote debugging method, platform and server
CN101853173A (en) Software upgrading method and device of programmable logic device of distributed system
KR101323937B1 (en) A simulation system of communication between HMI simulator and PLC simulator
CN102752396A (en) Embedded type sensing server and data control method thereof
CN102081526B (en) Basic input/output system architecture
WO2017049556A1 (en) Data transmission method and mobile terminal
KR20100064467A (en) Apparatus and method for cpld code downloading in dual processor device
US9843493B2 (en) Test-software-supported measuring system and measuring method
CN109144554B (en) Firmware upgrading method, related equipment, system and medium
CN103365735A (en) Transmission interface and method for determining transmission signal
CN112463199A (en) System upgrading method and terminal
JP2002208886A (en) Portable terminal equipment, storage data updating method and firmware-updating method
CN105824661A (en) Software sharing method and electronic equipment
KR20060084710A (en) The firmware download device and the method of updating the firmware using it
CN114676006A (en) System self-checking method, device, equipment and storage medium based on dynamic reconfiguration
CN101989222B (en) Loongson simulator terminal
CN112118567A (en) Device upgrading method, electronic device and medium
CN109617739B (en) Topology control method of distributed dynamic radio frequency testing device

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid