본문 바로가기

반응형

임베디드 리눅스

(22)
MCU? MPU? CPU? 그게 뭔데 안녕하세요. WH입니다. 임베디드 리눅스 개발자로 살아가려면 하드웨어적인 지식이 기본이죠. 그런데 하드웨어가 종류가 적당히 많아야죠.. 종류는 그렇다치고 뭐가 뭔지 모르는 경우가 태반이죠. 그래서 가장 기본적인 하드웨어를 정리해보고자 합니다. 먼저 컴퓨터 시스템을 제어하는 CPU에 대해 알 필요가 있습니다. CPU( Central Processor Unit )는 컴퓨터 시스템을 제어하고 연산을 실행하는 핵심적인 장치입니다. CPU는 ALU( Arithmetic Logic Unit )와 명령어를 불러와 해석하는 CU ( Control Unit )을 합친 구조랍니다. ALU : 제어 장치 명령에 따라 산술/논리 연산을 수행하는 장치 CU : 주기억 장치로 부터 프로그램 명령어를 읽어 들여 해독하고 처리하는 ..
make 는 무엇이며 왜 사용하는 것일까 2 안녕하세요. WH 입니다. 오늘도 다시 하나하나 정리해 볼까요? make는 프로그램 그룹을 유지하는 데 필요한 유틸리티인데요, make 유틸리티의 목적은 프로그램 그룹 중에서 새롭게 컴파일 되는 부분을 자동으로 판단하여 재컴파일 합니다. 즉, make는 입력 파일이 바뀌면 자동적으로 결과 파일이 바뀌길 원할 때 사용합니다 잠깐 복습하고 갈까요? Makefile은 위와 같은 규칙들의 나열이며, target 부분은 command가 수행되어 나온 결과를 저장하기 때문에 object file이나 실행 파일이 됨을 생각해 볼 수 있겠지요, command 부분에 정의된 command들은 TAB으로 시작하며 dependency 부분에 정의된 파일이 바뀌었고나, target에 해당하는 파일이 없을 때 차례대로 실행하는..
make 는 무엇이며 왜 사용하는 것일까1 안녕하세요, WH 입니다. make 에 대해 알아보는 글입니다. 바로 전 글에서 compile 과정에 대해서 설명했었는데요. compile 과정은 여러개의 소스코드를 목적 파일을 만들고 해당 목적코드들을 링크하여 실행파일을 만든다고 설명했었습니다. 그런데 이런 생각을 해볼까요? 기능별로 코드를 짜다보니 소스코드 파일이 100개를 만들었다고 해봅시다. 힘들게 힘들게 하나하나 목적파일을 생성하고 링크해서 실행파일을 만들었어요. 그런데, 해당 파일에 문제가 생겨서 파일을 다시 컴파일을 해야한다고 가정해볼까요? 100개를...다시 ..목적파일 만들고.. 링크하려면.. ㅎㅎ 이런 문제를 해결하기 위해 make를 사용합니다. make는 무엇일까요? make 파일 간의 종속 관계를 파악하여 makefile에 적힌 대..
c언어 컴파일 과정 안녕하세요. 매일이 새롭고 싶은 WH 입니다. 컴파일 ' 기계어로 번역해주는 과정 ' 참 간단합니다. 컴파일 과정은 반드시 알고 있어야하는 과정입니다. 왜냐고요? 파일간의 관계를 파악해야하거든요. 가장 유명한 hello.c를 가지고 그 과정을 낱낱히 분석해봅시다. hello.c 파일 #include int main(int argc, char **argv) { printf("Hello World\n"); return 0 ; } 들어가기 앞서 정리하고 들어가겠습니다. 코딩 -> hello.c -> preprocessing( 전처리 ) -> hello.i -> compile ( assemble 코드 생성 ) -> hello.s -> assemble ( 목적 파일 생성 )-> hello.o -> hello.o ..
virtualbox 활용하여 환경 설정하기 안녕하세요. WH 입니다. 임베디드 리눅스를 활용하여 개발하다보면, docker로 환경설정이 불가능할 때를 만나게 되는데요. 이번 글에서는 virtualbox를 활용하여 환경설정하는 방법에 대해 정리해보고자 합니다. virtualbox는 왜 쓰는 것일까요? 쉽게 내 운영체제가 돌리고자하는 소프트웨어와 맞지 않아 새로운 환경을 만들고자 할때 사용하게 됩니다. 전에 설명드렸던 docker는 컨테이너 기반 플랫폼이고, virtualbox는 가상 머신을 활용한 솔루션인데요. 간단히 공통점과 차이점을 짚고 넘어가고자 합니다. 무엇을 해결하고자 하냐면 내 환경에 맞지 않아 사용할 수 없는 소프트웨어를 사용하게 하는 것이 목적입니다. 차이점에 대해 간단히 말하자면 가상 머신의 경우, 하드웨어 자체를 가상화 하기 때문..
docker를 활용한 이미지 배포하기( feat. dockfile ) 안녕하세요 WH입니다. 나중에 블로그가 활성화되고 요청이 있다면 해당 부분을 자세히 다루겠지만, 그전까지는 기초부터 조금 다뤄볼까합니다. 오늘은 docker와 관련된 내용인데요. docker가 무엇인가.. docker를 활용하려고 하는데 뭔가 이게 이런것 거두절미하고 쉽게 설명 드리겠습니다. 처음 docker를 접할 때 어려웠던 점은, container가 무엇인지, 이미지가 무엇인지, 빌드가 뭔지 하나도 모르는 상황이었기 때문에 굉장히 큰 어려움을 겪었습니다. 인터넷을 찾아보는데, 찾아봐도 이게 뭔지 뭘 어떻게 해야되는 건지 모르겠더라구요ㅜㅜ 그래서 한마디로 정리해보겠습니다 개념적인 내용 다 빼고 그래서 도커가 무엇이냐 docker는 내 시스템에서 다른 시스템 환경과 해당 환경 내 소프트웨어를 활용할 수..