ARM 중에서 Cortex M3/M4로 Firmware를 Coding하고, Application 회로를 만들면서 늘 드는 생각이 ARM용 Debugger는 너무 비싸다는 생각이 든다.
현재는 4종류의 Cortex-M용 Debugger를 가지고 있는데.
Segger사의 JLINK BASE 모델, Keil사의 ULINK2, HJTAG사의 H-JTAG PRO, STM에서 만든 ST-Link 초기 버젼이다.
이 중에서 Segger사의 JLINK BASE 모델은 사실 Download 전용이다. J-Flash라는 기능이 반쪽만 동작 하기 때문에 그다지 쓸모가 별로 없다. 사실 이 모델은 예전에 중소 업체에서 만든 Cortex-M3 Application 보드를 살 때 끼워 준건데, 여지껏 아주 좋은 것인 줄 알았는데, 제일 허덥한 모델이다. 아직 뚜껑을 열어 보진 않았는데, 싸구리라는 사실을 알았으니, 내부 구성이 어찌 되어 있는 지 오픈을 해 봐야 할 것 같다.
그나마 좋은 것이 ULINK2이다. Keil에서 제공하는 Flash Memory Model을 만들어야 Custom MCU를 만들 때, 편하기 때문이다. 사실 ULINK2는 가격이 비싸다. 대략 50만원 내외인데, 환율에 따라 많이 변동된다. 그리고 Target System을 잘못 구성하면 ULINK2가 쉽게 고장이 난다. ULINK2를 고치려면 영국까지 보내야 하기 때문에 시간도 시간이지만, AS 비용을 감당하기 쉽지 않다. 아마 ULINK2를 저 세상으로 보낸 경험이 있는 사람은 Target System을 구성할 때 신중할 것 같다.
제일 좋은 모델이 희안하게도 H-JTAG이라는 모델이다. 가격은 ULINK2와 비슷하다. Segger의 JLINK에서 제공해 주는 J-Flash라는 프로그램은 ARM에 다운로드 한 FLASH ROM 파일을 Re-Read하는 기능을 제공하지만, Keil의 ULINK2는 제공하지 않는다. 하지만, Segger사의 JLINK도 BASE 모델 이상을 구매 해야 그 기능을 사용할 수가 있다. 하지만, H-JTAG은 그 기능을 사용하는 것이 무료이다. 그리고 속도도 빠른 듯한 느낌이다.
JTAG Debuger의 정품들은 대부분 가격이 비싼 편이다. 물론 회사 입장에서는 큰 금액은 아니지만, 취미 삼아 MCU를 이용해서 뭔가를 조금 해 보려고 하면 Compiler 가격도 가격이지만, ARM에서는 이 Debugger가 발목을 잡는다.
하지만, 저가의 Clone 제품들이 많이 나와 있다. 대표적인 것이 RealView사의 ULINK가 그것이다.
그리고, 양산을 위한 Application System이 아니면 JTAG Debugger를 연결과 분리를 반복하는 것이 그리 달갑지는 않다.
그래서 Keil사의 ULINK2를 완벽히 동일한 Clone을 만들어 보려고 준비 중이다.
잘 되면 오픈 매장을 통해서 판매도 고려 해 봐야 겠다.
Keil사의 ULINK1의 경우는 이미 회로도와 Firmware가 중국쪽으로 부터 유출되어 인터넷 상에서 찾을 수 있다. 하지만, ULINK2는 회로도만 인터넷 상에서 구할 수 있고, Firmware는 아직 구할 수가 없다. 그리고 공개된 ULINK2의 회로도 역시 구버젼이다. 이를 확인하는 방법은 회로도를 봤을 때, USB Data Line에 ESD Protection Diode가 없는 것이 구 버젼이고, 있는 회로도가 신버젼이다. 아직 새로운 버젼의 회로도는 찾지 못했지만, 단순히 중간에 ESD Protection Diode만 추가한 것이고, 나머지는 동일하기 때문에 굳이 새로운 버젼의 회로도가 필요할 것 같진 않다.