무려 3년전쯤에 산 MSP-FET Flash Emulator tool을 며칠전에 꺼내어서 기존에 사용했던 데모보드에 연결을 해봤다.

테스트 환경이 8년 전에 테스트할 땐 windows xp와 iar 컴파일러 그리고 프린터 포트에 연결해야 하는 에뮬레이터였다면 최근엔 windows10 64비트, 새로산 usb 에뮬레이터 그리고 ccs v7을 무료로 제공하기에 낯선 환경이지만 설치를 끝낸후 소스코드는 예전에 작성했던 그대로해서 컴파일및 다운로드를 시도했다. 


ccs v7은 자바 프로그래밍할 때 배운 이클립스 환경과 거의 비슷해서 쉽게 프로젝트를 생성 및 컴파일은 아무이상 없이 무사히 잘 되었고  binary 파일 또한 제대로 잘 만들어졌다.

에뮬레이터를 첫 개봉해서 pc와  데모보드에 연결하고 디버그 모드를 눌러  테스트 프로그램이 동작하는 확인하려고 했는데  새로운 환경이라 그런지  수십초 동안 펌웨어 업데이트를 해서 무사히 잘 진행되는줄 알았다. 그런데 갑자기   ulp advisor라는 창이 뜨는데 첨 보는 환경이라 어리둥절 뭐 대충 proceed하고 넘어가려 했으나 바로 다음에






아래 그림과 같은 창이 뜨면서 더이상 진행이 안 되었다.  ccs v7 창을 닫고  새로운 툴도 usb 제거하고 다시 연결했는데도 증상은 똑같았다. 헐 새로산 에뮬레이터가 고장이란 말인가??


MSP430: Error initializing emulator: The voltage 1234 value is not correct/allowed for the USB FET





ulp가 뭔지 잘 모르니 일단 이 귀찮은 메시지를 끄기 위해서 현재 프로젝트에서 property 들어가 ulp advisor 옵션을 다 꺼도 마찬가지로 오류를 뿜으면서 진행이 안 되었다. 그러니까 새로산 에뮬레이터 동작 안하는것과 ulp 옵션은 전혀 무관한 것이였다.


하드웨어 안가지고 논지도 꽤 되어서 잊어 먹은것도 많고 새로운 컴파일러에 의한 낯선 환경이라 잘 안되는거라고 자기 위안을 해봤다 ㅡ.ㅡ; 다시 익숙했던 iar msp430 컴파일러를 설치해서 마찬가지로 작업을 해봤다. 역시나 새로산 툴로는 전혀 되지 않았다. 그래서 툴이 이상한가 보다 생각해서 예전에 쓰던걸로 바꿔 보자고 했지만 현재 사용중인 컴퓨터는 프린터 포트가 없다. 물론 프린터포트가 달린 예전 컴퓨터는 램이 적출되고 ssd도 제거된 상태로 모셔져 있긴 하다.


그렇지만 나의 방 어딘가엔  몇해전 ebay에서 산 usb용 msp-UIF를 그때 당시 잠깐 테스트해보고 어 안되네...그냥 재수없게 불량품이 걸린거라 생각해서 다른 판매자한테서 약간 다른 중국산을 샀지만 마찬가지로 안 되어서 역시 중국산 짝퉁은 별수없구나 포기했던게 기억난다. 2015년 초인가 아무튼 그때쯤 정품 MSP-FET Flash emulator tool를 ti에서 특가로 판매하길래 7~ 8만원정도쯤 주고 산걸로 기억한다. 귀차니즘때문에 오늘 개봉한것이지만 -.-V


이렇게 에뮬레이터의 고장만 의심한 이유는  몇년전까지 LPT용 jtag로 테스트할 때는 잘 동작했기 때문에 또한 10년전 회사에서 참고용으로 수십번 넘게 정품 MSP-FET430UIF와는 동작을 잘했기 때문이였다.


이보드는 뒷면에 전원용으로 배터리 연결단자가 있지만 에뮬레이터에서 전원을 공급받아서 충분히 동작했었다.


아무튼 심호흡을 가다듬고 먼저 고장났다고 생각한 중국산 UIF를 pc에 연결해서 장치관리자에 들어가봤다.



오잉 windows xp 에서 UIF jtag이  com port에 설정이 되었었나? 의심이 많이 들었지만 예전하곤 좀 다른거 같긴 하지만  windows환경도 달라졌고 에뮬레이터도 바꼈으니 그럴거라 생각하고 넘어감.





이건 Ti 정품 MSP-FET Flash Emulator Tool을 pc에 연결했을때 상태임.

