홈으로 / 임베디드 펌웨어 개발·개선

EMBEDDED FIRMWARE

임베디드 펌웨어 개발·개선

고객이 보유한 회로와 보드, 기존 소스코드를 바탕으로 장치의 동작을 설계합니다. 모터·센서 제어, BLE 통신, 상태머신과 예외 처리부터 H/W·F/W 통합 검토·시험·인계까지 필요한 범위를 함께 정합니다.

WHERE WE START

지금 제품은 어느 단계인가요?

01

새로운 보드

회로와 보드는 준비됐고, 제품의 동작을 구현할 펌웨어가 필요합니다.

02

기존 제품 개선

기존 코드의 오류를 수정하거나 기능을 추가하고, 유지보수 가능한 구조로 정리해야 합니다.

03

보드 변경·동작 불일치

보드 리비전이나 부품이 바뀌어 회로·코드·실제 동작을 함께 확인해야 합니다.

DEVELOPMENT & INTEGRATION

제품의 상태에 맞춰 필요한 범위부터

01

신규 펌웨어 개발

MCU 초기화와 주변장치 드라이버부터 동작 모드, 버튼·표시·알림까지 제품의 요구사항에 맞게 구현합니다.

주요 산출물동작 설계 · 소스코드 · 빌드 환경
02

기존 펌웨어 분석·개선

빌드와 실행 경로를 분석해 오류를 수정하고 기능을 추가합니다. 보드 변경 대응과 코드 구조 개선도 함께 검토합니다.

주요 산출물분석 결과 · 수정 코드 · 변경 이력
03

장치 제어·통신 연동

모터·센서·PWM·타이머와 BLE·UART·SPI·I2C 등 제품에 필요한 제어와 통신을 구현합니다.

주요 산출물제어 로직 · 인터페이스 정의 · 연동 시험
04

H/W·F/W 통합 검토·시험

회로 핀맵과 코드를 대조하고 시작·정지·예외 상황을 확인합니다. 호스트 시험과 실보드 시험의 범위·결과를 구분해 정리합니다.

주요 산출물정합성 검토 · 시험 결과 · 잔여 이슈

ENGINEERING DEPTH

제품 동작을 만드는 여섯 가지 기술 영역

부품별 드라이버 구현을 넘어 제어 주기, 데이터 흐름, 예외 동작과 사용자 경험을 함께 설계합니다.

MOTION CONTROL

모터·엔코더 제어

PWM 속도 제어, 엔코더 피드백과 PID 시간축을 검토합니다. 가감속·방향 전환·원점 탐색·무펄스 감지 조건을 제품에 맞게 정의합니다.

PWM · Timer · Encoder · PID

SENSING & ACQUISITION

센서·ADC 데이터 수집

ADC 샘플링과 채널 전환, 입력 필터·접촉 판정·보정 조건을 검토합니다. 회로의 신호 안정화 시간과 펌웨어 수집 주기를 함께 맞춥니다.

ADC · MUX · Filtering · Calibration

DEVICE CONNECTIVITY

BLE·장치 간 통신

명령·상태 패킷, 송수신 주기와 ACK·타임아웃·재시도 규칙을 정의합니다. 연결 해제 시 정지 정책과 재연결 후 상태 일치도 다룹니다.

BLE · UART · SPI · I2C

PRODUCT BEHAVIOR

상태머신·사용자 인터페이스

시작·일시정지·완료·오류 상태를 명확하게 나눕니다. 버튼의 짧게·길게 누름, 화면·부저·배터리 표시를 실제 동작과 일치시킵니다.

State machine · Button · Display · Buzzer

FAULT HANDLING

출력 허가·예외 처리

센서 이상, 저전압, 충전 중 동작 제한과 Watchdog·리셋 후 복귀 조건을 설계합니다. 출력 제어 경로를 정리하고 상충 명령을 검토합니다.

Interlock · Watchdog · Reset · Power state

CODE MODERNIZATION

기존 코드 분석·구조 개선

