Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Omnia incepit cum autore emendo an interesting fabrica in foro secundario - Smart Responsio XE (Description). Pro scholis destinatur: quisque discipulus in classe accipit machinam similem libello electronico vel interprete a nineties, magister quaestionem quaerit, et discipuli responsa in claviaturarum machinis, quae per unam recipiuntur, respondet. canalis radiophonicus (802.15.4) receptori connexus cum magistro PC.

Hae machinis ante aliquot annos intermissae sunt, et quaenam scholae pro $100-$200 emptae sint, nunc in eBay pro $10 vel minus est papaver. Ferramenta multa experimentis geeky apta sunt;

  • LX key tincidunt
  • exhibe cum resolutione 384Γ— 136, 2 lamellis per pixel - BC, CGA similibus, sed 4 non colores, sed gradationes splendoris.
  • microcontroller ATmega128RFA1 (128 kB memoria mico, 4 kB ROM, 16 kB RAM, 802.15.4 transceiver)
  • externum (relate ad microcontroller, non totum fabrica) 1 megabit (128 kilobyte) memoria mico cum SPI interface
  • cellula pro 4 AAA componuntur.

Ex nomine microcontrollerum patet pertinere ad familiam AVR, quae fabricam Arduino-compatibilis significat plus quam leve negotium facere...

Ex nuntio Hackaday auctor adinvenit quid sit iam feci (idem nexus narrat tibi quid connectere ubi), facultas ad ludos currendi Arduboy;


Sed auctor commodo tempus est non in arte ludere, sed in studiis;

  • mico memoria Vide SPI interface
  • bootloaders ad AVR
  • vexillum 802.15.4

Auctor scribebat bibliothecam (GPL v3), quod permittit ut ostentationem initialem, textum outputa et rectangula, et accessum SPI mico memoria permittat. Inde cum ideis ad usum practicum machinae ascendere incepit: sinum terminalem VT-100-compatilium, lusorum lusorium. His tribus machinis reaedificatis, eas "docere" statuit ut invitamenta "super aerem" accipiant. Quid non solum iucundum, sed etiam commodum esset: difficile est ad aperiendum omni tempore casus fabrica, et sub tegumentum cellulae altilium solum foramina sunt quae te JTAG programmatorem ad tabulam coniungere sinunt.

Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Hoc satis est ad imposuistis Arduino praedones, sed non adumbratam - portum serialem ibi non connexum, ideo adhuc sine casu aperire non potes. Etiam, TX0 et RX0 lineae primae Vide Portus coniunguntur cum suffragiis claviaturae matricis, nempe quae claves functionis in lateribus ostensionis tondunt. Sed quid facias - hoc fabricavit auctor;

Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Ibi lineas JTAG detulit, et nunc non opus est ut cellulam altilium aperiat. Itaque ut sketchs imprimi possent, utrumque portum serialem eidem iungo coniunxi, etiam malleolo addito, quia in batteriis inauguratis, physice impossibile est machinam quovis alio modo averti.

Accepit satis aliquo tempore ad operandum ferrum solidatum, cultellum utile et gluten sclopetum. In universum, multo commodius "in aerem" sketchs impositio: ob hoc aliquid fingere obnixe opus est.

Arduino IDE programmate utitur ad sketches fasciculos avrdude. Penitus microcontroller cum usura protocol STK500quae permittit ut fasciculos in utramque partem transferas. Male compatitur cum canalibus ubi variae morae, depravatio et notitia damna possibilia sunt. Si quid solutum aut crepitum in canalem Vide, insanire potes causam quaerere. Postquam auctor dimidium diei passus est donec intellexit quaestionem funes esse malam ac convertentis interfaciei CP2102 volubilitatem. Etiam microcontroller cum fabricato convertentis interfaciei, exempli gratia, ATmega32u4, interdum sic agere potest. Omnis usor Arduino animadvertit errores cum exemplaribus impositis non tam raras esse. Aliquando bene scriptum est, sed error in experimento deprehensus est. Hoc non significat errorem in scribendo fuisse - defectio in lectione facta. Nunc finge hoc idem laboranti super aerem, sed multo saepius.

Post varias vias hanc quaestionem expugnandam auctor accessit cum sequenti. Cogitatus memoriam mico 128 KB cum SPI interface habet - notitias super fila accipimus (memini auctorem iam unam machinam cum iungente in latere habet), hac memoria ut quiddam utere et notitias per radiophonicas mitte. alveo alii fabrica. Salve ex Cybiko.

