Debug Cycle의 일반적인 Step은
Program디버그–> Error 위치 찾고 -> Error 수정하고->Program컴파일->Program Reload순으로 진행이 되는데, 이때 개발자들이 가진 Tool Chain이 각각의 단계에서 Delay 없이 수행이 가능하다면 디버깅 시간을 상당히 단축 시킬 수 있다.
그 중에서 많은 시간을 차지하는 download의 경우 통상 긴 loading시간은 느린 JTAG Interface를 통해 Target RAM에 큰 프로그램을 download할 때 발생하는데 만약에 새롭게 Compile된 프로그램이 전에 Loading된 program과 약간 달라진 경우에는 위의 그림처럼 Loading time을 상당히 줄일 수 있다.
이런 형태의 Intelligent Loading 방법의 기본적인 개념은
Debugger가 이미 Loading된 프로그램을 복사하여 가지고 있는 것이다.
새롭게 compile된 버전을 loading할 때 Differential File이 생성이 되어 지는 원리이며
이 다른 파일(differential file)에는 압축된 형태로 Update된 정보가 모두 포함된다.
디버거는 차이가 나는 부문만을 target system에 download하게 되며 이 방식은 새롭게 Compile된 프로그램을 실행하는 것보다 30~100배 정도 적은 시간이 소요된다.
관련된 방법으로는
①Differential loading, ②Zipped download, ③Turbo mode등이 있으며
Core에 따라 적절한 방식을 선택 사용하시면 되며
ARM core의 경우 ①, ②를 MIPS의 경우 ③번 방법을 사용하시면 보다 빠른 Download를 경험하실 수 있습니다.