반응형

2024/11/28 3

STM32 인터럽트와 EXTI 설정

오늘은 STM32F429ZI 개발 환경에서 인터럽트를 이해하고, NVIC 설정 및 외부 인터럽트(EXTI)를 이용해 버튼을 제어하는 방법을 소개하려고 합니다. 본 포스팅은 STM32CubeIDE를 기반으로 진행하며, STM32CubeMX 없이 직접 IO 설정 및 EXTI 설정을 하는 방법을 다룹니다. 이를 통해 STM32F429ZI의 인터럽트 구조를 제대로 이해할 수 있도록 하겠습니다.인터럽트의 기본 개념인터럽트(Interrupt)는 특정 사건(Event)이 발생했을 때 CPU의 주 실행 흐름을 잠시 멈추고 사건을 처리하기 위한 특별한 함수(Interrupt Service Routine, ISR)를 실행하는 기법입니다. MCU에서 인터럽트는 실시간 처리를 가능하게 하며, 버튼 입력, 타이머 이벤트, 통신..

STM32 2024.11.28

Android 앱 성능 최적화 전략 - 메모리 관리부터 ANR 문제 해결까지

안드로이드 애플리케이션을 개발할 때, 성능은 사용자 경험에 큰 영향을 미칩니다. 느린 화면 전환, 자주 발생하는 ANR (Application Not Responding) 문제 등은 사용자로 하여금 앱을 떠나게 만들 수 있습니다. 이번 포스팅에서는 안드로이드 애플리케이션의 성능을 최적화하는 다양한 전략들을 소개하고, 각 전략의 실제 예제 코드와 함께 설명하겠습니다. 목표는 앱의 메모리 관리, 스레드 처리, ANR 문제 해결 등 성능 관련 문제들을 어떻게 최적화할 수 있는지 이해하는 것입니다.1. 메모리 관리 최적화1.1 가비지 컬렉션(GC) 최소화안드로이드에서는 자바와 코틀린의 가비지 컬렉터(Garbage Collector, GC)가 메모리 관리를 담당합니다. 하지만 불필요하게 자주 발생하는 GC는 앱의..

Android 2024.11.28

Knapsack 비대칭키 암호화 알고리즘

안녕하세요! '소프트웨어 공장' 블로그를 방문해주셔서 감사합니다. 오늘은 비대칭키 암호화 알고리즘 중 하나인 Knapsack 암호화 알고리즘에 대해 알아보도록 하겠습니다. Knapsack 암호화 알고리즘은 초기에 비대칭키 암호화 방식으로 주목받았지만 이후 다양한 연구를 통해 보안 문제점이 발견된 알고리즘입니다. 이번 포스트에서는 Knapsack 암호화 알고리즘의 기본 개념을 설명하고, Java와 Linux C 언어로 구현한 예제를 소개하겠습니다.Knapsack 암호화 알고리즘이란?Knapsack 암호화 알고리즘은 1978년 Ralph Merkle와 Martin Hellman이 제안한 초기 공개키 암호 시스템 중 하나입니다. 이 알고리즘은 "배낭 문제(Knapsack Problem)"를 기반으로 하고 있으..

반응형