# 릴리즈 노트

## v4.1.0

**출시일:** 2026년 10월 15일<br>
**유형:** Minor

REGULUS Vision DSP용 SP500 DSP API, A/B 무선(OTA) 업데이트를 지원하는 MLX-R1 이미지, MLD-R1 펌웨어 v1.1.0을 제공합니다.

| 구성 요소 | 버전 |
| --- | --- |
| SP500 DSP API | 1.0.0 |
| qb Runtime | 1.5.1 |

(v4-1-0-added)=

### 추가

- **[Highlight]** **SP500 DSP API 1.0.0** — REGULUS Vision DSP에서 전처리와 후처리를 실행하는 C API의 첫 릴리스입니다. 패키지는 `libsp500.so`, DSP 펌웨어, `dsp_firmware_load` 로더, `sp500/` 헤더를 설치합니다. [DSP 개요](dsp_overview.md)를 참고하세요.
  - **Letterbox** — `sp500_letterbox()`가 8비트 HWC 프레임을 종횡비를 유지한 채 고정 모델 입력 크기로 리사이즈하고, 테두리를 상수 값으로 채운 뒤, 검출 결과를 원본 프레임으로 되돌리는 데 필요한 배율과 패딩을 반환합니다. Nearest, bilinear, bicubic, Lanczos 보간을 지원합니다.
  - **Log-mel spectrogram** — `sp500_log_mel()`이 float32 PCM에서 Whisper 방식 log-mel spectrogram을 Hugging Face `WhisperFeatureExtractor`와 같은 방식으로 계산하며, MXQ Whisper 모델이 받는 `[n_frames, n_mels]` 레이아웃으로 출력합니다. `sp500_log_mel_cpu()`는 같은 결과를 호스트 CPU에서 계산합니다.
  - **YOLO decode** — `sp500_yolo_decode()`, `sp500_yolo_decode_anchor()`, `sp500_yolo_postprocess()`가 YOLO head 출력을 DSP 왕복 한 번으로 detection, segmentation, pose 레코드로 변환합니다. anchor-less(v3u, v5u, v8, v9, GELAN, 11, 12), anchor(v3, v5, v7), NMS-free(v10), DFL-free(26) head 계열을 지원합니다.
  - **공유 메모리와 버퍼** — `sp500_buffer_alloc()`이 공유 메모리 영역에 복사 없는 버퍼를 할당하고, `sp500_shmem_phys_addr()`이 그 물리 주소를 반환해 NPU가 같은 메모리를 사용할 수 있게 합니다. `sp500_buffer_wrap()`은 애플리케이션 메모리를 중간 복사를 거쳐 전달합니다.
  - **수명 주기, 잠금, 버전** — `sp500_dsp_open()`, 시스템 전역 DSP 잠금, 호출 기한, 상태 코드, `sp500_version()`을 제공합니다.
- **[Highlight]** **MLX-R1 이미지와 A/B 무선 업데이트** — `core-image-regulus-mlx-r1`이 Modbus, OPC UA, CAN, NetworkManager를 포함한 MLX-R1 Mini AI Box용 루트 파일 시스템을 빌드합니다. `rauc` distro feature를 켜면 `regulus-emmc-ab-image`가 커널과 루트 파일 시스템을 A/B 슬롯으로 나눈 eMMC 이미지를 빌드하며, RAUC 번들로 업데이트합니다.
- **MLD-R1 펌웨어 v1.1.0** — MLD-R1 Rev03B용입니다. MLD-R1 ramdisk에 필요한 커널 모듈과 펌웨어가 포함되며, 출고 시 SPI 플래시의 두 펌웨어 슬롯에 같은 이미지가 들어갑니다.
- **eMMC gang 이미지** — `regulus-emmc-image`가 공장 프로비저닝용 이미지를 빌드합니다.
- **`lrzsz`** — 시리얼 파일 전송을 지원합니다.
- **WPA3** — hostapd 설정이 WPA3를 지원합니다.

(v4-1-0-revised)=

### 변경

- **[Breaking]** **장치에서 컴파일러 제거** — OpenCV `-dev`, `-staticdev` 패키지와, 이들이 함께 설치하던 컴파일러 및 `-dev` 패키지(gcc, binutils 등 약 380개)가 더 이상 루트 파일 시스템에 설치되지 않습니다. OpenCV 런타임 라이브러리는 그대로 남아 있습니다. 애플리케이션은 [DSP 프로그래밍 가이드](dsp_programming.md)에 설명된 대로 호스트 PC에서 REGULUS SDK로 크로스 컴파일하세요.
- **부팅 시간 단축** — initramfs가 더 이상 udev를 기다리지 않아 부팅 시간이 줄었습니다.
- **DNS와 NTP** — 이름 해석은 systemd-resolved(DNS 8.8.8.8, 대체 1.1.1.1)를 거치며, NTP에는 systemd-timesyncd 대신 chrony를 사용합니다.
- **lz4** — 1.10.0으로 업그레이드했습니다.

## v4.0.1

**출시일:** 2026년 7월 15일<br>
**유형:** Patch

다음 대상을 위한 릴리스입니다.

