Moja vizitka uporablja Linux

Prevod članka iz objava v spletnem dnevniku inženir George Hilliard

Moja vizitka uporablja Linux
Možnost klikanja

Sem inženir vgrajenih sistemov. V prostem času pogosto iščem nekaj, kar bi lahko uporabili pri načrtovanju bodočih sistemov, ali nekaj iz mojih interesov.

Eno takšnih področij so poceni računalniki, ki lahko poganjajo Linux, in čim cenejši, tem bolje. Tako sem izkopal globoko zajčjo luknjo nejasnih procesorjev.

Pomislil sem: "Ti procesorji so tako poceni, da jih je praktično mogoče dati brezplačno." In čez nekaj časa se mi je porodila ideja, da naredim golo kartico za Linux v obliki vizitke.

Ko sem razmišljal o tem, sem se odločil, da bi bilo to res kul. Imam že so videli elektronski vizitka za je, in imeli so različne zanimive zmožnosti, kot je posnemanje bliskovnih kartic, utripajočih žarnic ali celo brezžičnega prenosa podatkov. Nisem pa videl vizitk s podporo za Linux.

Tako sem si naredil enega.

To je končana različica izdelka. Popoln minimalen računalnik ARM, ki poganja mojo različico Linuxa po meri, izdelano z Buildroot.

Moja vizitka uporablja Linux

V kotu ima vrata USB. Če ga povežete z računalnikom, se zažene v približno 6 sekundah in je viden kot flash kartica in navidezna serijska vrata, prek katerih se lahko prijavite v lupino kartice. Na bliskovnem pogonu je datoteka README, kopija mojega življenjepisa in več mojih fotografij. Lupina ima več iger, klasike Unixa, kot sta fortune in rogue, majhno različico igre 2048 in tolmač MicroPython.

Vse to je narejeno z uporabo zelo majhnega 8 MB flash čipa. Zagonski nalagalnik se prilega 256 KB, jedro zavzame 1,6 MB, celoten korenski datotečni sistem pa 2,4 MB. Zato ostane veliko prostora za virtualni bliskovni pogon. Obstaja tudi domači imenik, v katerega je mogoče pisati, če kdo stori kar koli, kar želi shraniti. Vse to je tudi shranjeno na flash čipu.

Celotna naprava stane manj kot 3 $. Je dovolj poceni, da ga lahko podariš. Če ste takšno napravo prejeli od mene, to pomeni, da vas najverjetneje poskušam narediti vtis.

Oblikovanje in izdelava

Vse sem zasnoval in sestavil sam. To je moje delo in obožujem ga, velik del izziva pa je bilo najti dovolj poceni dele za hobi.

Izbira procesorja je bila najpomembnejša odločitev, ki je vplivala na stroške in izvedljivost projekta. Po obsežni raziskavi sem izbral F1C100s, razmeroma malo znan procesor podjetja Allwinner, ki je stroškovno optimiziran (tj. prekleto poceni). Tako RAM kot CPE sta v istem paketu. Procesorje sem kupil na Taobao. Vse ostale komponente so bile kupljene pri LCSC.

Plošče sem naročil pri JLC. Naredili so mi 8 kopij za 10 dolarjev. Njihova kakovost je impresivna, zlasti glede na ceno; ni tako urejen kot OSHPark, a vseeno izgleda dobro.

Prvo serijo sem naredil mat črno. Videti so bili čudoviti, a so se zelo zlahka umazali.

Moja vizitka uporablja Linux

Pri prvi seriji je bilo nekaj težav. Prvič, priključek USB ni bil dovolj dolg, da bi se varno prilegal v vrata USB. Drugič, bliskovne sledi so bile narejene napačno, vendar sem se temu izognil z upogibanjem kontaktov.

Moja vizitka uporablja Linux

Ko sem preveril, ali vse deluje, sem naročil novo serijo plošč; Fotografijo enega od njih si lahko ogledate na začetku članka.

Zaradi majhnosti vseh teh majhnih komponent sem se odločil uporabiti spajkanje z reflowom poceni štedilnik. Imam dostop do laserskega rezalnika, zato sem z njim izrezal spajkalno šablono iz folije za laminator. Šablona se je kar dobro izkazala. Luknje s premerom 0,2 mm za kontakte procesorja so zahtevale posebno skrb za zagotovitev visokokakovostne izdelave - ključnega pomena je bilo pravilno fokusiranje laserja in izbira njegove moči.

Moja vizitka uporablja Linux
Druge plošče dobro držijo ploščo med nanašanjem paste.

Nanesel sem spajkalno pasto in ročno namestil komponente. Prepričal sem se, da v procesu nikjer ni bil uporabljen svinec – vse plošče, komponente in pasta ustrezajo standardu RoHS - da me ne bo pekla vest, ko jih bom ljudem delil.

Moja vizitka uporablja Linux
Pri tej seriji sem naredil manjšo napako, vendar spajkalna pasta odpušča napake in vse je šlo dobro

Vsaka komponenta je potrebovala približno 10 sekund, da se je postavila na mesto, zato sem poskušal ohraniti čim manj komponent. Več podrobnosti o načrtovanju zemljevidov lahko preberete v drugem moj podroben članek.

