목록2026/02/03 (5)
승코딩당당당
임베디드 시스템은 가전제품, 자동차, 로봇, 의료기기 등 특정 목적의 기기 내부에 마이크로컨트롤러(MCU)와 소프트웨어를 내장하여 동작하는 전용 컴퓨터 시스템이다.범용 컴퓨터와 달리 미리 정해진 기능만 수행하며, 제한된 자원 환경에서 안정적이고 실시간으로 동작해야 한다는 특징을 가진다. 임베디드 시스템은 하드웨어와 소프트웨어가 밀접하게 결합된 구조를 가지며, 이를 제어하는 펌웨어(Firmware)는 하드웨어의 특성을 직접 다루는 핵심 요소이다.따라서 임베디드 개발자는 단순한 소프트웨어 개발자가 아니라, 하드웨어 특성을 이해하고 제어할 수 있는 펌웨어 개발자라고 볼 수 있다. 시스템 구성 측면에서는 입력 센서, 메인 프로세서, 출력 액추에이터로 이루어진 구조를 가지며,MCU는 CPU, 메모리, 각종 인터페..
AVRAVR이란?1996년 아트멜 사에서 개발된 하버드 구조를 가진 8비트 RISC 단일칩 마이크로컨트롤러이다.하버드 아키텍처: 명령용 버스와 데이터용 버스로 물리적으로 분할한 컴퓨터 아키텍처명령을 메모리로부터 읽는 것과 데이터를 메모리로부터 읽는 것이 동시에 가능출시 당시 AVR은 프로그램을 저장하기 위해 단일칩 플래시메모리를 사용한 최초의 마이크로컨트롤러 중 하나이다.당시 다른 마이크로 컨트롤러는 ROM, EPROM, EEPROM을 사용했다. AVR의 종류 6가지tinyAVR - ATtiny 시리즈0.5~8 kB 프로그램 메모리6~32핀 패키지제한된 주변 장치(peripheral) 세트megaAVR - ATmega 시리즈8~256 kB 프로그램 메모리28~100핀 패키지확장된 명령어 집합 (곱셈 명령..
이번 실습에서는 STM32 MCU 기반 개발 보드인 Nucleo-L073RZ를 사용하여 GPIO 레지스터를 직접 제어하는 방식(Bare-Metal)으로 LED Blinking을 구현하였다.HAL 라이브러리나 CubeMX와 같은 고수준 추상화 도구를 사용하지 않고, 메모리 맵에 정의된 레지스터 주소에 직접 접근하여 GPIO 클럭 활성화, 핀 모드 설정(Output), 출력 데이터 제어(ODR)를 순차적으로 구성하였다.특히 PA5 핀을 출력(GPIO Output)으로 설정한 뒤, ODR 레지스터에 대한 XOR 연산을 이용한 토글 방식과 busy-wait 기반 delay 함수를 사용하여 LED가 주기적으로 깜빡이도록 구현하였다. 본 실습을 통해 아래를 직접 코드로 확인할 수 있었다.STM32가 32비트 MCU..
문제[C++] 백준 1929: 소수 구하기 SILVER 3https://www.acmicpc.net/problem/1929 접근 방법이 문제는 주어진 구간 [M, N] 안에 있는 모든 소수를 출력하는 문제다.가장 전형적으로 떠올릴 수 있는 방법은 에라토스테네스의 체를 사용하는 것이다.https://xeungcoding.tistory.com/58 소수(prime number) 구하기 - 에라토스테네스의 체그래프나 탐색 알고리즘뿐만 아니라, 코딩 테스트에서는 수학적 개념을 코드로 구현하는 문제도 자주 출제된다.그중 대표적인 주제가 바로 소수 구하기이다.소수는 정의 자체는 단순하지만, 입xeungcoding.tistory.com 아이디어는 다음과 같다:1) 먼저 0 ~ N까지 담을 수 있는 배열을 만든다.이..
문제[C++] 백준 13022: 늑대와 올바른 단어 SILVER 2https://www.acmicpc.net/problem/13022 접근 방법이 문제에서 “올바른 단어”는 w^n o^n l^n f^n 꼴의 문자열이 하나 이상 이어 붙은 형태여야 한다.즉,w가 n번바로 뒤에 o가 n번바로 뒤에 l이 n번바로 뒤에 f가 n번이 순서로 나와야 하고, 이런 블록이 여러 번 이어붙을 수 있다. 그래서 문자열을 왼쪽부터 차례대로 읽으면서 각 블록의 n을 먼저 구한 뒤,해당 구간이 정확히 w^n o^n l^n f^n 패턴을 만족하는지 확인하는 방식으로 풀었다. 상세 아이디어1) 한 블록의 w 개수(n) 구하기int n = 0;for (int i = index; i index에서 시작해서 문자열을 보면서,처음으로 ..