기존 UIF완 다르게 이건 2개가 뜨면서 UART1이라고 하나 더 있는데 에뮬레이터를 통해서 데모 보드와 pc간에 시리얼 통신을 할수 있을것 같다.



아무튼 iar컴파일러에서도 아무 이상없이 컴파일 잘되었고  중국산 uif가 또 열심히 펌웨어를 업데이트를 했다. 그러나 역시 한번에 잘 될리가 있나. iar컴파일러에서 debugger setup에서  driver에서 simulator에 설정해놓은걸 변경 안해놓고 다운로드를 했으니... 



드디어 성공 ㅜ.ㅜ



생긴건 정품 UIF처럼 보이지만 엄연히 중국산임. 아무튼 컴파일러 설치하고 이것저것 에뮬레이터 찾아내면서5시간 이상 걸렸지만 자정 무렵에 성공해서 잤음. 다음날에 다시 했는데 또 안되어서 왜 그렇지 했지만 이내 문제점을 찾고 성공. 또다른 중국산으로 해도 성공. 이제 마지막 Ti jtag으로만 성공하면 되는데 iar 컴파일러에서는 안 되었다.


그럼 ccs v7과 iar msp 컴파일러 설정차이 때문에 그런가 싶어서 이번엔 ccs v7에서 두개의 중국산 uif를 먼저 테스트했는데 iar에서와  마찬가지로 잘 되었다.

그런데 정품 툴만 ccs와 iar에서 안 되니 이쯤해서 정품툴 만을 의심해야 하는게 당연하나 구글링해서 찾아본 기억으론  jtag핀중에 2번인가 3번인가 몇번핀에 전원이 공급되고 있는지 확인하라는 어느 외국인의 댓글이 기억나 nexp님에게 분양받은 msp430f-1xx evm rev03보드에 연결해보았다. mcu는 msp2418을 장착했음.

이보드는 아주 작지만 마이크로 usb에서 전원을 공급받는거라서 jtag 핀 전원 문제도 없고 해서 정품 툴에 연결하니 지금까지 안 되던게 마침내 성공하게 되었다.



동작 성공한 모습.



그래서 결론을 내자면 구형 중국산 UIF 툴은 타겟보드에 전원이 없어도 에뮬레이터에서 나온 전원으로 충분히 보드를 문제 없이 동작 시키나 신형은 타켓보드에 전원이 공급되지 않으면 에러를 내뿜는것으로 봐서 에뮬레이터에서 전원을 체크하는 동작이 추가 되었는걸로 추정됨. <-------------이라고 처음엔 생각했는데

nexp님 보드에서 usb 전원을 제거하고 정품툴에서 테스트했더니 잘 되었다.  따라서 결론은 타켓보드의 상태에 따라서 외부에서 충분한 전원이 공급되어야 하는  보드와  외부전원이 필요없을 정도로 간소하고 작은 보드에 따라서 jtag 에뮬레이터가 오류를 뿜는것으로 결론 지어야겠다. 그리고  혹시나 해서 컴퓨터 뒷면 usb포트와 전면 포트에 따라서 달라지는가 해봤는데 현재의 컴퓨터에서는 동일한 결과로 아래와 같았다.


2018년 6월 21일 결과

인텔 dx79sr e5-1650 32기가 램 3rsys t200케이스

타켓보드에는 외부 전원이 공급되어 있지 않음

중국산 UIF 1  <----------> A20860, nexp님 보드  둘다 성공

중국산 UIF 2 <-----------> A29860, nexp님 보드 둘다 성공


Ti 정품 <----------> A20860  실패

Ti 정품 <----------> nexp님 보드 성공


그럼 왜 예전에는 구형 중국산 UIF는 동작 안했는가?  아무래도 잠깐 동안 테스트하면서 구형 컴퓨터의 전면 usb포트에 충분한 전원 공급이 안되어서 중국산 에뮬레이터도 오동작 했을거라고 추측함.

amd phenom black edition , 16G, asus M4a77td

타겟보드에는 외부 전원이 공급되어 있지 않음

중국산 UIF 1, 2 <---------------> A20860  둘다 실패




jtag 4형제중 3형제의 다정한 모습 lpt용은 옆방에 있음


iar embedded workbench for msp430  v 7.11.1

iar 테스트코드.zip



ti용 테스트 코드 ccs v7.0


msp2418.zip


msp430fg439.zip



msp430fg439.zip
0.04MB
iar 테스트코드.zip
0.16MB
msp2418.zip
0.03MB

'Texas Instruments > msp430fg439' 카테고리의 다른 글

msp430fg439를 이용한 A20860 보드 테스트  (0) 2013.01.01

+ Recent posts