전체 글 129

[Raspberry_PI]_SDcard_수동Mount

SD카드 수동 마운트 하기mount 하려는 디렉토리 생성sudo mkdir /mnt/sdcard디렉토리의 생성 후 drvfs를 이용하여 마운트를 진행sudo mount -t drvfs D: /mnt/sdcard수동으로 마운트를 해제하려면 아래의 명령을 이용합니다. (마운트 위치의 파일이 사용중이거나, 현재 위치가 마운트 위치가 아니어야 합니다)sudo umount /mnt/sdcard커널 컴파일 환경 구축하기컴파일에 필요한 파일 설치sudo apt-get updatesudo apt-get upgradesudo apt-get install -y git bc bison flex libssl-dev make libc6-dev libncurses5-dev \\ crossbuild-essential-armhf//..

[Raspberry_PI]_Linker_Script

gcc 진행 단계1단계: 전처리gcc -E main.c -o main.imain.i는 전처리 결과물 (모든 #include 파일과 매크로 확장 포함)2단계: 컴파일gcc -S main.i -o main.smain.s는 어셈블리 코드3단계: 어셈블gcc -c main.s -o main.omain.o는 목적 파일4단계: 링킹gcc main.o -o main실행 가능한 main 바이너리 생성 (기본적으로 C 표준 라이브러리도 링크됨)링커 역할GCC는 내부적으로 **ld (GNU linker)**를 호출해서 다음을 수행한다.여러 .o 파일을 하나로 결합필요한 라이브러리 (예: libc) 연결시작 지점 (_start 또는 main) 지정메모리 주소 배치 결정 (기본은 자동이지만, T 옵션으로 ld script 지..

[Raspberry_PI]_env_환경 변수

목적 : 환경변수는 프로그램이 실행되는 동안에 필요한 매개변수를 전달하는 목적으로 사용된다.전체 진행 과정 1make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfigcs">1make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfigcs 환경변수는 프로그램이 실행되는 동안에 필요한 매개변수를 전달하는 목적으로 사용된다. 위의 명령에서는 ARCH와 CROSS_COMPILE 두가지의 환경변수를 선언한다.ARCH=arm, CROSS_COMPILE=arm-linux-gnueabihf-라고 정의한다.이런 방식의 환경변수 선언은 1회에 한정하여 반영됩니다. 즉, 한번..

[Raspberry_PI]_time_명령

전체 진행 과정 사용 코드 123456789101112131415161718192021222324252627282930 #include <stdio.h>  // 표준 입출력 라이브러리 포함 (printf 사용) // 재귀적으로 팩토리얼을 계산하는 함수// 입력: n (계산할 숫자)// 반환: n!int factorial(int n) {    if (n <= 1)     ..

[Raspberry_PI]_LED_BLINK

진행 과정사용 코드 1234567891011from RPi import GPIO       # RPi.GPIO 라이브러리 가져오기 (GPIO 제어용)import time                # time.sleep() 사용을 위해 time 모듈 가져오기 GPIO.setmode(GPIO.BCM)     #&nbsp..

[Raspberry_PI]_간단 정리

Shell : 사용자가 입력한 명령을 해석하고 실행하는 프로그램.CLU(Command Line Interface) 형태로 동작. 종류PowerShell : 윈도우요 shellbash : 가장 일반적은 리눅스 shell (Bourne Again Shell)sh : 전통적인 유닉스 shell (Bourne Shell)zash : 기능이 강화된 shell PowerShell에서 wsl --install 명령으로 Ubuntu 설치 명령어 정리ls : list, 경로내의 파일 목록을 보여줌 -l, -s .. cd : change directory : 경로의 위치를 변경 . : 자기 자신(현위치) .. : 부모 (자신의 상위 폴더) ~ : 자신의 홈(로그인 계정의 홈) 위치 / : 리눅스에서 ..

[Verilog_RTL]_2-to-10_DECODER

Symbol 사용 코드_case 문 123456789101112131415161718192021222324252627module decoder (iIN, oOUT);    input     [3:0] iIN;     // 4비트 입력: 0~9 (디코더 입력)    output    [9:0] oOUT;    // 10비트 출력: 1-hot 형태의&nbs..

Verilog_RTL 설계 2025.06.16

[Verilog_RTL]_10-to-2_ENCODER

Symbol 사용 코드_case 문 123456789101112131415161718192021222324252627module tb_encoder;  reg    [9:0] iIN;    // 10비트 입력: 키패드 입력을 시뮬레이션하기 위한 레지스터  wire   [3:0] oOUT;   // 4비트 출력: encoder 모듈의 출력 관찰용   // 테스트할&nbs..

Verilog_RTL 설계 2025.06.16