Postquam codicem scribebat ad operandum cum canali radiophonico, tum in fonte, oneratus longior factus est quam 4 kilobytes. Ergo valor HFUSE mutandus erat ab 0xDA ad 0xD8. Nunc bootloader ad 8 chiliobytes longum esse potest, et inscriptio incipiens nunc 0x1E000 est. Hoc relucet in Makefile, sed debet etiam ratio haberi cum impletio bootloader via avrdude.

802.15.4 transceiver in ATmega128RFA1 principio destinatur ad operandum utens protocollo Zigbee, quod est admodum complicatum, sic auctor placuit ut mox potius fasciculos transmitteret. Hoc ferramentis in ATmega128RFA1 impletum est, ut exiguum signum desideratur. Etiam, pro simplicitate, auctor certo alveo uti voluit, non permittens te vel manuale eligere. 802.15.4 vexillum sustentat 16 canales cum numeris ab 11 ad 26. Sunt satis conferti, quidam etiam canales WiFi conducunt (rubrum sunt canales ZigBee, caerulei, viridis et flavi WiFi).

Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Contigit quod canales 15 et 26 minime susceptibiles ab WiFi impedimento sunt, quorum auctor secundam elegit. Disclaimer: interpres nesciat an ZigBee hoc modo simpliciorem reddere liceat. Forsitan paulo plus programmandi et efficiendi eam perfecte facere debeamus?

In prima arte, necesse est ad apparatus status finitos efficiendos, qui notitias per STK500 protocollo transmittit. Plerumque nuntii transmissi et accepti sibi sufficiunt, sed quaedam ligantur iis quae prius per canalem transeunt. Descriptio dialogi datur hic.

Magni momenti huius dialogi ratio est transmissio fasciculorum in animo scribenda ad splendorem memoriae destinatum notae. Pro simplicibus microcontrolers familiae AVR, magnitudo paginarum 128 bytes est, at pro ATmega128RFA1 est 256. Et pro splendore memoriae, quae per SPI protocollum coniungitur, eadem est. Progressio in prima arte, cum perscripta discit, non statim ad secundum transfert, sed ad hanc memoriam scribit. Cum Arduino IDE recte introitum coercet, mittitur ibi scriptum. Nunc opus est ut receptas notitias per canalem radiophonicum ad secundum fabricam transmittat. Eodem tempore, commutatione a recipiendo ad tradendum et revertendum saepius occurrit. STK500 protocollum moras indifferens est, at notitias damnum non tolerat (alienum, sed supra dictum est quod moras etiam notitias translationis afficere). Damna et damna in wireless tradenda inevitabiles sunt. The ATmega128RFA1 in ferramentis exsequendis crebris petitionibus constructum habet, cum dubitationes de rectitudine translationis sunt, sed auctor idem in programmatibus efficere voluit. Protocollum explicavit, in quo multo plura notitia quam alia via manat.

Non est perfectum, sed operatur. Pagina 256-byte dividitur in quattuor segmenta, quarum unaquaeque in aerem quasi fasciculum transmittitur. Fasciculus tenere potest usque ad 125 bytes notitiarum plus uno byte pro longitudine et duo bytes pro CRC. Itaque fragmenta 64 bytes longi cum pagina et segmento numeri (ab 0 ad 3) ibi ponuntur. Receptio fabrica variabilis est quae indagare permittit quot segmenta recepta sunt et cum quattuor pervenerint, missio notae confirmationem accipit totam paginam receptam esse. Nulla confirmatio (CRC non aequare) - totam paginam resendt. Etiam celeritas maior est quam cum per funem tradendo. Vide:


Communiter autem oporteret oportebit ut funes machinis iungendis ac per eam syllabis iungendis aptam viam praeberet. Exempli gratia, pone talem interfaciem convertentis in CP2102, sicut in photo, eamque ad tabulam gluten ut vim cum connectens et disiuncta Micro USB cable possit sustinere.

Scribimus OTA bootloader ad ATmega128RFA1 (ut pars Smert Responsio XE fabrica)

Habet etiam stabilitorem 3,3-volt (et quomodo eo utatur in fabrica cum 6-volt potestate copia - si modo eundem stabilitorem habet, et duos diodes addere potes ad eligendum quem eorum fabricam moveat) . Omnes tres LEDs ab interface convertentis tabulae includi debent, alioquin gravidae etiam onerabunt cum in illis operantibus, et etiam cum suffragio claviaturae et operandi memoria ictu SPI interfaciendi impedit.

Propositum persequens evasit magis interesting quam assequendum (nec opus est iocus de bus). Auctor multum didicit de caesoribus AVR, SPI memoriae mico, STK500 protocollo et signo 802.15.4.

Cetera omnia praeter bibliothecam supra scriptam est hicest quoque sub GPL v3. Auctoris Twitter - hic.

Source: www.habr.com