Orodha ya maudhui:

Flashing Custom Firmware kwa tochi ya BLF A6: Hatua 5
Flashing Custom Firmware kwa tochi ya BLF A6: Hatua 5

Video: Flashing Custom Firmware kwa tochi ya BLF A6: Hatua 5

Video: Flashing Custom Firmware kwa tochi ya BLF A6: Hatua 5
Video: HOW TO FLASH QUALCOMM Phone in TFT UNLOCK TOOL FREE 2024, Julai
Anonim
Flashing Custom Firmware kwa tochi ya BLF A6
Flashing Custom Firmware kwa tochi ya BLF A6

Hivi karibuni nilipata BLF A6. Ni nzuri sana, lakini sipendi mojawapo ya vikundi vya hali chaguomsingi, kwa hivyo nilibadilisha firmware kutumia mwangaza ninayopendelea. Habari hiyo ilikuwa ngumu kupata, kwa hivyo ninaweka kila kitu nilichojifunza hapa kwangu na kwa wengine.

Vifaa

BLF A6 (labda itafanya kazi na tochi zingine za ATTiny)

Bano / koleo nyembamba / mkasi mdogo / kitu cha kufuta bodi ya dereva inayohifadhi pete

Kompyuta ili kuangaza na, ikiwezekana kuendesha usambazaji wa Linux

Programu ya USB ASP / Arduino / kitu ambacho kinaweza kufanya programu ya AVR (inaonekana programu ya USB ASP inapendekezwa, lakini nilitumia Arduino)

Sehemu ya SOIC8 (inawezekana kufanya bila, lakini ni ngumu sana na haifai kabisa)

(hiari) Bodi ya mkate na / au waya za kuruka ili kufanya unganisho uwe rahisi

Hatua ya 1: Pakua Firmware

Firmware ya BLF A6 (na tochi zingine nyingi) inapatikana hapa. Mwandishi anazungumza juu yake hapa. Unaweza kuipakua kwa kuendesha:

bzr tawi lp: ~ mtunza toy / tochi-firmware / blf-a6-fainali

katika terminal. (italazimika kusanikisha bzr)

Kumbuka: katika hariri ya awali ya hii inayoweza kufundishwa nilitumia "bzr tawi lp: tochi-firmware" badala yake. Tangu wakati huo nimejifunza kuwa hii inapakua toleo lililopitwa na wakati na maadili yasiyofaa kwa kipima nguvu cha wakati, na kufanya kitufe cha kubonyeza kiwe muda mrefu. (asante kwa uzi huu kwenye Reddit)

Folda unayotaka ni blf-a6-final / ToyKeeper / blf-a6. Inayo faili ya.hex iliyokusanywa tayari kuangazia (blf-a6.hex) na nambari C ambayo unaweza kurekebisha. (blf-a6.c) Ikiwa unataka kuwasha firmware ya hisa unaweza kuruka hatua inayofuata na utumie blf-a6.hex. Baadhi ya firmware nyingine katika hifadhi hiyo labda itafanya kazi pia.

Hatua ya 2: Badilisha Firmware

Fungua blf-a6.c katika mhariri wa maandishi unayopendelea au IDE. Mistari inayovutia zaidi ni vikundi vya modi kati ya mistari 116 na 131. Zinaonekana kama hii:

// Kikundi cha Modi 1 # fafanua viwango vya NUM_MODES1 7 // PWM kwa mzunguko mkubwa (FET au Nx7135) #fafanua MODESNx1 0, 0, 0, 7, 56, 137, 255 // Ngazi za PWM kwa mzunguko mdogo (1x7135) # fafanua MODES1x1 2, 20, 110, 255, 255, 255, 0 // Sampuli yangu: 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32) // Krono sampuli: 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78) // Manker2: 2 = 21, 3 = 39, 4 = 47,… 6? = 68 // Kasi ya PWM kwa kila modi #fafanua MODES_PWM1 AWAMU, HARAKA, HARAKA, FAST, FAST, FAST, PHASE // Kundi la Njia 2 #fafanua NUM_MODES2 4 #fafanua MODESNx2 0, 0, 90, 255 #fafanua MODES1x2 20, 230, 255, 0 #fafanua MODES_PWM2 KWA HARAKA, KWA HARAKA, KWA HARAKA, AWAMU

