Linux(72)
-
임베디드 리눅스 GPIO 제어 방법
리눅스에서 GPIO 제어 방법은 리눅스 커널 버전, 사용하는 하드웨어 플랫폼 및 개발 보드에 따라 다를 수 있습니다. 여기에는 일반적인 방법을 설명합니다. 리눅스 커널 버전 4.8 이상 (sysfs 인터페이스) GPIO 디바이스 드라이버가 로드된 후 /sys/class/gpio 디렉토리가 생성됩니다. 이 디렉토리에서 GPIO 핀을 제어할 수 있습니다. GPIO 핀을 제어하려면 관련된 디바이스를 export해야 합니다. 예를 들어, GPIO 17을 export 하려면 다음 명령어를 실행합니다. echo 17 > /sys/class/gpio/export GPIO를 출력 모드로 설정하려면 direction 파일에 "out"을 쓰고, 입력 모드로 설정하려면 "in"을 쓰면 됩니다. 예를 들어, GPIO 17을 ..
2023.05.08 -
vim 사용법 간단정리
vim 단축키 정리 vim Vim은 터미널에서 동작하는 텍스트 편집기로, 많은 개발자들이 사용하는 강력한 도구입니다. Vim은 모드, 연산자, 그리고 명령어들을 조합하여 높은 생산성을 제공합니다. CLI(Command Line Interface) CLI는 텍스트 명령어를 사용하여 작업을 수행하는 방식으로 마우스를 사용하지 않고 키보드만으로 동작하는 인터페이스입니다. 모드 정리 프로그램 실행 시 Normal 모드로 진입하게 되며 각 모드로 전환하는 방법은 아래와 같습니다. +-----------+ +----------------| |-------------+ | |Normal Mode| | | +---------->| | w: word | (emittable) W: WORD | " or ' : qu..
2023.04.13 -
cmake x86->arm cross compile script
# this one is important set(CMAKE_SYSTEM_NAME Linux) # specify the cross compiler set(CMAKE_C_COMPILER /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc) set(CMAKE_CXX_COMPILER /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++) # Name of archiving tool for static libraries set(CMAKE_AR "/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-ar" CACHE PATH "ARM Linux ar Program"..
2023.01.19 -
Ubuntu 22.04에서 build-essential 설치 문제 해결하기
우분투 22.04를 이용하여 buildroot 환경을 꾸미기 위해서는 build-essential 패키지 설치가 필수적이다. 하지만 현재 해당 파키지를 설치하기 위해서는 libc6-dev 패키지를 설치하여야 하는데 해당 패키지는 apt-get을 이용하여 설치할 수가 없다. (unmet dependancy 가 발생) 인터넷을 찾아보니 aptitude를 이용하여 해결하여 해당 내용을 갈무리하여 공유한다. 방법에 앞서 먼저 aptitude를 설치한다. sudo apt update sudo apt install aptitude 주의할 점은 aptitude를 이용하여 설치할 때 문제를 해결하기 위해서는 바로 설치를 시작하면 안된다는 것이다. sudo aptitude install g++ 해당 명령을 실행하면 Ac..
2023.01.14 -
커널 구조 및 추적 교육 자료
Linux 중급과정 기존 리눅스 이론 기반의 과정이나, 구버전 리눅스 커널 기반의 교육에서 벗어나, 최신 커널 버전에서 트레이싱 기술을 접목하여 핵심적이고 실용적인 교육을 지향 강의 내용 커널 트레이싱 방법 및 실습 uftrace 커널 트레이싱 메모리 영역 및 메모리 변환과정 메모리 => 가상메모리 => user / kernel 물리 메모리(Physical Memory)와 가상 메모리(Virtual Memory)를 변환하는 과정 PageFault 발생 시 커널의 코드 흐름 User와 Kernel의 PageFault 핸들링 코드의 흐름 파일 시스템 I/O => Buffered I/O 블록 디바이스 처리 스케쥴러 / 시그널 네트워크 / 인터럽트 / 후반부 처리(softirq, tasklet, workqueu..
2022.06.21 -
Ubuntu 20.04 LTS에서 VS code 설치하기
VS code는 마이크로소프트에서 개발한 무료 에디팅 환경이다. 내부적으로 Javascript를 사용하며 속도도 빠르며 많을 플러그인을 갖추고 있어 사용하기 편리하다. https://code.visualstudio.com/ 이전버전의 우분투에서는 sudo apt-get install code와 같은 명령으로 코드를 설치할 수 있었는데 20.04에서는 별도의 과정을 거쳐야 하는 듯 하다. 간편하게 홈페이지에서 .deb 파일을 다운로드 받아 설치하는 방법이 있지만, 추후 업데이트를 위하여 레포지토리를 추가하여 설치해보도록 하자 설치하는 방법은 아래와 같다. sudo apt-get update sudo apt-get install -y curl apt-transport-https cd curl -sSL htt..
2020.10.24