Linux
-
[LINUX][VIM] - Vim SessionLinux/development tool 2023. 8. 3. 02:22
글의 참고 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 : VIM에 익숙하지 않으면, 실수로 VIM을 Close하는 경우가 많다. VIM Buffer에 20개의 파일들이 있는데, 실수로 `q!` 관련 명령어를 쳐버리면 여태까지 Buffer에 쌓아 놓은 파일리스트가 모두 사라진다. 이럴 때 Vim Session을 사용하면 된다. Vim Session은 vim buffer를 계속 유지할 수 있게 해준다. 예를 들어, vim buffer에 다음의 내용들이 쌓여있다. :ls 1 "rasp_cross_compile.sh" line 1 4 "linux/.mailmap" line 19 5 # "linux/.tmp_System.map" line 9 6..
-
[개발 도구] 디렉토리 내비게이션 명령어Linux/development tool 2023. 8. 3. 02:21
글의 참고 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - 디렉토리 내비게이션 명령어 : 여러 파일에 대한 관리는 좋은 Tool을 사용하면 되지만, 폴더의 경우는 여러 폴더를 이동해야 할 경우 그 놈의 cd ..cd ..cd .. 가 반복된다. 이럴 때, dirs, pushd, cd 를 있으면 이제 cd ..cd ..cd .. 의 지옥에서 벗어날 수 있다. 1" dirs - 현재 내가 저장한 경로들에 대한 스택을 보여준다. - `dirs -v`는 스택에 저장된 경로들에 인덱스를 붙여서 보여준다. 인덱스 0은 현재 경로를 의미한다. 실제로 내가 저장한 경로는 1부터 시작한다. 0 ~/workspace/SW/rpi-kernel/stable/..
-
[GIT] - 브랜치Linux/development tool 2023. 8. 3. 02:20
글의 참고 - https://backlog.com/git-tutorial/kr/stepup/stepup1_5.html - https://www.gitkraken.com/learn/git/best-practices/git-branch-strategy#github-flow-branch-strategy - http://scottchacon.com/2011/08/31/github-flow.html - https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow - https://nvie.com/posts/a-successful-git-branching-model/ 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는..
-
[LINUX][GIT] - .gitignore 쉽게 만들기Linux/development tool 2023. 8. 3. 02:20
Github Repository를 만들 때 .gitignore를 만들 수 있지만, 실무에서 vendor사에서 제공하는 소스를 받아보면 .gitignore가 없는 경우가 있다. git status를 치는 순간 *.o *.log 등 엄청난 양의 파일들로 렉이 걸릴 정도로 실무 프로젝트는 파일 양이 방대하다 ㅠㅠ.. 그래서 .gitignore를 적용해야 겠다고 생각했다. 그런데 .gitignore에 어떤 내용들을 적용해야 할 지 막막할 때 참고하면 좋은 사이트가 있다. https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com 위의 사이트에 접속해서 적당한..
-
[LINUX][VIM] 내가 에디터로 VIM을 쓰는 이유Linux/development tool 2023. 8. 3. 02:19
1. 터미널 기반의 에디터 나는 현재 임베디드 시스템 프로그래머로 이제 곧 5년차 개발자이다. 임베디드 개발자들은 주로 자기의 PC에서 작업을 하지 않고, 회사의 Linux 서버에 원격으로 접속을 해서 소스를 수정하고 빌드를 돌리는 등의 작업을 한다. 원격으로 접속을 하다보니, GUI 환경이 아닌 터미널의 기반의 환경에서 작업을 주로하게 된다. 그러다 보니 자연스럽게 VIM을 쓰게 됬다. 물론, 내 주변의 대다수 분들은 samba를 이용해서 source insight라는 툴로 소스를 분석한다. 그런데 source insight는 윈도우 툴이고 samba로 연결될 경우, 많은 양의 소스를 분석하다보면 버벅거리는 생각보다 꾀나 자주 발생한다. 중소기업에서는 초기 프로젝트 시, 빌드서버가 어마아마하게 자주 돌..
-
[리눅스 커널] 커널 컨텍스트Linux/kernel 2023. 8. 3. 02:18
글의 참고 - https://linux-kernel-labs.github.io/refs/heads/master/lectures/interrupts.html - https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=hsmnim&logNo=30085612028&viewDate=¤tPage=1&listtype=0 - http://egloos.zum.com/rousalome/v/9990872 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Interrpt Context [ 참고1 ] : x86에서 예외가 아닌 `IRQ` 발생(하드웨어 인터럽트)으로 인해 CPU의 제어 로직이 인터럽트 ..
-
[리눅스 커널] Loadable Kernel Module(LKM)Linux/kernel 2023. 8. 3. 02:18
글의 참고 - https://en.wikipedia.org/wiki/Loadable_kernel_module - https://tldp.org/HOWTO/Module-HOWTO/x73.html - https://francescoquaglia.github.io/TEACHING/AOS/AA-2020-2021/SLIDES/linux-modules.pdf - https://www.kernel.org/doc/Documentation/kbuild/modules.txt - https://cateee.net/lkddb/web-lkddb/MODULES.html 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Overview " 리눅스에서 `Loadabl..
-
[리눅스 커널] PM - Power Management InterfaceLinux/kernel 2023. 8. 3. 02:15
글의 참고 - http://www.wowotech.net/pm_subsystem/pm_interface.html - https://lwn.net/Articles/416690/ - https://elinux.org/Pm_Sub_System 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. 글의 내용 - Overview : 리눅스 커널의 Power management 서브 시스템 중 상당수는 Hibernate, Suspend, Runtime PM 등의 기능을 처리하는 코드로 이루어져 있..