1 |
1
IoT디바이스에 구비되는 마이크로컨트롤러;원격에서 상기 마이크로컨트롤러에 내장된 소프트웨어 또는 하드웨어를 런타임 중에도 업데이트하여 재구성할 수 있도록 상기 마이크로컨트롤러가 실행하게 될 실행코드를 예측하고, 상기 실행코드가 상기 마이크로컨트롤러에 적용될 수 있도록 상기 실행코드를 컴파일하여 동적으로 바이너리코드를 생성하는 관리서버; 및상기 마이크로컨트롤러에 연결되며, 상기 마이크로컨트롤러에 적용되어 있던 기존코드와 상기 바이너리코드를 비교하여 차이가 있는 부분적 영역을 상기 마이크로컨트롤러가 업데이트하여 재구성할 수 있도록, 상기 관리서버로부터 전송되는 상기 바이너리코드를 전달받아서 저장하는 플래쉬메모리부;를 포함하는 것을 특징으로 하는, 마이크로컨트롤러 업데이트 관리시스템
|
2 |
2
제 1항에 있어서, 상기 마이크로컨트롤러에서 온칩 내 정적영역과 재구성 가능한 영역으로 구분될 수 있으며, 상기 관리서버는 상기 마이크로컨트롤러가 실행하게 될 확률이 상대적으로 높은 실행코드를 예측하고, 상기 실행코드를 함수단위로 실행순서를 구성하고 복제대상이 되는 소스코드를 결정하여 상기 마이크로컨트롤러에 적용될 수 있게 실시간으로 컴파일하여 동적으로 상기 바이너리코드를 생성하는 것을 특징으로 하는, 마이크로컨트롤러 업데이트 관리시스템
|
3 |
3
제 2항에 있어서, 상기 마이크로컨트롤러와 연결되고, 상기 바이너리코드가 상기 플래쉬메모리부에 저장되도록 상기 관리서버로부터 상기 바이너리코드를 전송받는 통신인터페이스부;를 더 포함하는 것을 특징으로 하는,마이크로컨트롤러 업데이트 관리시스템
|
4 |
4
정적영역과 재구성 가능한 영역으로 구분된 온칩 플래시메모리를 갖춘 마이크로컨트롤러가 업데이트를 위해 실행하게 될 실행코드를 관리서버가 예측하는 예측단계;상기 예측단계에서 예측된 실행코드 중에서, 마이크로컨트롤러가 실행할 확률이 상대적으로 높은 실행코드를 함수단위로 실행순서를 구성하고 복제대상이 되는 소스코드를 결정하는 복제대상 결정단계; 상기 복제대상 결정단계에서 복제대상으로 결정된 상기 소스코드를 관리서버가 상기 마이크로컨트롤러에 적용될 수 있게 컴파일하여 동적으로 바이너리코드를 생성하는 컴파일단계;상기 컴파일단계에서 생성된 상기 바이너리코드를 상기 마이크로컨트롤러의 로컬복제영역에 저장시키는 코드저장단계; 및 상기 코드저장단계에서 저장된 상기 바이너리코드와 상기 마이크로컨트롤러에 적용되어 있었던 기존의 코드를 비교하여 차이가 있는 부분적 영역만 업데이트하여 재구성하는 재구성단계;를 포함하는 것을 특징으로 하는, 마이크로컨트롤러 업데이트 관리방법
|
5 |
5
제 4항에 있어서,상기 예측단계 이전의 단계로서, 상기 온칩 플래시메모리를 정적영역과 재구성 가능한 영역으로 구분하는 구분단계;를 더 포함하는 것을 특징으로 하는,마이크로컨트롤러 업데이트 관리방법
|
6 |
6
제 5항에 있어서, 상기 컴파일단계에서 이루어지는 상기 컴파일은 실시간(Just In Time) 컴파일인 것을 특징으로 하는,마이크로컨트롤러 업데이트 관리방법
|
7 |
7
제 6항에 있어서, 상기 예측단계에서, 콜링 그래프(Calling Graph) 분석을 이용하여 상기 마이크로컨트롤러가 실행할 확률이 상대적으로 높은 실행코드의 결정하는 것을 특징으로 하는, 마이크로컨트롤러 업데이트 관리방법
|