UART(15)
-
커널 포팅 (3. 커널 포팅 기본 실습 / 3.3 부트 로그 분석 및 디버깅)
3.3 부트 로그 분석 및 디버깅커널이 부팅될 때 어떤 단계가 실행되는지 이해하고, 부팅 실패 시 로그를 분석하는 방법을 알아야 합니다.이 과정에서는 커널 부팅 과정의 주요 함수, 부팅 로그 분석 방법, UART(시리얼 콘솔) 활용법을 설명합니다.🔹 커널 부팅 과정 단계별 분석커널이 부팅될 때 실행되는 주요 함수들은 start_kernel()을 시작으로 메모리 초기화, 프로세스 생성, 드라이버 로드 등 여러 단계를 거칩니다.✅ 1️⃣ 커널 부팅 과정 개요start_kernel() → setup_arch() → init_IRQ() → initcall() → init_main()✅ 2️⃣ 주요 함수 설명함수 역할start_kernel()커널 부팅 시작, 시스템 초기화setup_arch()CPU 및 하드웨어..
2025.03.06 -
U-Boot 포팅 (6. U-Boot 기능 확장 및 디바이스 드라이버 추가 / 새로운 디바이스 추가하기 (UART, I2C, SPI, GPIO 설정))
새로운 디바이스 추가하기 (UART, I2C, SPI, GPIO 설정)임베디드 시스템에서 U-Boot는 각종 디바이스(UART, I2C, SPI, GPIO)를 초기화하고 운영체제로 넘기는 역할을 합니다.새로운 보드에 추가적인 하드웨어(UART, I2C, SPI, GPIO)를 지원하려면 디바이스 트리(DTS), 드라이버 설정, 초기화 코드 수정이 필요합니다.이 문서에서는 UART, I2C, SPI 디바이스 추가 및 GPIO 초기화 코드 작성 방법을 설명합니다.1. UART 추가하기UART(Universal Asynchronous Receiver-Transmitter)는 시리얼 통신을 담당하는 장치로, 부팅 로그 출력 및 디버깅에 필수적입니다.U-Boot에서 새로운 UART를 추가하려면 DTS, board/..
2025.02.26 -
U-Boot 포팅 (3. U-Boot 빌드 및 실행 / 실제 보드에서 U-Boot 실행하기)
실제 보드에서 U-Boot 실행하기QEMU에서 U-Boot를 실행하는 것뿐만 아니라, 실제 임베디드 보드에서도 U-Boot를 실행하려면 SD 카드나 eMMC에 U-Boot를 굽고, 시리얼(UART) 콘솔을 통해 디버깅하는 과정이 필요합니다.이 문서에서는 SD 카드에 U-Boot를 굽는 방법과 시리얼 콘솔을 이용하여 부팅 로그를 확인하는 방법을 다룹니다.1. 부트로더를 SD 카드에 굽기 (dd 명령어 사용)U-Boot는 SD 카드, eMMC, SPI Flash 등 다양한 저장 장치에 설치할 수 있지만, 가장 일반적인 방법은 SD 카드에 굽고 보드를 부팅하는 방식입니다.🔹 1) SD 카드 삽입 및 디바이스 확인SD 카드를 삽입한 후, 디바이스 경로를 확인해야 합니다.lsblk📌 출력 예제NAME MA..
2025.02.26 -
시리얼 통신 소프트웨어 실습 - 3. 아두이노 및 라즈베리파이와 시리얼 통신하기
3장: 아두이노 및 라즈베리파이와 시리얼 통신하기Python을 이용하여 아두이노 및 라즈베리파이와 시리얼 통신을 수행하면,외부 장치와 데이터를 주고받을 수 있어 다양한 임베디드 및 IoT 프로젝트를 구현할 수 있습니다.이번 장에서는 아두이노와 Python 간 시리얼 통신을 통해 데이터를 송·수신하는 방법과라즈베리파이를 활용한 RS-485 통신을 실습합니다.1. 아두이노와 Python 간 시리얼 통신아두이노와 PC(Python) 간 시리얼 통신을 통해 아두이노에서 데이터를 송신하고 Python에서 이를 수신하는 실습을 진행합니다.또한, Python에서 명령어를 전송하고 아두이노에서 이를 처리하는 방법도 다룹니다.✅ 아두이노에서 데이터 송신 & Python에서 수신📌 구성 개요[아두이노] TX, RX ↔ ..
2025.02.10 -
시리얼 통신 소프트웨어 실습 - 2. RS-232 / RS-485를 활용한 데이터 송수신 실습
2장: RS-232 / RS-485를 활용한 데이터 송수신 실습Python을 활용하여 RS-232 및 RS-485 통신을 실습하면,PC에서 직접 시리얼 장치를 제어하고 데이터를 주고받는 방법을 익힐 수 있습니다.이번 장에서는 USB-to-Serial 변환기를 이용한 RS-232 송수신과 MAX485 모듈을 활용한 RS-485 데이터 송수신을 실습합니다.1. Python과 RS-232 시리얼 포트 통신 실습✅ RS-232란?RS-232는 1:1 직렬 통신 방식으로, PC와 외부 장치를 직접 연결하여 데이터를 주고받을 수 있습니다.과거에는 PC의 COM 포트를 사용했지만, 현재는 USB-to-Serial 변환기를 이용하여 RS-232 통신을 수행합니다.📌 RS-232 특징비동기식(Asynchronous) ..
2025.02.10 -
시리얼 통신 소프트웨어 실습 - 1. Python을 활용한 시리얼 통신 (pyserial 라이브러리)
1장: Python을 활용한 시리얼 통신 (pyserial 라이브러리)Python을 사용하면 컴퓨터와 외부 장치(마이크로컨트롤러, 센서, 모듈 등) 간의 시리얼 통신을 쉽게 구현할 수 있습니다.이를 위해 pyserial 라이브러리를 사용하면, RS-232 또는 RS-485를 지원하는 시리얼 포트를 통해 데이터를 송수신할 수 있습니다.이번 장에서는 Python에서 pyserial을 활용하여 시리얼 포트를 열고 닫는 방법, 포트 설정, 데이터 송수신 코드 작성법을 학습합니다.1. 시리얼 통신을 위한 Python 환경 설정✅ Python과 pyserial 라이브러리란?pyserial은 Python에서 시리얼 포트를 제어하는 라이브러리로,RS-232, RS-485, USB-to-Serial 변환기를 통해 외부 ..
2025.02.10