Android용 FFmpeg NEON 최적화 빌드 구성

FFmpeg를 Android 네이티브 라이브러리로 컴파일하는 것은 널리 알려진 주제이다. NEON SIMD 명령어를 활용하여 성능을 최적화하는 구성도 많이 존재한다. 본 문서에서는 실제 환경에서 검증된 빌드 스크립트를 설명하며, 핵심은 Makefile 설정에 있다. 빌드 환경 설정 컴파일을 수행하기 전에 Android NDK 경로 및 플랫폼 버전을 확인해야 한다. 다음은 기본적인 환경 ...

6월 10일 19:57에 게시됨

ARM 아키텍처 실행 모드 학습 노트

1. 개요 ARM 아키텍처는 광범하게 사용되는 정밀 명령 집합 계산(RISC) 아키텍처로, 명령 집합을 단순화하여 프로세서 성능과 효율성을 높이는 설계 철학을 가지고 있습니다. ARM 프로세서는 다양한 실행 모드를 지원하며, 이러한 모드는 프로세서의 권한 레벨, 접근 가능한 레지스터 그룹 및 사용 가능한 명령 집합을 결정합니다. 2. ARM 아키텍처 버전 진화 아키텍처 ...

6월 8일 17:29에 게시됨

RK3588 성능 모니터링 및 최적화 완벽 가이드

1. RK3588 성능 모니터링 도구 이해하기 RK3588 칩셋은.edge 컴퓨팅 디바이스부터 고급 태블릿, 다양한 AIoT 기기에 이르기까지 광범위하게 활용되고 있다. 6Tops NPU를 갖춘 이 칩셋은 AI 애플리케이션 구현을 상당히 용이하게 만들어 주지만, 제대로 활용하지 않으면 발열 문제나 프레임 레이트 불안정으로 인해 결국 성능을 낮춰야 하는 상황에 직면할 수 있다. 이러한 ...

6월 3일 23:15에 게시됨

STM32 범용 프로젝트 템플릿 생성하기

범용 링커 스크립트 링커 스크립트는 프로그램 진입점인 Reset_Handler 함수의 위치를 정의하고, 메모리 영역 배치를 설정하며, 표준 라이브러리 관련 정보를 제거하는 역할을 합니다. ST 사에서는 표준 주변장치 라이브러리에 다양한 모델에 대응하는 링커 스크립트를 제공하지 않았으며, HAL 라이브러리에서만 일부 예시를 찾을 수 있습니다: STM32F100XB_FLASH.ld STM3 ...

5월 25일 17:34에 게시됨

ARM GCC에서 전역 레지스터 변수 활용하기

U-Boot 소스에서 register volatile gd_t *gd asm ("r8")와 같은 구문을 마주쳤을 때, 단순한 변수 선언으로 보이지만 실제로는 CPU 레지스터를 직접 활용하는 고급 기법이다. 이 글에서는 ARM 아키텍처에서 레지스터 변수를 정의하고 활용하는 방법을 살펴본다. 레지스터 변수의 개념 일반적인 변수는 메모리에 저장되어 접근 시마다 메모리 버스를 통한 트랜잭션이 발 ...

5월 22일 19:37에 게시됨