nRF 과 어플리케이션을 연동해서 사용 중에, 특정상황에서 nRF 칩이 먹통되는 경험을 하신 경우가 있다면, 어떻게 해결 할 수 있을까요? 단순한 디바이스면 큰 문제없을수도 있지만 나아가 세탁기, 건조, 식기 세척기, 더 크게는 로봇, 자동차, 로켓도 분명이 그런 상황이 있을 수 있을텐데요. 복잡한 로직이 되어가면 되어갈 수록 이란 'DeadLock' 상태는 발생할 가능성이 높아집니다. DeadLock의 개념 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태로 '교착 상태' 라고도 하며 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생합니다. DeadLock 발생조건 - 교착 상태는 한 시스템 내에서 다음의 조건이 모두 성립될 때 발생합니다. 따라서 아래의 네 가지 조건 중 하나라도..
nRF 칩 자체는 매우 작지만 그 안에서 알차게 잘 활용한다면 IoT 관련 자신만의 디바이스를 만드는 것은 문제 없는데요. 다만 무엇인가를 지속적으로 저장하고 이를 관리해야한다고 한다면 ROM의 일부를 할애하여 저장장치화 시킬 수 있습니다. 그 방법 중 첫번째가 fstorage라는 API를 이용해서 사용하는 것이고 아래 글에서 설명한 적이 있습니다. https://hero-space.tistory.com/88 nRF에서 Database 활용하기 - fstorage 편 nRF 노르딕 칩에서 database로 활용하기 위해서는 flash를 활용해야하는데 별도의 다른 물리적 저장장치가 없기 때문입니다.. 아는 사람은 알겠지만 flash 공간은 wrtie, read 하는 속도도 느리고 제일 중 hero-spac..
지난 번에 secure bootloader 샘플 프로젝트 빌드하기 위한 것들을 진행해봣는데요, 못 보신 분은 아래 글을 잠시 훑어보시고 오시면되겠습니다. https://hero-space.tistory.com/99 OTA 로 nRF 칩 소프트웨어 업데이트하기 1 임베디드 기기에 개발을 하다보면 작성한 코드를 업데이트 해야합니다. 업데이트 한다는 개념은 임베디드 기기의 Rom 과 같은 비휘발성 메모리에 코드를 적재하고, 부팅시 Ram에 로드 시키고, 스 hero-space.tistory.com micro-ecc를 빌드해서 .a 파일은 나왔지만 그다음 어떻게 해서 나만의 key를 만들까요? 사실 dfu_public_key.c는 샘플폴더에 들어 있던 것인지라 micro-ecc 라이브러를 이용해 나만의 키를 생..
nrf52832와 nrf52810 칩을 선택할때 목적에 맞게 잘 선택할 필요에 대해서 설명을 드렸었는데요. 두 칩을 선택할때 이왕이면 더 싼 칩으로 생각하신다면 어쩔 수 없이 nrf52810으로 할 수 밖에 없습니다. 다만 그래도 되는 것은 nrf53832와 nrf52810은 핀맵이 동일하기 때문에 양산전에 이슈가 생긴다면 빠르게 칩만 바꾸고 소프트웨어만 변경하면 최소비용이 들게 됩니다. 물론 처음부터 쪼들리게 잡는 것보단 넓게 잡고 줄여가면서 생산비용을 줄여가는 것이 맞는 방법이겠지만 규모가 작은 경제를 할 수록 크게크게 잡기는 힘들겠죠 아무래도 칩을 구매하는 MOQ가 있기 때문인데. 그러다 보니 저도 nrf52810을 3000개를 구매해서 300개정도 사용을 했었고, 기능이 넘쳐서 더이상 핸들링하기가..
이전 글에서 nRF52810에서 nrf52832로 변경하였다고 이야기하였는데 그에 대한 상세한 이유에 대해서 오늘 이야기해볼까 합니다. 두 칩에 대한 상세한 스펙 비교는 아래 링크에서 확인하실 수 있습니다. https://hero-space.tistory.com/73 목적에 따른 Bluetooth Chip 선택하기 IoT 시대라고 말하기에 어색할 만큼, 이제 모든 것이 연결되는게 당영한 세상입니다. 다만 그것을 어떻게 연결하고 연동하는지 관심을 갖다보면 그 사이사이에서 기술의 격차를 볼 수 있는데, 단 hero-space.tistory.com CPU 자체로 만 보았을때는 부동소수점 연산이 되냐 안되냐의 정도의 차이지만 메모리로 보았을때는 롬에 해당하는 Flash가 192KB에서 최대 512KB로 3배의 ..
임베디드 기기에 개발을 하다보면 작성한 코드를 업데이트 해야합니다. 업데이트 한다는 개념은 임베디드 기기의 Rom 과 같은 비휘발성 메모리에 코드를 적재하고, 부팅시 Ram에 로드 시키고, 스타트어드레스부터 순차적으로 실행하게 되는데요. 개발할때는 UART, SPI, JTAG 등 여러가지 방법으로 각자의 개발 환경에 따라서 PC에서 유선으로 직접 업데이트를 할 수 있습니다. 하지만, 고객들은 어떻게 할까요? 이어폰도 무선이어폰이 대중화된 시대에 당연히 이런 업데이트는 무선으로 되도록 기술은 발달해 있습니다. TV나, 핸드폰 등 대부분은 인터넷을 통해 업데이트가 필요한지 체크하고 이를 다운받아서 자동으로 업데이트 하는 개념이지요. 오늘은 그러한 기술의 핵심인 OTA를 노르딕 칩인 nRF에서 어떻게 할 수 ..
오늘 nRF 칩 기반에서 색온도와 밝기를 측정할 수 있는 센서의 드라이버를 nRF 칩에서 구동할 수 있도록 하는 방법에 대해서 설명하도록 하겠습니다. 우선 컬러/밝기 센서는 어떨 때 주로 사용하는지 알아보면, 우리 생활속에서 색 환경이라는 것이 존재합니다. 쉽게 말해 화장실에서는 주황색을 띄는 램프를, 카페에서는 따뜻한 빛을 주는 노란색 계열의 램프를, 집 거실에서는 각각 인테리어에 따라 다르지만 흰색 빛이나 조금은 누런색을 띄는 빛을 볼 수 있고, 1단계 2단계 3단계 처럼 빛의 밝기도 조절할 수 있습니다. 이처럼 자신이 어떤환경의 빛에 노출되어 있느냐에 따라 뇌에 영향을 주는 것이 다른데요. 카페에서는 휴식의 느낌을 얻지만 사무실에가면 집중의 느낌을 받는 것이 대표적인 입니다. 이렇듯 주변환경을 감지..
안녕하세요. 바쁜 한 달간 좀더 집중해야하는 일 들이 있어 간만에 블로그를 작성합니다. 오늘은 nRF 칩 기반에서 PWM Frequency에 대한 제어를 어떻게하는 설명할텐데요. 우선 PWM이 무엇인지 부터 확인해 보도록 하겠습니다. PWM (Pulse Width Modulation) 펄스의 폭을 제어한다는 뜻인데요. 못 느끼시겠지만 우리 실 생황에서 PWM 방식으로 아래와 같이 제어 되고 있습니다. 모니터와 핸드폰 같은 경우 60hz네, 120hz 주파수인데 머가 좋네 안좋네 이런말들 많이하고, 좀더 제어를 하시는 분들은 모터제어할때 이 주파수가 RPM과도 연관되어 있으니, 어떤 주파수로 하느냐에 따라 동작하는게 많이 다를 수 있습니다. 저는 오늘 그중에서 LED 제어를 위한 PWM Frequency에..