NuttX 일일 테스트 자동 되감기

2025-02-08
NuttX 일일 테스트 자동 되감기

Apache NuttX RTOS의 버그를 조기에 발견하고 수정하기 위해 자동 되감기 테스트 시스템이 만들어졌습니다. 이 시스템은 NuttX를 매일 빌드하고 테스트합니다. 테스트에 실패하면 이전 커밋으로 돌아가 원인이 파악될 때까지 하나씩 다시 빌드하고 다시 테스트합니다. 그런 다음 Mastodon 알림과 정중한 알림이 관련 NuttX 개발자에게 전송됩니다. GitLab 스니펫과 Prometheus 데이터베이스는 결과를 추적하고 분석하며 NuttX 대시보드에서 빌드 내역으로 시각화됩니다.

더 보기
개발

Apache NuttX RTOS에서 Rust 표준 라이브러리 사용: LED 깜빡임 등

2025-01-27
Apache NuttX RTOS에서 Rust 표준 라이브러리 사용: LED 깜빡임 등

이 기사에서는 Apache NuttX 실시간 운영 체제에서 Rust 표준 라이브러리를 사용하여 애플리케이션을 구축하는 방법을 자세히 설명합니다. Serde를 사용한 JSON 처리, Tokio를 사용한 비동기 함수, Nix 크레이트를 사용한 LED 제어에 대해 설명합니다. 또한 Rust에서 소유된 파일 디스크립터와 원시 파일 디스크립터의 차이점과 Nix와 Rustix라는 두 가지 POSIX 바인딩 크레이트를 비교합니다. NuttX에서 Rust 애플리케이션을 빌드하고 실행하기 위한 자세한 단계와 문제 해결 팁을 제공합니다.

더 보기
개발

Apache NuttX RTOS의 uname 버그 수정: 정적 변수의 함정

2025-01-21
Apache NuttX RTOS의 uname 버그 수정: 정적 변수의 함정

이 글에서는 Apache NuttX RTOS의 uname 명령어에서 발견된, 사소해 보이는 버그의 디버깅 과정을 자세히 설명합니다. 초기 문제는 출력에서 커밋 해시가 누락된 것이었습니다. 조사 과정은 커널 이미지 검사, 커널 시작 시 uname 호출, 애플리케이션 디스어셈블리 등 복잡한 단계를 거쳤습니다. 원인은 무엇이었을까요? NuttX 애플리케이션 내에서 커밋 해시를 저장하는 역할을 하는 손상된 정적 변수(g_version)였습니다. 이 예상치 못한 동작은 임베디드 시스템에서 철저한 디버깅의 중요성을 강조하며, 사소한 이상 현상이라도 더 심각한 문제를 나타낼 수 있음을 보여줍니다.

더 보기
개발