728x90
반응형

Embedded system

728x90
반응형
Embedded system/etc

[vim] vim Custom 환경 설정 및 yocto bb 파일 syntax highlighting 설정

vim 에디터 Custom 설정.vimrc 파일은 vim 에디터 설정을 바꿀 수 있는 파일로home 디렉토리 위에. vimrc라는 이름으로 파일을 만들어준다. 이 파일을 수정하여 내가 원하는 설정대로 vim을 사용할 수 있다.   vim 설치 및 설정우선, vim을 설치해 주고 내 경우에는 vi로 alias를 설정해 주었다.$ sudo apt-get install vim$ alias vi=vim  .vimrc 수정home Directory의 최상위에 .vimrc 파일 아래와 같이 수정한다. set number " line 표시set ai " auto indentset si " smart indentset cindent " c style indentset shiftwidth=4 " 자..

Embedded system/etc

[Yocto/Build Error] pyinotify.WatchManagerError: add_watch: cannot watch /home/workspace/yocto/poky/meta-gplv2/recipes-extended/diffutils WD=-1, Errno=No space left on device (ENOSPC)

Error 내용 pyinotify.WatchManagerError: add_watch: cannot watch /home/workspace/yocto/poky/meta-gplv2/recipes-extended/diffutils WD=-1, Errno=No space left on device (ENOSPC) $ bitbake virtual/kernel WARNING: Layer motrex-bsp should set LAYERSERIES_COMPAT_motrex-bsp in its conf/layer.conf file to list the core layer names it is compatible with. WARNING: Layer motrex-bsp should set LAYERSERIES_COMP..

Embedded system/etc

[Error] Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler

리눅스 커널 빌드를 시도하는 과정에서 아래와 같은 에러가 발생했다. .config 파일을 확인해 보니 CONFIG_CC_STACKPROTECTOR_REGULAR가 활성화되어 있었다. menuconfig로 해당 옵션 설정을 OFF 시켜주자. $ make menuconfig menuconfig에 들어가서 General setup에 들어가, 스크롤을 쭉 내려보면 아래와 같은 옵션이 있다. NONE으로 선택하고 다시 빌드하자.

Embedded system/etc

리눅스 부팅 과정 (부트로더, 펌웨어, BIOS, POST, MBR)

컴퓨터 부팅 과정 전원 공급 BIOS 실행 : POST 및 Bootstrap POST : 주변 하드웨어 체크 Bootstrap : 부트로더를 RAM에 Load 부트로더 실행 : 운영체제 Load 운영체제에 의해 init 프로세스 실행 전원 ON 컴퓨터 전원 버튼을 누르면 전원이 파워 서플라이에 전달된다. 파워 서플라이에 전달된 전원은 컴퓨터 내부에서 사용되는 전압으로 바뀌어 메인보드에 부착된 장치들에게 전원이 공급된다. BIOS 읽기 (POST 및 부트스트랩 실행) CPU가 ROM에 저장된 펌웨어인 BIOS를 읽어 들이면, BIOS가 POST와 부트스트랩 과정을 실행한다. Post (Power On Self Test) 주변 하드웨어(메인보드 연결, 그래픽 카드, 키보드, USB 등)의 정상 작동을 하는지..

Embedded system/[KOCW] 운영체제

[운영체제] 파일 시스템 구현 2 (Unix, FAT 파일 시스템, Bit Map, Linked List, Grouping, Counting)

파일 시스템 종류 파일시스템은 저장매체나 운영체제에 따라 사용이 제한되며, 아래와 같은 종류가 있다. exFAT : USB에 자주 사용되는 파일 시스템 (File Allocation Table) NTFS : 윈도우 운영체제에서 사용되는 파일 시스템 (New Technology File System) ext, ext2, ext3, ext4, xfs : 리눅스 운영체제에서 사용되는 파일 시스템 (Extended File System) UNIX 파일 시스템 아래의 구조는 가장 기본적인 파일 시스템 구조이며, 이 구조로부터 발전하면서 FAT, Ext 등등이 생겨났다. 하나의 논리적 디스크에 파일 시스템을 설치해 놓으며, Boot, Super, Inode, Data block 순서대로 저장이 된다. Boot Bl..

Embedded system/etc

[VirtualBox] 가상화 관련 파일 (.vbox, .vdi, .iso, .ova, .sav, .log)

VirtualBox 가상화 관련 파일 VirtualBox를 사용하여 가상 머신을 생성하면 관련 파일이 여러 개 생성이 된다. 이러한 파일들은 가상 머신 설정, 디스크 이미지, 로그 등을 저장하며, 가상머신을 설정하고 관리하는 데 필요하다. .vbox (Virtual Machine Settings) .vdi (Virtual Disk Image) .iso (International Organization for Standardiztion) .ova (Open Virtualization Appliance) Snapshot (.vdi 및 .sav 파일들) .log Virtual Machine Settings (.vbox) 가상머신 하드웨어 구성, 네트워크 설정, CD/DVD 드라이브 및 USB 장치 연결 등 전..

Embedded system/etc

[init.d] 리눅스 부팅 시, 프로그램 자동으로 실행하기

SysV 시스템을 사용하는 경우, 프로그램을 자동으로 실행하는 방법은 아래와 같다. systemd를 사용하는 경우에는 init.d 대신, systemd를 활용해야 한다. 자동 실행 과정 /etc/init.d/에 스크립트 생성 스크립트 실행 권한 변경 update-rc.d로 런레벨 디렉터리에 필요한 심볼릭 링크 생성 시스템 재부팅 스크립트 생성 프로그램이 자동으로 실행되는 순서는 시스템에 정의된 순서에 따라 결정된다. /etc/init.d 하위 디렉토리에 있는 스크립트들은 이름을 기준으로 오름차순으로 실행된다. #!/bin/bash ### BEGIN INIT INFO # Provides: sample_service # Required-Start: $remote_fs $syslog # Required-Sto..

Embedded system/Raspberry Pi

[Kernel] ftrace 로그 추출

ftrace 로그 추출하기 위한 과정 ftrace 로그 설정 분석하기 위한 프로세스 실행 프로세스의 동작 확인 후, kill 명령어로 프로세스 종료 ftrace 로그 추출 분석할 소스 코드 리눅스 시스템을 관리하는 sleep()이나 fork() 함수를 직접 호출하기 때문에 응용 프로그램 입장에서 저수준 프로그램이라고 한다. sleep()이나 fork()와 같은 함수는 리눅스 시스템 저수준 함수(API)이다. #include #include #define PROC_TIMES 500 #define SLEEP_DURATION 3 // second unit int main() { int proc_times = 0; for(proc_times = 0; proc_times < PROC_TIMES; proc_time..

728x90
반응형
라닝
'Embedded system' 카테고리의 글 목록