Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

19113
1478
166889


태그 : 리눅스 요약보기전체보기목록닫기

1 2 3 4 5 6 7 8 9 10 다음

[ARM] ARM 프로세서의 특징을 활용한 최적화는 왜 중요할까?

이번 포스팅에서는 'ARM 프로세서의 특징을 활용한 최적화는 왜 중요할까?'에 대해서 이야기하려고 합니다.본론에 들어가기 앞서 일반적인 SW 개발자들이 최적화에 대해 어떻게 생각하는지 짚어 보겠습니다.   생각보다 성능과 최적화는 중요하다대부분 SW 개발자들은 주어진 스팩을 구현하기 위해 프로그램을 작성합니다.화면을 꾸미는 프론트 엔드...

[ARM64] GCC: 특정 함수를 최적화하지 않기 - optimize("O0") 옵션

코드를 작성한 후 실행을 하다보면 가끔 자신이 작성한 함수의 심벌이 사라지거나, 가끔 예상을 벗어나는 동작을 할 때가 있습니다.여러 가지 원인 중 하나가, 컴파일러가 최적화를 하면서 코드를 재배치를 하다가 발생합니다.이번 포스팅에서는 GCC의 최적화 레벨을 각각의 함수에 지정하는 방법을 소개합니다.결론부터 말씀을 드리면 함수의 선언부에 아래 키워드를 추...

[리눅스] insmod 명령어로 드라이버 설치 시 커널 내부 동작 디버깅해보기(ftrace)

이전에 다음 글에서 insmod 명령어를 통해 모듈 타입 디바이스 드라이버가 설치될 때,커널 내부 함수가 어떤 흐름으로 작동하는지 코드를 리뷰했습니다.[리눅스] 드라이버: module_init 키워드로 지정한 함수가 호출되는 원리 - sys_finit_module()http://rousalome.egloos.com/10016090이어서 이번 시간에는 f...

[리눅스] 드라이버: module_init 키워드로 지정한 함수가 호출되는 원리 - sys_finit_module()

리눅스에서 실행 중인 디바이스 드라이버는 2가지 타입 중 하나입니다.    ● 모듈 식 디바이스 드라이버    ● 빌트인 식 디바이스 드라이버모듈식 디바이스 드라이버가 설치 될 때 리눅스 내부에서 어떤 방식으로 동작하는지 살펴보겠습니다.이 중에 모듈 형태의 디바이스 드라이버는 다음과 같은 명령어를...

[리눅스] GDB 프로그램 사용 위치 파악: 'which -a'

gdb와 같은 프로그램이 설치된 경로를 확인하고 싶을 때가 있습니다.이 때 다음 명령어를 사용하면 됩니다.'which -a'아래는 터미널에서 'which -a' 명령어를 사용한 예시입니다.baldcandy:#/etc$ which -a gdb-multiarch/usr/bin/gdb-multiarchgdb-multiarch가 '/usr/bin/gdb-mul...

[리눅스][디버깅] GDB로 깨진 콜 스택 복원하기(공유 라이브러리 로딩하는 방법)

리눅스 프로젝트를 개발하면 코어덤프(coredump)를 열어서 크래시가 발생한 원인을 분석할 때가 많습니다.많은 개발자 분들이 코어덤프를 열어서 크래시가 발생한 원인을 분석하죠.코어덤프를 열어 gdb를 사용해 디버깅할 때 가장 짜증나는 것 중 하나는 공유 라이브러리를 제대로 로딩하지 못해콜 스택이 보이지 않을 때 입니다.이번에는 코어덤프를 로딩할 때 필...

[임베디드] 강력한 꼰대 개발자가 되는 방법(1)

'꼰대 개발자가 되는 방법'이란 주제로 2개 포스팅을 올린 후 많은 개발자의 피드백을 받았습니다.[임베디드] 꼰대 개발자가 되는 방법(1) [임베디드] 꼰대 개발자가 되는 방법(2) 그 중 제가 생각하는 '꼰대 개발자'에게 이 글을 보여드리고 의견을 알려 달라고 부탁을 드렸습니다. 실제 꼰대 개발자들의 인터뷰를 한 내용을 바탕으로 '꼰...

[라즈베리파이] 라즈비안: objdump 바이너리 유틸리티

바이너리 유틸리티는 오브젝트 포맷의 파일을 조작할 수 있는 프로그램입니다. 다음은 대표적인 바이너리 유틸리티를 정리한 표입니다.objdump: 라이브러리나 ELF(Executable and Linkable Format) 형식의 파일을 어셈블리어로 출력as: 어셈블러ld: 링커addr2line: 주소를 파일과 라인으로 출력nm: 오브젝트 파일의 심벌을 출...

[라즈베리파이] 라즈베리 파이에서 언어 설정 따라해보기

대부분 리눅스 개발을 할 때는 터미널로 리눅스 명령어를 입력합니다. 이 정도로 라즈비안을 설정해도 개발하는 데 문제는 없지만 라즈비안에 설치된 크롬 브라우저를 쓰려면 언어를 설정해야 합니다.라즈비안 메뉴를 실행해 언어(Locale) 설정을 하겠습니다. 그림 2.30과 같이 터미널에서 raspi-config 명령어를 입력합니다. 그림 2.30 터...

[라즈베리파이] 라즈베리 파이 초기 설정하기

라즈베리 파이는 버전이 업그레이드될수록 초기 설정을 쉽게 할 수 있게 진화하고 있습니다. 마우스 클릭만 몇 번 하면 기본 설정을 마칠 수 있으니 긴장하지 말고 따라 해 봅시다.다음 화면에서 [Next] 버튼을 클릭합니다. 그림 2.21 라즈베리 파이 설정 대화상자[Set Country] 대화상자가 나타나면 [Use US Keyboard]를 체크...
1 2 3 4 5 6 7 8 9 10 다음