본문 바로가기

CS/[Embedded]Embedded System Software

(11)
[Embedded] Cross Development Environment What is Cross Development Environment? 우리가 일반적으로 PC 환경에서 개발하는 경우에는, 키보드, 모니터, 하드디스크 등 여러 주변 장치, 보조기억장치 등이 존재한다. 하지만 임베디드 시스템의 경우는 위에 해당하는 것들의 대부분 없다. 임베디드 시스템의 경우는 특수 목적으로 만들어진 시스템이다 보니 모니터나 키보드가 필요하지 않는 경우가 많다. 그렇기 때문에 임베디드 시스템 자체에서 개발을 하는 것은 거의 불가능하다고 보면 된다. 그럼 임베디드 시스템의 개발은 어떻게 진행되는 것인가? 바로 Cross Development Environment, 교차 개발 환경을 이용하여 개발한다. 교차개발환경이 무엇인지 알아보자. 먼저, PC용 SW 개발의 경우에는 개발환경과 실행환경이 ..
[Embedded]What is Embedded System?(~H/W) **개인 공부를 기록하는 글이다 보니 오류가 있을 수 있습니다. 부족한 부분 많은 지적 해주시면 감사드리겠습니다** Definition of an Embedded System 임베디드 시스템은 일반적인 general-purpose computer(일반적으로 우리가 사용하는 PC)와 다르게 특정 목적을 위한 function을 수행하는 computer system 혹은 computiong device를 말한다. 일반적인 PC는 문서작업, 그래픽 멀티미디어 작업 등 필요한 소프트웨어 설치하면 원하는 다양한 작업을 모두 진행할 수 있다. 하지만 임베디드 시스템은 특정한 목적을 위해 설계되는 것으로 범용의 목적이 아닌 정해진 용도에만 국한된 기능을 제공해 주는 시스템이다. 이는 SW(OS)를 포함하여 설계 되거나..
[Embedded]Interrupt Handling Interrupt OS kernel의 주요 역할로는 시스템 하드웨어를 관리하는 작업이 있다. HDD, LAN, 마우스, 키보드 등 각 장치와 통신을 해야 하드웨어를 관리할 수 있는데, 이러한 하드웨어와의 통신 속도는 processor 속도에 비해 많이 느려 하드웨어 응답까지 커널이 기다리는 방식은 비효율적이다. 이러한 문제점 해결하는 방법 중 하나는 polling이다. Polling은 커널이 주기적으로 시스템 하드웨어의 상태를 확인하고, 그 상태에 따라 처리하는 것을 말한다. 하지만 이러한 방법도 하드웨어의 상태를 주기적으로 확인해야 하는 overhead가 발생하게 되고 불필요한 부하가 생기게 된다. 따라서 더 효율적인 방법으로는 하드웨어가 커널에 신호를 보낼 수 있는 체계가 있다. 이를 Interru..