Përkthimi i artikullit nga inxhinieri George Hilliard
Klikohet
Unë jam inxhinier i sistemeve të integruara. Në kohën time të lirë, shpesh kërkoj diçka që mund të përdoret për të dizajnuar sisteme të ardhshme, ose ndonjë gjë që lidhet me interesat e mia.
Një nga këto fusha është kompjuterët e lirë, të cilët mund të mbështesin Linux, dhe sa më të lirë, aq më mirë. Prandaj, kam hyrë thellë në një krhop të panjohur të procesorëve të panjohur.
Mendova: "Këta procesorë janë kaq të lirë, saç mund t'i japësh pa pagesë". Dhe pas pak, më erdhi ideja të bëj një kartë të zbrazët për Linux në formatin e një vizitkarte.
Sapokam menduar për këtë, vendosa se do të ishte shumë e bukur ta realizoja. Unë kisha deri në Kështu që krijova një të tillë për vete.
Kjo është versioni përfundimtar i produktit. Një kompjuter minimal i plotë në ARM, në të cilin funksionon ve versi im i veçantë i Linux-it, i krijuar me Buildroot.
Në këndin e saj ka një port USB. Nëse e lidheni me kompjuterin, ngarkohet për rreth 6 sekonda dhe shfaqet si një kartë flash dhe një port seri virtual, përmes të cilit mund të krijoni lidhjen në shell-in e kartës. Në flash ndodhet një skedar README, një kopje e CV-së time dhe disa fotografi të mia. Në shell ka disa lojëra, klasike nga Unix si fortune dhe rogue, një version i vogël i lojës 2048 dhe një interpretues MicroPython.

TĂ« gjitha kĂ«to janĂ« bĂ«rĂ« me njĂ« çip flash shumĂ« tĂ« vogĂ«l prej 8 MB. Bootloader-i zĂ« 256 KB, bĂ«rthama zĂ« 1.6 MB, dhe e gjithĂ« sistemi i skedarĂ«ve root Ă«shtĂ« 2.4 MB. Prandaj, ndodhet shumĂ« hapĂ«sirĂ« pĂ«r flash-in virtual. Aty ka gjithashtu njĂ« direktore shtĂ«piake, e cila Ă«shtĂ« e aksesueshme pĂ«r shkrim â nĂ«se dikush bĂ«n ndonjĂ« gjĂ« qĂ« dĂ«shiron ta ruajĂ«. TĂ« gjitha kĂ«to ruhen gjithashtu nĂ« chipin flash.
E gjithĂ« pajisja kushton mĂ« pak se $3. ĂshtĂ« e mjaftueshme pĂ«r t'u shpĂ«rndarĂ«. NĂ«se keni marrĂ« njĂ« pajisje tĂ« tillĂ« nga unĂ«, kjo do tĂ« thotĂ« se me siguri po pĂ«rpiqem t'ju befasoj.
Dizajnimi dhe ndërtimi
I dizajnuar dhe ndërtuar nga unë vetë. Ky është profesionim im, dhe më pëlqen, dhe pjesa më e madhe e vështirësive ishte në gjetjen e pjesëve të mjaftueshme të lira për këtë hobi.
Zgjedhja e procesorit ishte vendimi më i rëndësishëm që ndikon në çmimin dhe realizueshmërinë e projektit. Pas kërkimeve aktive, kam zgjedhur F1C100s, një procesor relativisht të panjohur nga Allwinner, i optimizuar për çmimin (dmth, shumë i lirë). Ram dhe CPU ndodhen në një trup të vetëm. Kam blerë procesorët në Taobao. Të gjitha pjesët e tjera janë blerë në LCSC.
Karta i kam porositur nga JLC. Për $8 më bënë 10 kopje. Cilësia e tyre është e jashtëzakonshme, sidomos për një çmim të tillë; nuk janë aq të rregullta sa ato të OSHPark, por gjithsesi duken mirë.
Bashkësia e parë e bëra mat qëro. Duken të bukura, por ishin shumë të ndjeshme.
Kishte disa probleme me bashkëngjitjen e parë. E para, konektori USB nuk ishte i mjaftueshëm i gjatë për të qëndruar mirë në ndonjë port USB. E dyta, shinat për flash ishin bërë gabimisht, por e zgjidhja këtë duke ndryshuar kontaktet.

Pas verifikimit të gjithçkaje në punë, porosita një tjetër grup kartash; foto të njërit prej tyre mund ta shihni në fillim të artikullit.

Për shkak të madhësisë së vogël të këtyre komponentëve të vegjël, kam vendosur të përdor ashtuquajturin rrysh për të bashkuar pjesët e mia [reflow solder] duke përdorur
një furrë të lirë Për të mbajtur kartën gjatë aplikimit të pastës, janë të dobishme karta të tjera

Kam aplikur pastĂ«n e saldimit dhe vendosur komponentĂ«t manualisht. U angustova qĂ« asgjĂ« nĂ« proces nuk do tĂ« pĂ«rmbante plumb â tĂ« gjitha kartat, komponentĂ«t dhe pasta janĂ« nĂ« pĂ«rputhje me standardin
RoHS Me këtë grup kam bërë disa gabime, megjithatë pasta e saldimit fal gabimet, dhe gjithçka u mblodh normalisht.