실제 빌드에 포함된 소스와 실행 경로를 확인합니다. BSP·드라이버·제품 로직을 분리하고 보드 리비전, 핀맵, 빌드 설정과 변경 이력을 정리합니다.

C/C++ · BSP/HAL · Build · Regression

APPLICATIONS

의뢰할 수 있는 제품과 개발 과제

실제 검토 자료에서 다룬 기술 과제를 일반화한 서비스 적용 예시입니다. 제품별 구현·시험 범위는 자료 확인 후 정합니다.

01 / CONNECTED MOTION

무선 모터 구동 장치

목표 속도와 실제 회전, 본체와 무선 장치의 상태가 서로 맞아야 하는 제품.

개발·검토 포인트

  • 엔코더 환산·제어 주기·가감속과 방향 전환
  • BLE 명령·응답·단절 및 재연결 동작
  • 버튼·화면·배터리 표시와 구동 상태의 일치
정리해 드리는 결과제어 시퀀스 · 통신 정의서 · 동작 확인 항목

02 / MULTI-MODE DEVICE

여러 동작 모드를 가진 장비

사용자 조작, 센서 조건과 출력 순서를 하나의 상태 흐름으로 관리해야 하는 제품.

개발·검토 포인트

  • 모드 선택·시작·일시정지·종료 상태 설계
  • 접촉·충전·센서 이상에 따른 출력 허가 조건
  • 출력 관리 계층과 UI 분리, 오류 후 재시작 정책
정리해 드리는 결과상태 전이표 · 출력 조건표 · 요구사항–시험 대응표

03 / SENSOR ACQUISITION

다채널 센서 수집 보드

아날로그 입력 조건과 MCU의 데이터 수집 설정을 함께 맞춰야 하는 시스템.

개발·검토 포인트

  • ADC 샘플링·MUX 전환·신호 안정화 조건 검토
  • I2C 센서·USB 인터페이스와 회로 조건 대조
  • 기동·전원 시퀀스와 수집·전송 요구사항 정리
정리해 드리는 결과H/W·F/W 인터페이스 조건 · 추가 확인 항목 · 시험 계획

HARDWARE–FIRMWARE REVIEW

회로와 코드 사이의 동작 차이를 찾습니다

핀 연결이 맞아도 제품의 동작까지 일치하는 것은 아닙니다. 회로도·부품 자료·활성 소스와 빌드 산출물을 대조해 통합 관점의 확인 항목을 정리합니다.

01

핀 연결과 제어 의미

‘정지’ 명령이 실제로 무엇을 끄나요?

GPIO 이름·극성·드라이버 진리표와 전원 경로를 대조합니다. 출력 레벨 변경, 모터 정지, 전원 차단의 의미를 구분합니다.

02

실제 빌드·실행 경로

검토한 함수가 제품에서 실행되나요?

프로젝트 설정·링크 맵·호출 경로로 활성 코드를 확인합니다. 남아 있는 구형 코드와 주석이 실제 구현을 설명하는지도 검토합니다.

03

센싱·제어의 시간과 단위

측정값과 제어 주기가 서로 맞나요?

엔코더 환산·감속비·PID 호출 주기·ADC 환산식을 대조합니다. 회로 필터와 샘플링·누적 판정이 만드는 응답 지연도 함께 검토합니다.

04

이상 상황의 정지·복구

단절이나 리셋 뒤 어떤 상태로 돌아가나요?

무펄스·통신 단절·충전·Watchdog·리셋 경로를 검토합니다. 소프트웨어 정지와 하드웨어 차단의 역할을 구분하고 재기동 조건을 정합니다.

ARCHITECTURE & VERIFICATION

제품의 판단과 하드웨어 제어를 분리합니다