| 항목 | 값 |
| --- | --- |
| 대상 장치 | regulus-rb |
| SoM 보드 버전 | REGULUS_SOM_REV01B 이상 |
| 캐리어 보드 버전 | REGULUS_CARRIER_REV.01B 이상 |
| 대상 보드 | regulus-evk-rev01 |

- `regulus-version` 명령으로 REGULUS 보드의 대상 장치를 확인할 수 있습니다. 아래는 `regulus-rb`의 예입니다.

  ![REGULUS 대상 장치](res/image/regulus-version-target-device.png)

- 릴리스 v4.0.1은 `regulus-base-b` 대상 보드에는 적용할 수 없습니다.
- 이미지 아카이브와 문서의 다운로드 URL이 대상 장치별로 바뀌었습니다.
  - regulus-ra: `dl.mobilint.com/REGULUS/ra`
  - regulus-rb: `dl.mobilint.com/REGULUS/rb`

  ![REGULUS 대상 장치 메뉴](res/image/regulus2-ra-rb.png)

## v3.4.0

**출시일:** 2026년 4월 7일<br>
**유형:** Minor

- NPU 드라이버를 리팩터링했습니다. 런타임 라이브러리 v1.1.0 이상과 호환됩니다.
- NPU SDK의 이름이 maccel에서 qbruntime으로 바뀌었습니다.

```{important}
v3.3.0에서 v3.4.0으로 업그레이드하려면:

1. REGULUS 보드에 v3.4.0 부트 이미지를 굽습니다.
2. 애플리케이션 소스 코드에서:
   - 헤더 파일을 `<maccel/maccel.h>`에서 `<qbruntime/qbruntime.h>`로 바꿉니다.
   - 라이브러리를 `-lmaccel`에서 `-lqbruntime`으로 바꿉니다.
   - 애플리케이션을 다시 컴파일합니다.
```

## v3.3.0

**출시일:** 2025년 10월 17일<br>
**유형:** Minor

- 부트 이미지를 만드는 데 필요한 소스 코드를 `gitlab.mobilint.com`에서 가져옵니다.

```{important}
`gitlab.mobilint.com`에 접근하려면 `dl.mobilint.com`에 로그인한 뒤 `gitlab.mobilint.com`용 비밀번호를 생성하세요. 자세한 절차는 REGULUS PlatformSDK Build Guide(v1.6)를 참고하세요.
```

## v3.2.1

**출시일:** 2025년 8월 13일<br>
**유형:** Patch

- PlatformSDK 스크립트와 PlatformSDK 매뉴얼을 업데이트했습니다.

```{warning}
**알려진 문제(2025년 8월 25일 보고):** eMMC 파티션이 7개인 REGULUS 보드에서 v3.2.1로 만든 굽기 이미지가 처음에는 실패합니다. 굽기 과정을 두 번 수행하세요.

**2025년 8월 26일 수정:** 굽기 이미지를 만드는 스크립트를 수정했습니다. 8월 26일에 게시된 `poky_v3.2.1.tar.gz`를 내려받으세요.
```

## v3.2.0

**출시일:** 2025년 8월 8일<br>
**유형:** Minor

- PlatformSDK(poky), 이미지, 소스 코드를 배포합니다.
- REGULUS Image Archive에는 모든 이미지, 루트 파일 시스템, 소스 코드, 툴체인이 포함됩니다. 아래 그림은 `regulus-release_v3.2.0.tar.gz`의 구성입니다.

  ![REGULUS 릴리스 v3.2.0](res/image/regulus-release-v3.2.0.jpg)

```{warning}
v3.2.0부터 eMMC 파티션이 8개로 바뀌어, 파티션이 7개인 v3.1.0과 호환되지 않습니다. v3.1.0에서 v3.2.0으로 전환하려면 v3.2.0용 eMMC 굽기 이미지를 만들어 REGULUS 보드의 eMMC를 다시 구우세요. 그 전에 보드의 사용자 영역에 있는 파일을 백업하세요.
```

## v3.1.0

**출시일:** 2025년 6월 17일<br>
**유형:** Minor

- PlatformSDK(poky), 이미지, 소스 코드를 배포합니다.
- REGULUS PlatformSDK와 REGULUS Image Archive에는 REGULUS 개발에 필요한 모든 것이 포함됩니다. Image Archive에는 모든 이미지, 루트 파일 시스템, 소스 코드, 툴체인이 들어 있습니다.
- 먼저 REGULUS Application Note 또는 REGULUS Application Development 가이드를 참고하세요. 하드웨어 개발 없이 애플리케이션만 개발한다면 Application Development 가이드만으로 충분합니다.
- 자세한 내용은 REGULUS PlatformSDK Build Guide와 다른 매뉴얼을 참고하세요.

**릴리스 이후 업데이트**

- **2025년 6월 19일** — 매뉴얼 업데이트: Application Note v1.6, Application Development v1.5, PlatformSDK Build Guide v1.1, eMMC Burning Guide v1.3
- **2025년 7월 9일** — `regulus-release_v3.1.0.tar.gz`의 MediaCreationTool이 GPT로 파티션된 SD 카드를 지원하도록 업데이트되었습니다.
- **2025년 7월 21일** — 새 매뉴얼: IP Modules Guide v1.0, Image Processing Program Guide v1.1
