BE(64)
-
2022-06-13 리눅스_디바이스_드라이버_5
Makefile 연습 main.c #include int main(void){ printf("hello\n"); #ifdef SCULL_DEBUG printf("World\n"); #endif return 0; } Makefile TARGET = main SOURCE = main.c CC = gcc all : $(CC) $(SOURCE) -O2 -o $(TARGET) clean : rm -f $(TARGET) -O2 : Optimization 최적화, 최적화 레벨 2 최적화 옵션 : 실행 파일의 크기를 줄이고, 실행 속도를 향상시킨다. -O0 : 최적화를 수행하지 않는다. -O1 : -O0보다는 높은 수준의 최적화. (= -O) -O2 : 가장 많이 사용하는 수준의 최적화. 일반 응용 프로그램이나 커널을..
2022.06.13 -
2022-06-13 리눅스_디바이스_드라이버_4
/dev 디렉터리 cd /dev /dev 디렉터리?? In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. Linux의 모든 디바이스는 /dev 디렉터리 아래에 위치하고, 모두 file로 인식된다. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. 모든 디바이스 제어는 결국 /..
2022.06.13 -
[DB] 정규화
draw.io ERD 그릴 때 StarUML 대신에 사용할 수 있다. 링크 : draw.io Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPM app.diagrams.net ERD 실습 피터 첸 표기법 IE 표기법 정규화 1 정..
2022.06.06 -
[DB] 모델링
데이터 모델링 데이터 모델링 설계 정보 모델링 → 개념적 모델(ER 다이아그램) → 데이터 모델링 → 논리적 모델(관계 데이터 모델) → DB 구현 데이터 모델링 과정 요구사항 수집 및 분석 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계 사용자 식별 데이터 베이스 용도 식별 사용자 요구 사항 수집 및 명세 요구사항 수집 방법 실제 문서를 수집하고 분석 담당자와 인터뷰, 설문조사를 통해 요구사항을 직접 수렴 비슷한 업무를 처리하는 기존의 데이터 베이스 분석 각 업무와 연관된 모든 부분을 살핌 설계 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고 (개념적 설계), 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마를 도출(물리적 설계)..
2022.06.06 -
2022-06-05 리눅스_디바이스_드라이버_3
hello.c의 Makefile Makefile에 대한 정리 Makefile 이해 2022-06-05 Makfile_이해 make, Makefile 이해 gcc C언어의 컴파일 과정 make Makefile의 구성 예시 gcc 명령어 사용 make 명령어 사용 Makefile 매크로 Makefile 보충 := , ?= 와 += 는 뭐지? $(OBJS:.o=.d) 는 뭐지? Makefile 조건문 Mak.. ramen4598.tistory.com vi Makefile make ifneq ($(KERNELRELEASE),) obj-m := hello.o else KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(M..
2022.06.05 -
2022-06-05 Makfile_이해
make, Makefile 이해 gcc C언어의 컴파일 과정 make Makefile의 구성 예시 gcc 명령어 사용 make 명령어 사용 Makefile 매크로 Makefile 보충 :=, ?= 와 +=는 뭐지? $(OBJS:.o=.d)는 뭐지? Makefile 조건문 Makefile 함수 참고 gcc C언어의 컴파일 과정 전처리기 : #으로 시작하는 전처리 구문을 처리 gcc -E test.c -o test.i 컴파일러 : 고급언어를 저급언어로 번역 gcc -S test.i -o test.s 어셈블러 : 저급언어를 기계어로 번역 gcc -c test.s -o test.o 링커 : gcc test.o -o test.exe -o : 생성 된 파일의 이름을 지정 출처 : https://reakwon.tis..
2022.06.05 -
2022-06-02 리눅스_디바이스_드라이버_2
설치 리눅스 드라이버 작업을 수행할 때는 슈퍼 유저로 작업한다. 출처 : https://junshim.github.io/linux kernel study/Linux_Kernel_Compile/ sudo apt-get install build-essential libncurses5 libncurses5-dev bin86 kernel-package libssl-dev bison flex libelf-dev build-essential은 개발에 필요한 기본 라이브러리와 헤더 파일 등을 포함한다. 없으면 컴파일이 안될 수 있다. 추가로 ncurses 라이브러리들을 빌드하여 설치할 때 필요하다고 한다. libncurses5, libncurses5-dev : Developer's libraries for ncurs..
2022.06.02 -
리눅스 apt 서버 변경
미국에 있는 서버를 사용하면 다운로드 속도가 느리다. apt 서버를 최대한 가까운 곳으로 변경하자. 한국은 카카오에서 관리한다. (우분투를 사용 중이기 때문에 거기에 맞춰서 변경해주었다.) //vim 파일 전체에서 'x'를 'y'로 교체하기 :%s/x/y/g 보통 처음에 경우 archive.ubuntu.com 혹은 kr.archive.ubuntu.com으로 설정되어있을 것이다. 전자의 경우 미국, 후자의 경우 한국(카이스트)에 위치한 서버일 것이다. 우리는 한국기준 평균적으로 가장 빠른 속도를 제공하는 카카오의 서버를 사용할 것이다. sudo vim /etc/apt/sources.list :%s/[before~~~]/mirror.kakao.com/g 출처 : https://bigbigpark.github..
2022.05.17