Kwa kila kikundi, MODESN ni thamani ya PWM inayotumiwa kwa FET, na MODES1 ni thamani ya PWM inayotumiwa kwa 7135 katika kila hali. Nambari ni kati ya 0 na 255, na inalingana na mwangaza wa nuru. Habari zaidi hapa. (songa chini hadi "Udhibiti wa Hali:") Sina hakika ni kasi gani ya PWM ni nini haswa. Ikiwa mtu yeyote anajua, niambie katika maoni. FET inaweza kutoa mwanga zaidi kuliko 7135, lakini 7135 huweka kiwango cha nuru zaidi au chini sawa na maisha ya betri, wakati FET inakuwa nyeusi wakati inaishiwa na betri.

Hapa unaweza kurekebisha maadili ya PWM ili utengeneze njia unazopenda. Labda unaweza kubadilisha idadi ya njia pia, lakini sijaijaribu kwani nilitaka njia nne, ambayo ni namba katika kundi la pili. Nilitaka hali ya mwangaza wa mwezi mweusi, kwa hivyo niliweka ya kwanza hadi 0/1, na naona hali ya turbo haina maana, kwa hivyo niliibadilisha na 137/255, sawa na hali ya sita katika kikundi cha modi saba. Labda unaweza kubadilisha nambari zingine ikiwa inahitajika, lakini sijaijaribu.

Unapokuwa na nambari unayotaka, lazima uiandike kwa faili ya.hex. Kwa uchache sana, unahitaji gcc-avr na avr-libc. Ikiwa una shida, angalia utegemezi mwingine kwenye kisomaji cha firmware. Hifadhi inajumuisha hati ya kujenga, lakini sikuweza kuifanya ifanye kazi. Badala yake, nilipakua toleo la zamani na

bzr tawi lp: tochi-firmware

na kunakili hati ya zamani ya kujenga (ambayo ningeweza kufanya kazi) juu ya mpya. Kisha nikakimbia:

../../bin/build.sh 13 blf-a6

katika folda ya blf-a6. (inapaswa kuwa na njia bora ya kufanya hivyo)../../bin/build.sh inaita hati hiyo, ile ya 13 inabainisha kuwa inaunda ATtiny13 na blf-a6 inabainisha kuwa ni ya BLF A6. (duh) Inapaswa kukuambia ni amri gani zinazoendesha na ikupe matokeo. Yangu inaonekana kama hii:

