Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

16312
2027
233849


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

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) 그 중 제가 생각하는 '꼰대 개발자'에게 이 글을 보여드리고 의견을 알려 달라고 부탁을 드렸습니다. 실제 꼰대 개발자들의 인터뷰를 한 내용을 바탕으로 '꼰...

[ARMv8] EL1: el1_irq - 익셉션 벡터 코드와 ARM 스팩 문서 분석

저번 포스트에서는 el1_sync 이라는 익셉션 벡터 코드를 분석했습니다.생각보다 코드의 내용이 복잡하다라는 사실을 알 수 있었는데요. 주요 동작은 다음과 같습니다.   ● 신드롬 레지스터를 읽음    ● 신드롬 레지스터의 값을 26만큼 왼쪽으로 비트 시프트한 값에 따라 다음 레이블을 호...

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

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