분류 전체보기(660)
-
U-Boot 포팅 (실습 프로젝트: 새로운 보드에 U-Boot 포팅 / U-Boot 포팅 프로젝트 개요)
U-Boot 포팅 프로젝트 개요이 프로젝트에서는 특정 보드를 선택하여 U-Boot를 수정, 빌드 및 부팅까지 진행하는 과정을 다룹니다.예제 보드로 Raspberry Pi, BeagleBone, ODROID 등을 사용할 수 있으며, U-Boot 소스코드를 수정하고 디바이스 트리를 조정하여 부팅 환경을 설정하는 것이 목표입니다.1. 예제 보드 선택U-Boot를 포팅하기 위해 지원되는 보드 중 하나를 선택해야 합니다. 보드 CPU 부트 옵션U-Boot 지원 여부Raspberry Pi 4Broadcom BCM2711 (ARM Cortex-A72)SD 카드지원BeagleBone BlackAM3358 (ARM Cortex-A8)eMMC, SD 카드지원ODROID-XU4Exynos 5422 (ARM Cortex-A1..
2025.03.05 -
U-Boot 포팅 (7. U-Boot 디버깅 및 문제 해결 / 부팅 실패 시 해결 방법)
부팅 실패 시 해결 방법임베디드 시스템에서 U-Boot가 정상적으로 부팅되지 않는 경우 다양한 원인이 있을 수 있습니다.이를 해결하려면 로그 분석, 보드 설정 확인, 환경 변수 초기화 등을 수행해야 합니다.이 문서에서는 부팅 실패 시 문제 해결 방법, DEBUG 로그를 활용한 분석, 보드 설정 수정, 환경 변수 리셋 방법을 설명합니다.1. U-Boot가 멈추는 지점 분석 (DEBUG 로그 활용)🔹 부팅 로그 분석 방법U-Boot가 부팅 과정에서 멈춘다면, 시리얼 콘솔(UART) 출력을 확인하여 어디서 멈췄는지 분석해야 합니다.📌 시리얼 콘솔에서 부팅 로그 확인sudo minicom -D /dev/ttyUSB0 -b 115200또는sudo picocom -b 115200 /dev/ttyUSB0📌 부팅..
2025.03.05 -
U-Boot 포팅 (7. U-Boot 디버깅 및 문제 해결 / JTAG 디버깅)
JTAG 디버깅 (U-Boot 디버깅을 위한 설정 및 활용법)JTAG(Joint Test Action Group)은 임베디드 시스템에서 하드웨어 디버깅을 위한 표준 인터페이스입니다.U-Boot에서 JTAG을 사용하면 CPU 레지스터 값 확인, 메모리 접근, 중단점 설정 및 코드 실행 흐름 분석이 가능합니다.이 문서에서는 **JTAG 설정 방법 및 활용법(OpenOCD, GDB 연동 포함)**을 설명합니다.1. JTAG 개요 및 필요성🔹 JTAG이란?JTAG은 SoC, 마이크로컨트롤러(MCU), FPGA 등에서 디버깅, 프로그래밍 및 테스트를 수행하는 표준 인터페이스입니다.✅ 운영체제가 실행되지 않아도 CPU 및 메모리를 직접 디버깅 가능✅ CPU 레지스터 값 확인 및 수정 가능✅ U-Boot 실행 흐름..
2025.03.05 -
U-Boot 포팅 (7. U-Boot 디버깅 및 문제 해결 / U-Boot 디버깅 방법)
U-Boot 디버깅 방법U-Boot를 디버깅하는 것은 부팅 과정에서 발생하는 문제를 해결하고, 하드웨어 동작을 검증하는 중요한 과정입니다.U-Boot 디버깅 방법에는 시리얼 콘솔 로그 분석, 메모리 값 확인 및 수정, 비교하는 기능이 포함됩니다.이 문서에서는 시리얼 콘솔 로그 분석(printk 활용), U-Boot 내부에서 메모리 확인(md, mw, cmp 명령어 사용) 방법을 설명합니다.1. 시리얼 콘솔 로그 분석 (printk 활용)🔹 시리얼 콘솔을 이용한 로그 출력U-Boot는 기본적으로 시리얼(UART) 콘솔을 통해 디버깅 로그를 출력합니다.이를 통해 부팅 과정에서 어디서 문제가 발생했는지 확인할 수 있습니다.📌 시리얼 콘솔 설정 (minicom 또는 picocom)sudo minicom -D..
2025.03.05 -
시스템 콜 (System Call) - 요약
1. 시스템 콜이란?시스템 콜(System Call)은 프로그램이 운영체제의 기능을 요청하는 메커니즘입니다.일반적인 애플리케이션은 사용자 모드(User Mode)에서 실행되며, 운영체제의 핵심 기능(파일 시스템, 프로세스 관리, 메모리 관리 등)을 사용하려면 커널 모드(Kernel Mode)로 전환해야 합니다.이때 시스템 콜을 통해 운영체제에게 요청을 전달합니다.✅ 사용자 프로그램 → 시스템 콜 호출 → 커널 모드 전환 → 요청 처리 → 사용자 모드 복귀2. 시스템 콜의 종류와 예제📌 주요 시스템 콜 종류1️⃣ 파일 조작 (File Management)open() : 파일 열기read() : 파일 읽기write() : 파일 쓰기close() : 파일 닫기2️⃣ 프로세스 관리 (Process Manage..
2025.03.05 -
Python Tkinter - 9. 준비 자료 및 환경
9. 준비 자료 및 환경Tkinter를 활용한 GUI 애플리케이션 개발을 원활하게 진행하기 위해 필요한 소프트웨어, 필수 개발 도구, 추천 자료를 정리하였습니다.이 환경을 구축하면 효율적으로 개발을 진행할 수 있으며, 프로젝트를 보다 체계적으로 관리할 수 있습니다.1. 소프트웨어Tkinter 기반의 GUI 애플리케이션을 개발하기 위해 다음과 같은 소프트웨어가 필요합니다.📌 PythonTkinter는 Python의 표준 라이브러리로 포함되어 있으므로 별도의 설치 없이 바로 사용 가능합니다.최신 기능을 활용하기 위해 Python 3.8 이상 버전 사용을 권장합니다.Python 다운로드: https://www.python.org/downloads/✅ Python 설치 확인 및 버전 확인python --ver..
2025.02.28