보드가 바뀌어도 제품 로직을 추적하고 시험할 수 있도록 역할과 경계를 명확히 합니다.

  1. 01

    제품 동작

    모드 · 상태 전이 · 사용자 조작

  2. 02

    제어·통신

    제어 알고리즘 · 패킷 · 출력 허가

  3. 03

    BSP·드라이버

    핀맵 · 타이머 · ADC · 통신 주변장치

  4. 04

    보드·장치

    MCU · 모터 · 센서 · 화면

검증 단계와 근거를 함께 전달합니다

  1. 코드·회로 대조

    요구사항·핀맵·활성 소스와 실행 경로

  2. 빌드 재현

    툴체인·SDK·설정·실행 파일과 변경 이력

  3. 호스트·회귀시험

    상태 전이·경계 조건·예외 입력의 재현

  4. 실보드·연동시험

    계측 조건·장비·파형·로그와 합격 기준

각 단계는 계약 범위와 시험 환경에 맞춰 수행합니다. 코드 검토·빌드·호스트 시험 결과와 실보드 계측 결과를 구분하여 보고합니다.

HOW WE WORK

동작을 합의하고, 시험 근거와 함께 인계합니다

  1. 01자료 확인

    요구사항·회로·보드 리비전·소스와 빌드 환경을 확인합니다.

  2. 02동작 설계

    상태 전이·제어·통신·예외 동작과 합격 기준을 정합니다.

  3. 03개발·시험

    구현과 회귀시험 후 합의된 조건에서 실보드 동작을 확인합니다.

  4. 04인계

    소스·실행 파일·문서·시험 결과와 남은 이슈를 전달합니다.

SCOPE & DELIVERY

제공 범위와 견적 기준

함께 정하는 납품물

소스코드·빌드 설정, 실행 파일, 동작·인터페이스 문서, 변경 이력과 시험 결과를 제안서에 명시합니다. SDK·제3자 소스는 해당 제공 조건을 따릅니다.

분석 후 별도 견적

소스와 빌드 환경 유무, MCU·보드 수, 제어·통신 복잡도, 기존 코드 상태, 실기 시험 조건에 따라 산정합니다.

별도 협의하는 업무

회로 재설계·PCB 제작·시제품·시험 지그·공인 시험·인증·현장 지원의 포함 여부와 비용을 별도로 정합니다.

확인 범위를 구분한 결과

코드 검토·빌드·호스트 시험·실보드 시험 결과를 구분합니다. 미확인 항목과 추가 확인 조건도 함께 전달합니다.

FIRMWARE QUESTIONS

펌웨어 개발 의뢰 전 자주 묻는 질문

기존 보드의 펌웨어 개발만 외주로 맡길 수 있나요?

가능합니다. 고객이 보유한 회로도·보드·MCU 정보를 기준으로 펌웨어 개발 범위를 검토합니다. 하드웨어 수정이 필요한 사항은 구분해 안내합니다.

기존 펌웨어 소스코드를 수정하거나 인수할 수 있나요?

소스코드와 빌드 환경, 사용 가능한 SDK를 먼저 확인합니다. 오류 수정·기능 추가·보드 변경 대응 범위와 재현 가능한 빌드·인계 조건을 함께 정합니다.

모터 제어와 BLE 통신 펌웨어도 개발하나요?

제품에 필요한 모터·센서 제어와 BLE 등 통신 연동을 상담할 수 있습니다. 대상 MCU·드라이버·프로토콜·응답 시간과 실보드 시험 조건을 확인해 구현 범위를 제안합니다.

MCU 펌웨어 개발 비용과 기간은 어떻게 정하나요?

요구 기능, 기존 코드 상태, MCU·보드 수, 실기 시험 환경과 납품 범위에 따라 달라집니다. 자료를 검토한 후 개발 단계별 일정과 견적을 제안합니다.

LET’S BUILD TOGETHER

가지고 계신 자료부터 보내주세요

회로도, 보드·MCU 정보, 기존 소스와 빌드 방법, 원하는 동작 또는 문제 증상 중 준비된 자료로 시작할 수 있습니다. 자료 확인 후 필요한 추가 정보를 안내합니다.

펌웨어 개발 상담