Guillermo Austin Kim

Sources

Posts

998 posts

[ARM] const static 키워드로 변수를 선언: 코드 크기 최적화

Guillermo Austin Kim|2020년 6월 24일

코드를 작성하다보면 배열을 선언한 후 그 값을 상수와 같이 사용할 때가 있습니다.한 가지 예를 들겠습니다. 다음 코드를 보면 rtw_cfg80211_default_mgmt_stypes 배열은static const 키워드로 선언돼 있습니다. const struct ieee80211_txrx_stypesrtw_cfg80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = { [NL80211_IFTYPE_ADHOC] = { .tx = 0xffff, .rx = BIT(IEEE80211_STYPE_ACTION >> 4) }, rtw_cfg80211_default_mgmt_stypes 배열은 고정된 값을 저장하고 실행 중에 바뀌지 않습니다. 위 코드를 컴파일하고 코드

[4장] 프로세스: 오타 공지(293페이지)

Guillermo Austin Kim|2020년 6월 20일

『디버깅을 통해 배우는 리눅스 커널의 구조와 원리』 책의 저자 김동현입니다.『4장』 '커널 디버깅과 코드 학습'에서 오타가 확인돼 공지드립니다. 오타나 오류로 확인된 부분은 2판과 이북(Ebook)에 꼭 반영토록 하겠습니다. 293 페이지 293 페이지에서 있는 cpu_context_save 구조체를 보겠습니다. cpu_context_save {__u32 4;__u32 r5;__u32 r6;__u32 r7;__u32 r8;__u32 r9;__u32 sl;__u32 fp;__u32 sp;__u32 pc;__u32 extra[2]; /* Xscale 'acc' register, etc */}; 가장 첫 번째 필드가 '__u32 4'로 보이는데 이는 '__u32 r4'로 표기돼야 합니

[3장] 커널 디버깅과 코드 학습: 오타 공지(84/110페이지)

Guillermo Austin Kim|2020년 6월 20일

『디버깅을 통해 배우는 리눅스 커널의 구조와 원리』 책의 저자 김동현입니다. 『3장』 '커널 디버깅과 코드 학습'에서 오타가 확인돼 공지드립니다.원고를 수정하는 과정에서 오타를 잡기 위해 최선을 다했으나, 약간의 미비한 점이 있는 점 양해 부탁드립니다. 해당 내용은 2판과 이북(Ebook)에 꼭 반영토록 하겠습니다. 84 페이지 먼저 84 페이지에 보이는 아래 내용을 보겠습니다. (볼드체) struct irq_desc {02 struct irq_common_data irq_common_data;03 struct irq_data irq_data;04 unsigned int __percpu *kstat_irqs;05 irq_flow_handler_t handle_irq;...06 struct irqa

『2장』 질문: build_rpi_kernel.sh으로 라즈비안 커널 빌드가 되지 않습니다.

Guillermo Austin Kim|2020년 6월 20일

『디버깅을 통해 배우는 리눅스 커널의 구조와 원리』 책의 저자 김동현입니다. 몇몇 독자분들이 실습을 하시면서 질문을 주셨는데요, 주의해야 할 점이 있어 포스팅을 올립니다.먼저 질문을 소개합니다. Q); build_rpi_kernel.sh으로 라즈비안 커널 빌드가 되지 않습니다. A) build_rpi_kernel.sh 파일을 작성하신 후 오타가 있는지 한번 점검해보세요.그런데 눈을 씻고 오타를 확인해도 찾기 어려운 부분이 있는데요. 한 가지 구문을 소개합니다. 먼저 다음 빌드 스크립트 build_rpi_kernel.sh 파일을 봅시다. (54페이지) 01 #!/bin/bash0203 echo "configure build output path"0405 KERNEL_TOP_PATH="$( cd "$(

『2장』 질문: 라즈베리 파이에서 디렉터리에 파일을 저장하거나 이동할 수 없습니다.

Guillermo Austin Kim|2020년 6월 20일

『디버깅을 통해 배우는 리눅스 커널의 구조와 원리』 책의 저자 김동현입니다. 몇몇 독자분들이 실습을 하시면서 질문을 주셨는데요, 한 가지 공유드릴 사항이 있어 글을 남깁니다.먼저 질문을 소개합니다. 질문 Q); 라즈비안에서 제공하는 파일 관리자를 통해 파일을 저장을 시도했는데, 저장이 되지 않는다. '2.3.3 라즈비안 리눅스 커널 빌드' 절의 53 페이지에서 소개된 'build_rpi_kernel.sh' 라는 이름으로 저장했다. 'rpi_kernel_src' 디렉터리에 저장하려 했는데 다음과 같은 에러 창이 보이면서 build_rpi_kernel.sh이 저장돼지 않는다. Answer A) 리눅스 터미널을 열고 다음과 같이 하시면 됩니다. * root@raspberrypi:/home/pi/r