Field-programmeerbaarheid - Field-programmability

Een elektronisch apparaat of embedded systeem wordt gezegd dat veldprogrammeerbare of in plaats programmeren als de firmware (opgeslagen in niet-vluchtig geheugen , zoals ROM ) te wijzigen "in het veld", zonder demontage van het apparaat of terug te zenden naar de fabrikant.

Dit is vaak een zeer wenselijke eigenschap, omdat het de kosten en de doorlooptijd voor de vervanging van kan verminderen buggy of verouderde firmware. Bijvoorbeeld, een digitale camera kon vendor firmware te verspreiden ter ondersteuning van een nieuw beeld bestandsformaat door het instrueren van de consument om te downloaden van een nieuwe firmware afbeelding om de camera via een USB -kabel.

Geschiedenis

Wanneer een apparaat firmware is opgeslagen in masker ROM of eenmalig programmeerbare PROM kan niet worden gewijzigd zonder fysieke vervanging van de geïntegreerde schakeling , zodat een dergelijke inrichting niet veldprogrammeerbare in de moderne betekenis kan zijn. Uitwisbaar PROM gebaseerde firmware kan worden gewist en geherprogrammeerd, maar pas na langdurige blootstelling aan een hoge intensiteit ultraviolette lichtbron.

Aldus veldprogrammeerbare inrichtingen niet praktisch tot de uitvinding van EEPROM en flash-geheugen in 1980. Vroege EEPROM kan alleen worden geprogrammeerd met dure, speciale programmeur hardware , omdat deze vereiste hoge spanning (10-20  V , vergeleken met typische 3-5 V logische niveaus ) en er was geen standaard programmering protocol ; als gevolg, was veld-programmering meestal uitgevoerd door professionele technici en service engineers. Echter, vanaf de vroege jaren 2000, veel apparaten zijn speciaal ontworpen om het veld geprogrammeerd door de gewone consument zijn. Verschillende ontwikkelingen hebben dit mogelijk hebben gemaakt:

  • Moderne EEPROM en flash apparaten bevatten interne ladingpompen die de behoefte aan hoge spanningen te elimineren.
  • De meeste consumenten hebben toegang tot personal computers , die willekeurig programmeren protocollen kan uitvoeren.
  • Ubiquitous Internet toegang maakt het gemakkelijk om snel te verspreiden firmware beelden.

Standaard protocollen voor het programmeren van niet-vluchtig geheugen apparaten naar voren zijn gekomen. Bijvoorbeeld, JTAG kan worden gebruikt voor het lezen en programmeren van de EEPROM en Flash chips in veel consumentenelektronica apparaten. Veel van dergelijke apparaten zijn JTAG headers intern programmering in de fabriek en de kwaliteitscontrole , ook al is er geen externe connector wordt blootgesteld in het eindproduct.

programmeerbare logische

1980 zag de invoering van programmeerbare logische inrichtingen (PLD's) zoals PAL , PLA en CPLD's . Dit zijn geïntegreerde schakelingen waarvan bijna willekeurig kan implementeren digitale logische functies op basis van firmware-achtige informatie die is opgeslagen in niet-vluchtig geheugen.

Aldus kunnen toestellen die PLD's worden beschouwd als veld-programmeerbare hardware , terwijl EEPROM en flash-geheugen fungeren als opslag voor veldprogrammeerbare software .

Field-programmable gate arrays (FPGA's) werden uitgevonden in 1984, en zijn de meest geavanceerde vorm van programmeerbare logica die vandaag beschikbaar zijn. High-capacity inrichtingen kunnen uiterst complexe logica implementeren, zoals microprocessoren of digitale signaalprocessoren . Vandaag zijn ze een grote hulp bij de ontwikkeling en snelle inzet van digitale elektronische apparaten. FPGA's worden vaak gebruikt voor prototyping hardware ontwerpen en hardware-acceleratie .

hobbyist kansen

Veel elektronische apparaten voor consumenten (met inbegrip van MP3-spelers , breedband routers , mobiele telefoons en digitale camera's) bevatten ingebedde systemen op basis van algemene doeleinden microprocessoren en microcontrollers . De meeste van deze inrichtingen bevatten veldprogrammeerbare componenten die kunnen worden gelokaliseerd en benaderd door deskundige hardware hackers . Field-programmering laat hobbyisten om de firmware van een apparaat met de nieuwe code die kan wijzigen of uit te breiden zijn mogelijkheden te vervangen.

Tal van online communities zijn opgedoken in de buurt van apparaten die bijzonder bevorderlijk voor een dergelijke wijziging te zijn. Bijvoorbeeld, de iPodLinux en OpenWrt hebben projecten gebruikers in staat om full-featured Linux distributies draaien op hun MP3-spelers en draadloze routers, respectievelijk.

Terwijl hobbyist veld-programmering in vrijwel elk embedded systeem is theoretisch mogelijk vandaag de dag, in de praktijk de inspanningen om apparaten van de consument aan te passen worden vaak gehinderd door een gebrek aan documentatie voor de hardware .

Zie ook

Externe links