Seznam materialov in stroškov

Držal sem se strogega proračuna. In vizitka se je izkazala, kot je bilo predvideno - ne moti je dati! Seveda je ne bom dal vsem, saj izdelava vsake kopije vzame čas, moj čas pa ni upoštevan v ceni vizitke (je nekako zastonj).

Komponenta
Cena

F1C100s
$1.42

PCB
$0.80

8 MB flash
$0.17

Vse druge komponente
$0.49

Skupno
$2.88

Seveda so tu tudi stroški, ki jih je težko izračunati, kot je na primer dobava (saj je porazdeljena na komponente, namenjene več projektom). Je pa za ploščo, ki podpira Linux, vsekakor precej poceni. Ta razčlenitev daje tudi dobro predstavo o tem, koliko podjetja stane izdelava naprav v najnižjem cenovnem segmentu: lahko ste prepričani, da podjetja stane celo manj kot mene!

možnosti

Kaj naj rečem? Kartica zažene zelo močno ogoljen Linux v 6 sekundah. Zaradi oblike in cene kartica nima V/I, omrežne podpore ali kakršnega koli pomembnega prostora za shranjevanje za izvajanje težkih programov. Kljub temu mi je uspelo v firmware sliko stlačiti kup zanimivosti.

USB

Bilo je veliko odličnih stvari, ki bi jih bilo mogoče narediti z USB-jem, vendar sem izbral najpreprostejšo možnost, da je verjetneje, da bo ljudem uspelo, če se bodo odločili preizkusiti mojo vizitko. Linux omogoča kartici, da se obnaša kot "naprava" s podporo Ogrodje pripomočka. Vzel sem nekaj gonilnikov iz prejšnjih projektov, ki so vključevali ta procesor, tako da imam dostop do vseh funkcij ogrodja pripomočka USB. Odločil sem se posnemati vnaprej ustvarjen bliskovni pogon in omogočiti lupinski dostop prek navideznih serijskih vrat.

Školjka

Ko se prijavite kot root, lahko na serijski konzoli izvajate naslednje programe:

  • rogue: klasična pustolovska igra Unix dungeon crawling;
  • 2048: preprosta igra 2048 v konzolnem načinu;
  • bogastvo: izhod različnih pretencioznih izrekov. Odločil sem se, da sem ne bom vključil celotne baze citatov, da bi pustil prostor za druge funkcije;
  • mikropiton: Zelo majhen tolmač Pythona.

Emulacija bliskovnega pogona

Med prevajanjem orodja za gradnjo ustvarijo majhno sliko FAT32 in jo dodajo kot eno od particij UBI. Podsistem pripomočkov Linux predstavlja njegov osebni računalnik kot napravo za shranjevanje.

Če vas zanima, kaj se prikaže na bliskovnem pogonu, boste to najlažje storili tako, da preberete viri. Tu je tudi več fotografij in moj življenjepis.

Viri

Viri

Moje Buildroot drevo je objavljeno na GitHub - thirtythreeforty/businesscard-linux. Obstaja koda za ustvarjanje slike NOR flash, ki se namesti z uporabo načina prenosa USB procesorja. Ima tudi vse definicije paketov za igre in druge programe, ki sem jih potisnil v Buildroot, potem ko je vse delovalo. Če vas zanima uporaba F1C100 v vašem projektu, bi bilo to odlično izhodišče (lahko postavljaj mi vprašanja).
uporabil sem lepo izveden projekt Linux v4.9 za F1C100s avtor Icenowy, rahlo preoblikovan. Moja kartica deluje skoraj standardno v5.2. Je na GitHubu - thirtythreeforty/linux.
Mislim, da imam danes najboljša vrata U-Boot za F1C100 na svetu in delno temelji tudi na Icenowyjevem delu (presenetljivo je bilo, da je bilo pravilno delovanje U-Boota precej frustrirajoče opravilo). Dobite ga lahko tudi na GitHubu - thirtythreeforty/u-boot.

Dokumentacija za F1C100s

Našel sem precej skopo dokumentacijo za F1C100 in jo objavljam tukaj:

Nalagam za radovedneže. moj projektni diagram.

Moja vizitka uporablja Linux

Zaključek

Med razvojem tega projekta sem se veliko naučil – to je bil moj prvi projekt z uporabo pečice za spajkanje reflow. Naučil sem se tudi najti vire za komponente s slabo dokumentacijo.

Uporabil sem svoje obstoječe izkušnje z vdelanim Linuxom in izkušnje z razvojem plošč. Projekt ni brez napak, vendar dobro pokaže vse moje sposobnosti.

Tistim, ki jih zanimajo podrobnosti dela z vdelanim Linuxom, predlagam, da preberejo mojo serijo člankov o tem: Obvladovanje vgrajenega Linuxa. Tam podrobno govorim o tem, kako ustvariti programsko in strojno opremo iz nič za majhne in poceni sisteme Linux, podobne moji vizitki.

Vir: www.habr.com

Dodaj komentar