임베디드 시스템과 펌웨어

무선으로 펌웨어를 갱신하는(OTA 업데이트) 기기에서 플래시 메모리에 펌웨어를 두는 영역을 2개(A면과 B면) 마련하는 이유로 올바른 것은 무엇입니까?

  1. A두 영역에서 같은 프로그램을 동시에 실행하여 속도를 2배로 하기 위해
  2. B한쪽 영역을 사용자의 사진 저장에 사용하기 위해
  3. C새로운 펌웨어를 다른 쪽 영역에 쓰고, 도중에 실패해도 원래 영역으로 다시 기동할 수 있게 하기 위해
정답과 해설 보기

정답: C. 새로운 펌웨어를 다른 쪽 영역에 쓰고, 도중에 실패해도 원래 영역으로 다시 기동할 수 있게 하기 위해

실행 중인 펌웨어 위에 직접 쓰면 도중에 전원이 꺼지거나 통신이 끊겼을 때 기동할 수 없게 됩니다. 2면 방식에서는 사용하지 않는 면에 새로운 펌웨어를 쓰고, 올바르게 쓰였음을 확인한 뒤 기동하는 면을 전환합니다. 새 버전으로 기동에 실패하면 부트로더가 원래 면으로 되돌립니다. 용량이 2배 필요한 대신 안전하게 갱신할 수 있습니다.

이 분야 연습하기 분야로 돌아가기

임베디드 시스템과 펌웨어의 다른 문제

  1. 배터리로 동작하는 임베디드 기기에서 마이크로컨트롤러의 슬립 모드를 사용하는 주된 목적은 무엇입니까?
  2. 어떤 센서 기기는 전체 시간의 1%만 10 mA로 동작하고, 나머지 99%의 시간은 10 µA로 잠들어 있습니다. 평균 소비 전류에 가장 가까운 것은 무엇입니까?
  3. 작은 마이크로컨트롤러의 펌웨어에서 malloc 등의 동적 메모리 할당을 피하는 경우가 많은 이유로 올바른 것은 무엇입니까?
  4. MMU가 없는 작은 마이크로컨트롤러에서 스택 과다 사용에 대해 주의해야 할 점으로 올바른 것은 무엇입니까?
  5. 기준 전압 3.3 V인 12비트 AD 컨버터에서 읽은 값이 2048이었습니다. 입력 전압에 가장 가까운 것은 무엇입니까?

이 분야의 비교