본문 바로가기

SiliconLabs2

EFR32FG1 HFXO 오실레이터 관련된 개발 이야기 실리콘랩스의 EFR32FG1 시리즈를 개발하고 양산하는 도중, 꽤 많은 생산 불량이 나오기 시작했다. 한 7% 정도... ? ​ 무한 재부팅이 되고, 와치 독을 빼면 어디선가 멈춰서 JTAG도 안되고, 멀쩡한 건 정상 부팅이 되고... ​ 문제를 분석하기 위해 크리스털 발진을 찍어보니 발진을 하는 순간, 리셋이 되었다. 어디인지 보기 위해 디버깅 메시지를 이리저리 추가하니, RAIL_StartRx 함수가 실행되면 다음 리셋이 실행되는 것을 확인했다. (https://docs.silabs.com/rail/latest/group-receive) ​ 무선 RF 통신을 하는 장비가 통신을 하니 멈춘다니.. 우선 크리스털이 문제인가 해서 교체해 봤으나 문제는 해결되지 않았다. 냉납인가 해서 납땜도 다시 해봤으나,.. 2022. 10. 14.
Silicon Labs EFR32 BLE SPP 안드로이드 송수신 앱 개발 오랜만에 EFR32로 개발할 일이 생겼다. 그때는 무선 RF 통신만 했었는데, 이번엔 BLE SPP 통신을 기반으로 하는 개발 건 이었다. ​ CPU 파트는 조금 다르지만 해봤던 제품이었고 BLE도 Apollo 칩으로 해 본 적이 있으니 어렵지 않을꺼라 했는데, 조금 헷갈렸던 부분이 있어서 정리할 겸 글을 쓴다. ​ 1. 특성별 UUID 는 다 달라야 한가? ​ BLE로 송수신을 하려면 UUID가 필요하다. 서비스 UUID와 characteristic UUID가 있으면 서비스 등록 및 통신이 가능한다. 보통 Write, Notification 2가지로 송수신을 하는데, 보통 다들 다들 다른 UUID를 사용한다. Nordic도 그랬고 Apollo도 그랬다. 당연히 EFR32도 그렇겠지 했는데... 요 2가.. 2022. 3. 13.