Guillermo Austin Kim

Sources

Posts

998 posts

[IT] 꼰대 개발자가 되는 이유[1]: 경험치로 먹고 산다

Guillermo Austin Kim|2020년 10월 5일

많은 개발자들이 꼰대 개발자를 싫어합니다. 아마 꼰대 개발자를 좋게 보는 분들은 없겠죠.그런데 조금 생각 해보면, 소프트웨어 개발자들은 꼰대가 되기 쉬운 환경에서 일하고 있는 부분도 있다고 봅니다.특히 임베디드나 시스템 프로그래밍 분야는 특히 심하다고 생각합니다. 그 이유에 대해서 조금 더 알아볼까요? 경험치로 개발하면서 먹고 살 수 있다 하드웨어를 제어하는 임베디드나 시스템 프로그래밍을 하는 분야에서 경험치로만 먹고 사는 개발자들이 은근히 많습니다. '예전에 이런 식으로 했더니 해결했으니 그 방법을 시도해보자'라고 말합니다. 물론 기술적인 배경 지식이나 이를 뒷 받침할 수 있는 근거는 부족합니다. '예전에 했더니'가 근거의 전부입니다. 문제가 생겼는데 어떤 방법을 써 볼까 고민하는 도중에, 이렇게 확

[ARM] CPU 캐시(Cache)란

Guillermo Austin Kim|2020년 10월 3일

이번 포스트에서는 캐시의 기본 개념에 대해 소개하고 ARM 프로세서에 적용된 캐시의 개념에 대해 설명하겠습니다. CPU 캐시(Cache)란 캐시란 컴퓨터 용어로 캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 의미합니다. 캐시는 자주 사용되는 데이터를 임시 저장해 데이터에 접근하는 속도를 최적화하기 위해 사용됩니다. 다양한 소프트웨어 분야에서 캐시가 사용되는데 CPU를 설계할 때도 캐시를 사용해 CPU의 실행 속도를 최적화합니다. 그렇다면 CPU에서 캐시는 어떤 방식으로 사용이 될까요? 캐시는 어떤 형태일까요? 의문이 계속 생깁니다. 먼저 CPU에서 사용되는 캐시에 대해 알아봅시다. 사실 처음 CPU를 연구했던 과학자들은 처음부터 캐시를 CPU에 적용한 것은 아니었습니다. 오랫동안 CPU를 설계하는

[공지] 2장: 라즈비안 커널 빌드가 안될 때 조치 방법

Guillermo Austin Kim|2020년 9월 30일

가끔, 독자 분들이 가끔 라즈비안 커널 빌드가 잘 안된다는 제보를 주시는데요.대부분 빌드 스크립트를 직접 입력하다가 오타로 인해 불편함을 겪는 경우가 대부분입니다. 그래서 이번 포스트에서는 이런 불편함을 해소할 수 있는 간단한 팁을 소개합니다. 기본 유틸리티 프로그램을 업데이트 라즈비안 커널 소스를 내려받고 소스 빌드를 하려면 관련 유틸리티 프로그램이 설치돼야 합니다.이를 위해 다음 과정을 따라해보실까요? ❑ 아래 명령어를 입력해 기본 유틸리티 프로그램을 업데이트 합니다. # apt-get update# apt-get upgrade [라즈베리 파이 터미널]root@raspberrypi:/home/pi/rpi_kernel_src# apt-get updateroot@raspberryp

[ARM] 익셉션(Exception)이란

Guillermo Austin Kim|2020년 9월 29일

ARM 프로세서는 익셉션을 지원하며 운영체제의 ARM 프로세서가 지원하는 익셉션을 활용해 세부 기능을 구현합니다. 익셉션의 타입에 대해 알아보고 익셉션의 세부 동작에 대해 살펴보겠습니다. ARMv7과 ARMv8 아키텍처 별로 익셉션 벡터 테이블의 종류가 상이하지만, 익셉션이 동작하는 방식은 유사하므로 ARMv7 아키텍처 기준으로 익셉션에 대해 소개합니다. 익셉션의 종류 익셉션의 세부 동작에 대해 설명드리기 전에 먼저 익셉션의 타입에 대해 알아봅시다. 다음은 ARM의 익셉션의 종류입니다. 표 1.3 익셉션의 타입과 종류 먼저 메모리 어보트 타입으로 분류되는 익셉션에 대해 살펴봅시다. 다음은 메모리 어보트 타입으로 분류되는 익셉션입니다. ❑ Undefined Instruction:

[RISC-V] RISC-V 툴체인으로 리눅스 커널 빌드하기

Guillermo Austin Kim|2020년 9월 28일

이번 포스트에서는 RISC-V 툴체인을 설치해 리눅스 커널을 빌드하는 방법을 소개합니다. 먼저 RISC-V 툴체인을 설치하는 명령어를 입력합시다. RISC-V 툴체인 소스를 내려받기 다음 명령어를 입력해 RISC-V 툴체인 소스를 내려받습니다. $ git clone --recursive 아래는 리눅스 터미널에서 위 명령어를 실행한 후 출력 결과입니다. 소스를 내려받는데 1시간 정도 걸리네요. austindh.kim:~/src/risc-v_toolchain$ git clone --recursive into 'riscv-gnu-toolchain'...remote: Enumerating objects: 21, done.remote: Counting objects: 100% (21/21), done.re