페이지

글목록

레이블이 jtag인 게시물을 표시합니다. 모든 게시물 표시
레이블이 jtag인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 3일 목요일

[dialog] DA14580 boost mode FLASH/DEBUG/RESET

어제 부스트 모드의 동작 및 JTAG 연결, 회로도 등에 대해서 궁금한 것이 있어서,

다이얼로그사에 기술지원 메일을 보내서 얻은 답변을 공유합니다.

먼저 저의 질문은 다음과 같습니다.
이번에 1.5V 알카라인 밧데리를 사용하는 보드를 검토하는 중인데,몇 가지 질문사항이 있습니다.

1.     전원이 1.5V 이므로 SPI FLASH 메모리는 사용할 수 없겠죠부스트 모드 에서는 OTP 만 사용하는 것으로 보면 되나요?
2.     JTAG 로 프로그램을 다운로드할 때JTAG VBAT은 어떻게 연결해야 하나요? (VBAT1V  VBAT3V 중 어디에 연결해야 하는지회로도 PDF로 첨부합니다. VBAT3V에 연결하는 것으로 보이지만 검토 부탁 드립니다.)
3.     DA14580을 부스트 모드에서 Product Line Tool 을 사용하고자 할 때에도VBAT은 어떻게 연결해야 하나요? (VBAT1V / VBAT3V ? )
4.     Product Line Tool 이나 JTAG  DA14580 을 연결할 때RESET 핀을 연결해야 하나요? (지금까지 연결을 안하고 다운로드 했었는데필요 없다면 핀을 외부로 빼지 않을 생각입니다만..)



답변 내용 입니다.
1.     전원이 1.5V 이므로 SPI FLASH 메모리는 사용할 수 없겠죠부스트 모드 에서는 OTP 만 사용하는 것으로 보면 되나요?

è     Boost mode 사용 하시더라도 따로 S/W I/O 전압을 1.8V 변경하지 않으시면 DA14580 3.0V 전원이 됩니다입력 전원만 1.5V  사용 Boost  거쳐 DA14580 필요한 3.0V 전압을 생성합니다.
è     아무래도 입력전원이 1.5V 이므로 Flash memory 용도로 따로 외부에 boost  convertor 단품을 추가 하셔야   같습니다.
è     아니시면  입력 전압이 1.8V  Flash memory 단품을 이용하시고,  DA14580 I/O 1.8V setting 하셔서 사용하는 것도 방법이   있을  같습니다.     

2.     JTAG 로 프로그램을 다운로드할 때, JTAG VBAT핀은 어떻게 연결해야 하나요? (VBAT1V  VBAT3V 중 어디에 연결해야 하는지회로도 PDF로 첨부합니다. VBAT3V에 연결하는 것으로 보이지만 검토 부탁 드립니다.)

è     앞에 말씀 드린 대로 DA14580 boost mode 사용 하셔도 1.8V S/W setting 변경하지 않으시면 DA14580 3.0V 입니다.   
è     기존 Buck mode 대로 JTAG pad  3.0V 동일 합니다.

3.     DA14580을 부스트 모드에서 Product Line Tool 을 사용하고자 할 때에도, VBAT핀은 어떻게 연결해야 하나요? (VBAT1V / VBAT3V ? )

à Boost mode로도 모두 지원 가능합니다.

4.     Product Line Tool 이나 JTAG  DA14580 을 연결할 때, RESET 핀을 연결해야 하나요? (지금까지 연결을 안하고 다운로드 했었는데필요 없다면 핀을 외부로 빼지 않을 생각입니다만..)

è     간혹 Reset  필요한 경우가 있을  있으므로 RESET  Pin 외부로 배선 부탁 드립니다

2016년 2월 10일 수요일

[dialog] JTAG 디버깅 모드에서 동작 안함.??

이번에는 Smart TAG 용 제품을 개발하기 시작했습니다.

Dialog사의 DA14580 을 사용해서 BLE 페어링,데이터 송/수신, SW Read, GPIO out 등을 테스트 할 예정입니다.

예전에 다루지 않고 넘어갔던 부분인데, DA14580 의 예제 코드는 그냥 디버깅 실행하면 동작하지 않습니다.

원인은 저도 초보인지라, 자세히는 모르지만
Sleep mode 로 들어가면 Jtag가 동작을 안하는것 같습니다.

나름대로 해결한 내용은 다음과 같습니다.
방법1 : DA14580 개발 보드에서 JTAG를 연결하고  DEBUG 버튼을 눌러서 실행을 하면, 어딘가에 막혀 동작하지 않는다.
arch_system.c 파일의 uint8_t check_sys_startup_period(void) 에서
while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {}; 에서 걸려 있었는데 주석처리 하면 디버그 모드에서도 계속 동작.

방법2 : Dialog 사의 지원팀으로부터 알게 된 사항입니다.
da14580_config.h 의 
/*Sleep modes*/
//#define CFG_EXT_SLEEP  
#undef CFG_EXT_SLEEP  
#undef CFG_DEEP_SLEEP  

#define CFG_EXT_SLEEP   를 #undef CFG_EXT_SLEEP  로 수정하면 간단히 해결된다.

디버그 모드에서 정상 동작 테스트를 하기 위해서는 주의할 내용이다.