avr-gcc -Wall -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89-inline -DATTINY = 13 -I.. -I../.. -I../../.. -fupi -enums -o blf-a6.o -c blf-a6.cavr-gcc -Wall -g -Os -mmcu = attiny13 -fgnu89-inline -o blf-a6.elf blf-a6.o avr-objcopy --set -bendera-bendera =.toka = sehemu, mzigo - sehemu -badilisho-lma.eeprom = 0 - hakuna mabadiliko-maonyo -O ihex blf-a6.elf blf-a6.hex Programu: ka 1022 (99.8% Kamili Takwimu: ka 13 (20.3% Kamili)

Amri tayari zimeboreshwa kwa saizi, kwa hivyo ikiwa inasema imejaa zaidi ya 100%, jaribu kutoa maoni

#fafanua FULL_BIKING_STROBE

kwenye mstari wa 147 kutumia strobe ndogo ndogo ya baiskeli. Ikiwa bado haifai, labda itabidi uondoe nambari zaidi mahali pengine. Inapomaliza kukusanya, inapaswa kuwa na faili inayoitwa blf-a6.hex kwenye folda. Hii ndio nambari yako iliyokusanywa, tayari kuwasha.

Hatua ya 3: Tenganisha tochi

Tenganisha Tochi
Tenganisha Tochi
Tenganisha Tochi
Tenganisha Tochi
Tenganisha Tochi
Tenganisha Tochi

Ondoa mwisho wa balbu dhidi ya saa moja kwa moja. Kuna viungo viwili vya screw hapa. Yule aliye karibu na mwisho wa balbu ya tochi hufungua taa na taa, na yule aliye karibu na katikati anafungua bodi ya dereva. Unataka ile karibu na katikati.

Ndani, unapaswa kuona chemchemi ya betri na pete ya kubakiza na mashimo mawili ndani yake. Ingiza kibano / koleo nyembamba / mkasi ndani ya mashimo na uzungushe kinyume na saa. Ni ngumu kabisa, na kutumia vitu viwili tofauti labda hakutakupa faida ya kutosha. Nilitumia mkasi kwenye Kisu cha Jeshi la Uswizi.

Mara baada ya kupata pete nje, toa ubao wa dereva. Bado imeunganishwa na waya mbili, kwa hivyo kuwa mwangalifu. Zimepindika pamoja, kwa hivyo zungusha bodi kwa njia moja au nyingine hadi waya zifunguke. Unapokuwa na njia ya kutosha, geuza ubao. Unataka ili chip na "TINY13A" iwe juu zaidi na ipatikane zaidi. Ikiwa iko upande usiofaa, ingiza kwa njia nyingine. Punga chemchemi chini ya kando. Hii itaiweka kwa muda na iwe rahisi kufika kwenye chip. Ikiwa una shida na hii labda unaweza kufungua kiunganishi kingine na kufuta waya mbili kutoka upande mwingine ili uweze kuondoa bodi kabisa, lakini sijaijaribu.

Hatua ya 4: Unganisha vifaa vya Flashing

Unganisha vifaa vya Flashing
Unganisha vifaa vya Flashing
Unganisha vifaa vya Flashing
Unganisha vifaa vya Flashing
Unganisha vifaa vya Flashing
Unganisha vifaa vya Flashing

Sasa unatumia klipu ya SOIC8 kuunganisha chip ya ATtiny13 na programu yako. Na klipu yangu ya SOIC8, ikiwa nina waya mwekundu upande wa kushoto wa ncha zote mbili, safu ya pini karibu na mimi kwenye mwisho wa klipu inalingana na safu ya pini karibu nami kwenye kontakt mwisho, wakati kiunganishi kinatazama chini. (tazama mchoro wangu mzuri wa kisanii) Mwongozo huu unapendekeza utumie programu ya USB ASP V2.0. Ukifanya hivyo, unganisha kama hii:

  • Bandika 1 kwenye ATtiny13 kubandika 5 kwenye USB ASP (weka upya)
  • Bandika 4 kwenye ATtiny13 kubandika 10 kwenye USB ASP (ardhi)
  • Bandika 5 kwenye ATtiny13 kubandika 1 kwenye USB ASP (MOSI)
  • Bandika 6 kwenye ATtiny13 kubandika 9 kwenye USB ASP (MISO)
  • Bandika 7 kwenye ATtiny13 kubandika 7 kwenye USB ASP (SCK)
  • Bandika 8 kwenye ATtiny13 kubandika 2 kwenye USB ASP (VCC)

Ikiwa, kama mimi, unatumia Arduino, lazima ufanye maandalizi zaidi. Fuata hatua sifuri na mbili za mwongozo huu:

Fungua IDE ya Arduino na uhakikishe Arduino yako imeunganishwa kwenye kompyuta yako. Pata mchoro wa ISP kwenye Faili> Mifano> 11. ArduinoISP> ArduinoISP na uipakie kwenye Arduino yako. Kisha unganisha ATtiny13 nayo kama hii:

  • Bandika 1 kwenye ATtiny13 kubandika 10 kwenye Arduino (weka upya)
  • Bandika 4 kwenye ATtiny13 hadi GND kwenye Arduino (ardhi)
  • Bandika 5 kwenye ATtiny13 kubandika 11 kwenye Arduino (MOSI)
  • Bandika 6 kwenye ATtiny13 kubandika 12 kwenye Arduino (MISO)
  • Bandika 7 kwenye ATtiny13 kubandika 13 kwenye Arduino (SCK)
  • Bandika 8 kwenye ATtiny13 hadi VCC / 5V / 3.3V kwenye Arduino (yoyote inapaswa kufanya kazi, lakini 5V inaaminika zaidi) (VCC)

Niliweka kifurushi cha vifaa pia, lakini labda haikuwa lazima. Ikiwa una shaka, jaribu. Haitaleta madhara yoyote. Lakini usichome bootloader kwa sababu labda itatengeneza tochi yako.

Hatua ya 5: Flash it

Ili kuwasha firmware, unahitaji kufunga AVRDUDE. Kuangalia inafanya kazi na Arduino yangu, ninaendesha:

avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -n

Ikiwa inafanya kazi, ninahamia kwenye folda tupu mahali pengine na kukimbia:

avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Uflash: r: flash-dump.hex: i -Upimaji: r: eeprom-dump.hex: i -Uffuse: r: lfuse -tupa.hex: i -Uhfuse: r: hfuse-dump.hex: i

Ili kufanya salama ya firmware iliyopo. Na kuangaza, kutoka kwa folda na blf-a6.hex niliyoendesha:

avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Uflash: w: blf-a6.hex -Ufuse: w: 0x75: m -Uffuse: w: 0xFF: m

Kwa sababu fulani, lazima nionyeshe stk500v1 kama programu, na haikufanya kazi isipokuwa nilitaja kiwango cha bandari na baud. Ikiwa unatumia Arduino na bila shaka, jaribu kukataza ATTiny13 yako kutoka Arduino na kupakia mchoro kwenye Arduino IDE ukitumia mipangilio hapa. Itashindwa, lakini inapaswa kusema ni amri gani inayotumia kwenye dirisha la kiweko. Unaweza kunakili sifa kwenye amri yako ya AVRDUDE.

Ikiwa unatumia programu ya USB ASP, badala yake endesha:

avrdude -v -p attiny13 -c usbasp -n

Kuona ikiwa inafanya kazi na:

avrdude -v -p attiny13 -c usbasp -u -Uflash: r: flash-dump. r: hfuse-dump.hex: i

Kufanya nakala rudufu na:

avrdude -v -p attiny13 -c usbasp -u -Uflash: w: blf-a6.hex -Ulfuse: w: 0x75: m -Uhfuse: w: 0xFF: m

Ili kuangaza.

-Uflash: w: blf-a6.hex inahusu faili inayoangaza. Badilisha blf-a6.hex na jina lako la faili ikiwa ni tofauti.

-Ulfuse: w: 0x75: m na -Uhfuse: w: 0xFF: m ni fuses. Yako inaweza kuwa tofauti, kwa hivyo angalia maadili katika tochi-firmware / bin / flash-tiny13-fuses.sh.

Ikiwa inatoa makosa ya anuwai, inamaanisha picha ni kubwa sana kutoshea kwenye chip na lazima uondoe nambari fulani. Ikiwa imeangaza vyema, inapaswa kuonyesha baa kadhaa za maendeleo, kisha sema "avrdude imefanywa. Asante."

Ikiwa inasema "sahihi ya kifaa" na jumper kwenye programu yako imewekwa 3.3v, jaribu kuiweka kwa 5v.

Baada ya kuangaza, unganisha tena tochi yako na uone ikiwa inafanya kazi. Mine alifanya, lakini THE majira imezimwa kwa baadhi fikira za The Long presses haja ya kuwa na sekunde tatu badala ya ̶1̶.̶5̶.̶ mimi do not kujua kama ̶i̶t̶'̶s̶ kitu cha kufanya na ya Arduino au kwa sababu ̶I̶'̶v̶e̶ kutumika The Wrong mipangilio ̶s̶o̶m̶e̶w̶h̶e̶r̶e̶.̶ kama una wazo, ̶ napenda kujua katika THE ̶c̶o̶m̶m̶e̶n̶t̶s̶.̶

Hariri: Niliirekebisha. (angalia hatua 1)

Ilipendekeza: