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 로 수정하면 간단히 해결된다.
디버그 모드에서 정상 동작 테스트를 하기 위해서는 주의할 내용이다.
댓글 없음:
댓글 쓰기