Rreth 10 sekonda për çdo komponent kaloj, kështu që përpiqesha ta mbaja numrin e tyre minimal. Më shumë detaje rreth dizajnimit të kartës mund të lexoni në një tjetër
artikulli im të hollësishëm .
Lista e materialeve dhe çmimi
Isha byra një buxhet të ngushtë. Vizit karta doli ashtu siç e kisha imagjinuar - nuk më vjen keq t'ia jap! Natyrisht, nuk do t'ua jap të gjithëve, pasi krijimi i çdo ekzemplar kërkon kohë, dhe koha ime nuk llogaritet në çmimin e vizit kartës (është si e dhënë).
Komponenti
Ămimi
F1C100s
$1.42
PCB
$0.80
8MB flash
$0.17
Të gjitha komponentët e tjerë
$0.49
Në përfundim
$2.88
Natyrisht, ka edhe shpenzime të tjera, që janë të vështira për t'u llogaritur, si transporti (pasi shpërndahet midis komponentëve të destinuar për disa projekte). Megjithatë, për një bord që mbështet Linux, është padyshim shumë e lirë. Kjo ndarje gjithashtu jep një ide të mirë se sa shpenzojnë kompanitë për të bërë pajisje në segmentin më të ulët të çmimeve: mund të jeni të sigurt se kompanitë e bëjnë këtë edhe më lirë se unë!
Mundësitë
ĂfarĂ« tĂ« them? MĂ«nyra jonĂ« ngarkon njĂ« Linux shumĂ« tĂ« pĂ«rmbajtur brenda 6 sekondave. PĂ«r shkak tĂ« formĂ«s dhe çmimit, karta nuk ka I/O, suport tĂ« rrjetit, as ndonjĂ« hapĂ«sirĂ« tĂ« madhe grumbullimi pĂ«r tĂ« ekzekutuar programe tĂ« rĂ«nda. MegjithatĂ«, arrita tĂ« ngjis njĂ« shumĂ«llojshmĂ«ri interesantĂ«sh nĂ« imazhin e firmware-it.
USB
Me USB mund të kisha menduar shumë gjëra interesante, por zgjodha opsionin më të thjeshtë, në mënyrë që njerëzit të kenë një shans të madh që gjithçka të funksionojë, nëse vendosin të provojnë vizit kartën time. Linux i lejon kartës të sillet si një 'device' i mbështetur . Disa driverë i mora nga projekte të mëparshme që përfshinin këtë procesor, kështu që kam qasje në të gjithë funksionalitetin e platformës së USB gadget framework. Vendosa të emulloj një flash disk të gjeneruar më parë dhe t'i jap qasje shell-it përmes një porte seriale virtuale.
Shell
Pas login-it si përdorues root në konsolën seriale, mund të ekzekutoni programet e mëposhtme:
- rogue: një lojë aventurash klasike për Unix për dungeon;
- 2048: një lojë e thjeshtë 2048 në modin konsol;
- fortune: tregon thënie të ndryshme të mbushura me filozofi. Vendosa të mos përfshij këtu të gjithë bazën e citateve, për të lënë hapësirë për funksione të tjera;
- : një interpreter shumë të vogël Python.
Emulimi i Flash Drive
Gjatë kompilimit, mjetet e ndërtimit krijojnë një imazh të vogël FAT32 dhe e shtojnë atë si një nga seksionet e UBI. Subsistemi i gadgets Linux e paraqet atë PC si një pajisje ruajtëse.
Nëse jeni kurioz për atë çfarë shfaqet në flash, më e lehta është ta shihni duke shikuar në . Aty ndodhen gjithashtu disa fotografi dhe CV-ja ime.
Burimet
Burimet e kodit
Ndiqni pemën time të Buildroot në GitHub - . Aty ka kod për gjenerimin e imazhit të flash NOR, që instalohet përmes modalitetit të shkarkimit përmes USB në procesor. Gjithashtu, aty janë të gjitha përcaktimet e paketës për lojra dhe programe të tjera që i kam shtuar në Buildroot pasi gjithçka e kam bërë të funksionojë. Nëse dëshiron të përdorësh F1C100s në projektin tënd, do të jetë një pikë e shkëlqyer nisjeje (mos hezito ).
Unë kam përdorur Linux v4.9 për F1C100s nga Icenowy, pak e ndryshuar. Në kartën time punon pothuajse standardi v5.2. Ajo është në GitHub - .
Mendoj se kam sot portin më të mirë U-Boot për F1C100s në botë, dhe pjesërisht gjithashtu bazohet në punën e Icenowy (papritur, të bësh U-Boot të funksionojë siç duhet u tregua një detyrë e vështirë). Gjithashtu mund ta marrësh në GitHub - .
Dokumentacioni për F1C100s
Gjeta dokumentacion të varfër për F1C100s, dhe po e publikoj këtu:
- â informacion i pĂ«rgjithshĂ«m dhe pinout.
- â pĂ«rcaktime tĂ« regjistrave pĂ«r F1C600, qĂ« nĂ« tĂ« vĂ«rtetĂ« Ă«shtĂ« e njĂ«jta me F1C100s, por e rinovuar me mbĂ«shtetje tĂ« deklaruar pĂ«r Linux (haha!).
- Kam marrĂ« aktivisht informacion nga skema e â bordi i zhvillimit qĂ« kam pĂ«rdorur pĂ«r tĂ« konfiguruar softin.
Për kuriozët, po ngarkoj .

Përfundimi
Kam mësuar shumë gjatë zhvillimit të këtij projekti - ky është projekti im i parë ku kam përdorur furrë për të solder suvat. Gjithashtu kam mësuar të gjej burime për komponentë me dokumentacion të dobët.
Kam përdorur përvojën time të mëparshme me Linux të integruar dhe zhvillimin e bordeve. Projekti nuk është pa mangësi, por tregon mirë të gjitha aftësitë e mia.
Për ata që janë të interesuar për detajet e punës me Linux të integruar, ju inkurajoj të lexoni serinë time të artikujve në lidhje me këtë: . Aty tregoj në detaje se si të krijoni soft dhe harduer nga zero për sisteme të vogla dhe të lira Linux, si kjo vizit karta ime.
Burimi: habr.com
