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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements 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
Description
본 발명은 듀얼 프로세서 디바이스에서 복합 프로그래머블 로직 디바이스(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
상기 도 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
상기 슬레이브 프로세서(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
상기 CPLD(120)는 상기 슬레이브 프로세서(110)로부터 CPLD 코드를 수신하고, 이를 저장하며, 상기 수신된 CPLD 코드를 다시 상기 슬레이브 프로세서(110)로 전송한다. The CPLD 120 receives the CPLD code from the
상기 스위치(130)는 상기 호스트 프로세서(100)의 제어에 따라 인에이블되어, UART 통신 채널을 통해 상기 호스트 프로세서(100)로부터 입력되는 신호를 블루투스 모듈(150)이 아닌 인터페이스 모듈(140) 및 슬레이브 프로세서(110)로 스위칭한다. 또한, 상기 스위치(130)는 상기 호스트 프로세서(100)의 제어에 따라 디스에이블되어, UART 통신 채널을 통해 상기 호스트 프로세서(100)로부터 입력되는 신호를 블루투스 모듈(150)로 제공한다. The
도 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
도 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
이후, 상기 호스트 프로세서(300)는 S/W 바이너리 데이터 영역 내 CPLD 바이너리에서 CPLD 코드를 추출하고(307), 상기 추출된 CPLD 코드를 UART 통신 채널을 통해 상기 슬레이브 프로세서(310)로 전송한 후(309), 상기 슬레이브 프로세 서(310)로 UART 통신 채널을 통해 전송 완료(Transfer end) 메시지를 전송한다(313). Thereafter, the
이때, 상기 슬레이브 프로세서(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
이후, 상기 슬레이브 프로세서(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
이때, 상기 슬레이브 프로세서(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
이후, 상기 슬레이브 프로세서(310)로부터 UART 통신 채널을 통해 CPLD 다운로드 완료 메시지가 수신되면, 상기 호스트 프로세서(300)는 CPLD 다운로드가 완료되었음을 나타내는 메시지를 표시창에 디스플레이하고(329), 상기 테스트 명령 모드를 종료한다(331). Subsequently, when a CPLD download completion message is received from the
도 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
이후, 상기 호스트 프로세서는 405단계에서 UART 통신 채널을 통해 상기 슬 레이브 프로세서로 CPLD 다운로드 요청 메시지를 전송하고, 407단계에서 UART 통신 채널을 통해 상기 슬레이브 프로세서로부터 CPLD 다운로드 응답 메시지가 수신되는지 여부를 검사한다. In
상기 슬레이브 프로세서로부터 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
이후, 상기 호스트 프로세서는 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
이후, 상기 호스트 프로세서는 419단계에서 상기 테스트 명령 모드를 종료한다. 즉, 슬레이브 프로세서와 CPLD의 전원을 디스에이블(disable)하고, UART 통신 채널 상의 스위치를 디스에이블한다. 이에 따라 슬레이브 프로세서와 CPLD가 전원 오프(off)되며, 스위치가 디스에이블되어, UART 통신 채널을 통해 호스트 프로세서로부터 입력되는 신호가 블루투스 모듈로 제공된다. In
이후, 상기 호스트 프로세서는 본 발명에 따른 알고리즘을 종료한다. 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
이후, 상기 슬레이브 프로세서는 505단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로부터 CPLD 코드가 수신되는지 여부를 검사하고, 상기 CPLD 코드가 수신될 시, 507단계에서 상기 호스트 프로세서로부터 수신된 CPLD 코드를 SDRAM(Synchronous Dynamic Random Access Memory)에 임시 저장한다. 이후, 상기 슬레이브 프로세서는 509단계에서 UART 통신 채널을 통해 상기 호스트 프로세서로부터 전송 완료 메시지가 수신되는지 여부를 검사하고, 상기 전송 완료 메시지가 수신되지 않을 시, 상기 507단계로 돌아가 이하 단계를 반복 수행한다. In
반면, 상기 전송 완료 메시지가 수신될 시, 상기 슬레이브 프로세서는 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
이후, 상기 슬레이브 프로세서는 515단계에서 상기 CPLD로부터 기 전송한 CPLD 코드가 다시 수신되는지 여부를 검사한다. 이때, 상기 CPLD와의 CPLD 코드 송 수신은 상기 슬레이브 프로세서의 GPIO 포트를 이용한다. 상기 CPLD로부터 기 전송한 CPLD 코드가 수신될 시, 상기 슬레이브 프로세서는 517단계에서 상기 CPLD로부터의 CPLD 코드를 상기 SDRAM에 임시 저장하고, 519단계에서 상기 CPLD로부터 전송 완료 메시지가 수신되는지 여부를 검사한다. 상기 전송 완료 메시지가 수신되지 않을 시, 상기 슬레이브 프로세서는 상기 517단계로 돌아가 이하 단계를 반복 수행한다. In
반면, 상기 전송 완료 메시지가 수신될 시, 상기 슬레이브 프로세서는 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
이후, 상기 슬레이브 프로세서는 본 발명에 따른 알고리즘을 종료한다. 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
이후, 상기 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
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.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)
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)
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 |
-
2008
- 2008-12-05 KR KR1020080122913A patent/KR20100064467A/en not_active Application Discontinuation
Cited By (2)
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 |