Embedded : : Linux/: : Bootloader 2

MCU Bootloader

대부분의 임베디드 시스템은 온보드 부트로더와 함께 제공된다. 부트로더(Bootloader)는 컴퓨터 시스템 또는 임베디드 시스템을 시작하는 데 사용하는 프로그램이다. 부트로더는 JTAG과 같은 특수 하드웨어를 사용하지 않고도 시스템을 업데이트할 수 있도록 도와준다. 이를 통해 소프트웨어 업데이트시마다 서비스 센터를 찾아가지 않아도 되는 이점이 있다. 부트로더는 임베디드 시스템의 무결성을 확인하는 가장 빠른 시점이 될 수도 있다. 이는 부트로더가 시스템 이미지를 관리하기 때문이다.   임베디드 부트로더는 다양한 크기와 특징을 가지고 있다. 요구사항에 따라 부트로더 상태도 UART, CAN, I2C, Ethernet, USB와 같은 다양한 프로토콜을 통해 통신할 수 있으며, 두 개 이상의 어플리케이션 이미지..

HAL (Hardware Abstraction Layer : 하드웨어 추상화 계층)

하드웨어 추상화(Hardware Abstraction) 하드웨어 추상화(hardware abstraction)는 특정 플랫폼의 구체적인 부분과 하드웨어의 자원을 직접 접근을 흉내내는 소프트웨어들의 집합이다. 하드웨어 추상화는 프로그램 인터페이스를 통해 하드웨어 리소스에 대한 액세스 권한을 프로그램에 제공한다. 프로그래머가 장치 독립적인 프로그램을 작성하도록 하고 운영 체제의 하드웨어 호출을 무시함으로써 고성능의 응용 프로그램 작성을 허용한다 하드웨어 추상화 계층 (HAL, Hardware Abstraction Layer) 컴퓨터에서 프로그램이 수많은 하드웨어를 별 차이 없이 다룰 수 있도록 하는 추상화 계층으로, OS가 컴퓨터 하드웨어와 소프트웨어 사이에 만들어주는 가교 역할을 한다. API처럼 사용하며..