필드 프로그래머빌리티
Field-programmability전자기기 또는 임베디드 시스템은 장치를 분해하거나 제조원에 반환하지 않고 펌웨어(ROM 등 비휘발성 메모리에 저장)를 "현장"에서 변경할 수 있는 경우 필드 프로그래밍 또는 인플레이스 프로그래밍이 가능하다고 한다.
버그가 있거나 오래된 펌웨어를 교체하기 위한 비용과 소요 시간을 줄일 수 있기 때문에 이는 매우 바람직한 기능입니다.예를 들어 디지털카메라 벤더는 USB 케이블을 통해 새로운 펌웨어 이미지를 카메라에 다운로드하도록 지시함으로써 새로운 이미지 파일 형식을 지원하는 펌웨어를 배포할 수 있습니다.
역사
디바이스의 펌웨어를 마스크 ROM 또는 원타임 프로그램 가능 PROM에 저장하는 경우 집적회로를 물리적으로 교체하지 않고는 변경할 수 없기 때문에 이러한 디바이스는 현대적 의미의 필드 프로그래밍이 불가능합니다.소거 가능한 PROM 베이스의 펌 웨어를 소거해 재프로그래밍 할 수 있습니다만, 고휘도의 자외선에 장시간 노출된 후에만 가능합니다.
따라서 필드 프로그래머블 디바이스는 1980년대에 EEPROM과 플래시 메모리가 발명되기 전까지는 실용적이지 않았습니다.초기 EEPROM은 고전압(일반적인 3~5V 로직 레벨에 비해 10~20V)이 필요하고 표준 프로그래밍 프로토콜이 없었기 때문에 고가의 전용 프로그래머 하드웨어로만 재프로그래밍할 수 있었습니다.그 결과 필드 프로그래밍은 전문 기술자와 서비스 엔지니어가 대부분 수행했습니다.그러나 2000년대 초반에는 많은 기기가 일반 소비자들에 의해 현장 프로그래밍되도록 명시적으로 설계되었다.이를 가능하게 한 것은 다음과 같은 몇 가지 개발은 다음과 같습니다.
- 최신 EEPROM 및 플래시 장치에는 내부 충전 펌프가 포함되어 있어 고전압이 필요하지 않습니다.
- 대부분의 소비자들은 임의의 프로그래밍 프로토콜을 수행할 수 있는 개인용 컴퓨터에 액세스할 수 있습니다.
- 유비쿼터스 인터넷 액세스는 펌웨어 이미지를 신속하게 배포할 수 있는 편리한 수단을 제공합니다.
비휘발성 메모리 장치를 프로그래밍하기 위한 표준 프로토콜이 등장했습니다.예를 들어 JTAG를 사용하여 많은 가전제품 디바이스에서 EEPROM 및 플래시 칩을 읽고 프로그래밍할 수 있습니다.이러한 디바이스의 대부분은 공장에서의 프로그래밍과 품질관리를 위해 내부에 JTAG 헤더가 포함되어 있습니다.단, 완제품에는 외부 커넥터가 포함되어 있지 않습니다.
프로그래머블 로직
1980년대에는 PAL, PLA 및 CPLD와 같은 Programmable Logic Device(PLD; 프로그래머블 로직 디바이스)가 도입되었습니다.이들은 비휘발성 메모리에 저장된 펌웨어와 유사한 정보를 기반으로 거의 임의의 디지털 로직 기능을 구현할 수 있는 집적회로입니다.
따라서 PLD를 포함하는 디바이스는 필드 프로그래밍이 가능한 하드웨어로 간주되며 EEPROM 및 플래시 메모리는 필드 프로그래밍이 가능한 소프트웨어의 스토리지로 기능합니다.
Field-Programmable Gate Array(FPGA; 필드 프로그래머블 게이트 어레이)는 1984년에 발명되었으며, 오늘날 이용 가능한 가장 진보된 종류의 프로그래머블 로직입니다.이러한 고용량 디바이스는 마이크로프로세서나 디지털 신호 프로세서와 같이 매우 복잡한 로직을 구현할 수 있습니다.오늘날, 디지털 전자 기기의 개발과 신속한 도입에 큰 도움이 됩니다.FPGA는 하드웨어 설계 시제품 제작 및 하드웨어 가속화에 자주 사용됩니다.
취미 생활자의 기회
많은 가전 기기(MP3 플레이어, 광대역 라우터, 휴대폰 및 디지털 카메라 포함)에는 범용 마이크로프로세서 및 마이크로 컨트롤러에 기반한 임베디드 시스템이 포함되어 있습니다.이들 디바이스의 대부분은 현장 프로그래머블 컴포넌트를 포함하고 있으며, 전문 지식이 있는 하드웨어 해커가 이 컴포넌트를 찾아 접근할 수 있는 컴포함되어 있습니다.필드 프로그래밍을 통해 사용자는 기기의 펌웨어를 기능을 수정하거나 확장할 수 있는 새로운 코드로 교체할 수 있습니다.
수많은 온라인 커뮤니티가 그러한 수정에 특히 도움이 되는 것으로 판명된 기기 주변에 생겨났다.예를 들어 iPodLinux 프로젝트와 OpenWrt 프로젝트를 통해 사용자는 MP3 플레이어와 무선 라우터에서 각각 완전한 기능의 Linux 디스트리뷰션을 실행할 수 있게 되었습니다.
오늘날 거의 모든 임베디드 시스템에서 취미로 필드 프로그래밍을 할 수 있지만 실제로는 하드웨어에 대한 문서가 부족하기 때문에 컨슈머 디바이스를 수정하는 작업이 방해받는 경우가 많습니다.
「 」를 참조해 주세요.
- 펌웨어
- JTAG
- Field-Programmable Gate Array(FPGA; 필드 프로그래밍 가능 게이트 어레이)
- Field-Programmable Analog Array(FPAA; 필드 프로그래밍 가능 아날로그 어레이) - FPGA와 비슷하지만 아날로그 신호가 있음
- 필드 프로그래머블 무선 주파수 장치
외부 링크
- Usb Audio 방법수신인: OpenWrt 프로젝트에서 무선 라우터를 인터넷 라디오 플레이어로 변환하는 방법 안내
