리눅스커널

포스트: 154|조회수: 0|TERM
Items

Posts

154 posts

[리눅스커널] TRACE32: 'v.type' 명령어로 구조체와 enum 필드를 바로 확인하기

Guillermo Austin Kim|2020년 5월 20일

소스 코드를 분석 하다보면 구조체와 enum의 정체를 알고 싶을 때가 있습니다.이 때 TRACE32를 활용하면 바로 이 정보를 확인할 수 있습니다. 구조체 확인하기 먼저 구조체의 세부 필드는 다음과 같은 명령어를 입력하면 확인할 수 있습니다. $ v.type % %m %l %hi %sp struct '구조체 이름' 자, 그럼 리눅스 커널에서 프로세스 정보를 나타내는 struct task_struct 구조체의 정체를 확인해봅시다. $ v.type % %m %l %hi %sp struct task_struct(struct task_struct) struct task_struct struct (4096 bytes, [0] struct thread_info thread_inf

[리눅스커널][공유] 퀄컴의 리눅스 커널 코드오로라- codeaurora 사이트(환상의 디버깅 자료)

Guillermo Austin Kim|2020년 5월 15일

SoC(System-on-Chip) 업계의 최강자이며 Top-of-the-food-chain인 퀄컴(Qualcomm)은 꾸준히 자신이 개발하고 있는리눅스 커널 소스를 특정 사이트에 올리고 있습니다. 최신 퀄컴(Qualcomm)이 개발하고 있는 리눅스 커널 소스를 볼 수 있는 코드 오로라(codeaurora) 사이트는 다음과 같습니다. 이 사이트에 가면 환상의 솔류션(크래시/성능 개선) 패치와 디버깅 용 패치를 감상할 수 있습니다.패치를 보면 마치 예전 마이클 조던이 더블 클러치와 같은 묘기를 보는 듯한 느낌입니다. 오히려 리눅스 커널 커뮤니티보다 훨씬 개발에 유용한 디버깅 패치를 더 많이 볼 수 있습니다. 그래서 틈나는 데로 코드 오로라(codeaurora) 사이트에서 패치 코드를 분석하곤 합니다

[리눅스 커널] 라즈베리파이 4: 라즈비안 커널 빌드

Guillermo Austin Kim|2020년 5월 15일

'라즈베리 파이 4'에서 실행되는 라즈비안 이미지를 빌드하는 방법에 대해 말씀드리려 합니다. 라즈비안을 빌드하는 명령어는 아래 사이트에서 확인할 수 있는데요. '라즈베리 파이 4'를 위한 라즈비안 빌드 명령어는 다음과 같습니다. cd linuxKERNEL=kernel7lmake bcm2711_defconfig '라즈베리 파이 4'를 위한 라즈비안 빌드 스트립트 파일을 만들어 봤는데요.코드(크로스 컴파일 환경)는 다음과 같습니다. #!/bin/bash export PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/binKERNEL=kernel7l echo "configure build output path"TO

[리눅스커널] CPU 코어의 주파수(Frequency) 확인하기 - cpufreq_cpu_data

Guillermo Austin Kim|2020년 5월 14일

리눅스 커널에서 CPU Frequency는 성능을 측정할 때 중요한 척도 중 하나입니다.이번 시간에는 리눅스 커널에서 CPU Frequency와 관련된 자료 구조를 소개합니다. cpufreq_cpu_data 선언부 cpufreq_cpu_data는 커널에서 CPU 주파수를 저장하는 중요한 변수입니다. 먼저 cpufreq_cpu_data 변수의 선언부를 봅시다. DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data); 보시다시피 DEFINE_PER_CPU 키워드와 함께 cpufreq_policy 구조체로 선언된 변수임을 알 수 있습니다.즉, CPU 코어 별로 cpufreq_policy 구조체의 정보를 cpufreq_cpu_data 변수가 저장하는 것입니다