Terjemahan artikel saka kirim blog insinyur George Hilliard
Bisa diklik
Aku insinyur sistem sing dipasang. Ing wektu luang, aku kerep golek sing bisa digunakake ing desain sistem mangsa, utawa soko saka kapentingan.
Salah sawijining wilayah kasebut yaiku komputer murah sing bisa mbukak Linux, lan luwih murah luwih apik. Dadi aku ndudhuk mudhun bolongan terwelu jero prosesor ora jelas.
Aku mikir, "Prosesor iki murah banget, mula bisa diwenehake gratis." Lan sawise sawetara wektu, idea teka kula kanggo nggawe kertu gundhul kanggo Linux ing wangun faktor kertu bisnis.
Sawise aku mikir babagan iki, aku mutusake yen bakal dadi perkara sing apik banget. Aku wis wis katonelektronikkertu bisnis kanggo iku, lan duwe macem-macem kabisan menarik, kayata niru kertu lampu kilat, bolam lampu sumunar, utawa malah transmisi data nirkabel. Nanging, aku durung ndeleng kertu bisnis kanthi dhukungan Linux.
Dadi aku nggawe dhewe siji.
Iki minangka versi produk sing wis rampung. Komputer ARM minimal lengkap sing nganggo versi Linux khusus sing dibangun nganggo Buildroot.
Wis port USB ing sudhut. Yen sampeyan nyambungake menyang komputer, boot ing bab 6 detik lan katon minangka kertu lampu kilat lan port serial virtual liwat kang bisa mlebu menyang Nihan kertu. Ing flash drive ana file README, salinan resume lan sawetara fotoku. Nihan duwe sawetara game, Unix klasik kaya rejeki lan nakal, versi cilik saka game 2048 lan interpreter MicroPython.
Kabeh iki rampung nggunakake chip lampu kilat 8 MB sing cilik banget. Bootloader pas karo 256 KB, kernel njupuk 1,6 MB, lan kabeh sistem file root njupuk 2,4 MB. Mulane, ana akeh ruang kanggo flash drive virtual. Ana uga direktori ngarep sing bisa ditulis yen ana sing nindakake apa wae sing pengin disimpen. Iki kabeh uga disimpen ing chip lampu kilat.
Kabeh piranti regane kurang saka $3. Cukup murah kanggo menehi. Yen sampeyan nampa piranti kaya ngono saka aku, mesthine aku nyoba ngematake sampeyan.
Desain lan mbangun
Aku ngrancang lan ngrakit kabeh dhewe. Tugasku lan aku seneng, lan akeh tantangan yaiku nemokake bagean sing cukup murah kanggo hobi kasebut.
Pilihan prosesor minangka keputusan sing paling penting sing mengaruhi biaya lan kelayakan proyek kasebut. Sawise riset ekstensif, aku milih F1C100s, prosesor relatif sethitik-dikenal saka Allwinner sing biaya-optimized (IE, peduli mirah). Loro RAM lan CPU dumunung ing paket sing padha. Aku tuku prosesor ing Taobao. Kabeh komponen liyane dituku saka LCSC.
Aku dhawuh Papan saka JLC. Dheweke nggawe 8 salinan kanggo aku kanthi rega $10. Kualitas nyengsemaken, utamané kanggo rega; ora rapi minangka OSHPark, nanging isih katon apik.
Aku nggawe matte batch pisanan ireng. Padha katon ayu, nanging gampang banget kotor.
Ana sawetara masalah karo batch pisanan. Kaping pisanan, konektor USB ora cukup suwe kanggo pas karo port USB apa wae. Kapindho, trek lampu kilat digawe kanthi salah, nanging aku ngubengi iki kanthi mlengkung kontak.
Sawise mriksa kabeh wis digunakake, Aku dhawuh kumpulan anyar Papan; Sampeyan bisa ndeleng foto salah sijine ing wiwitan artikel.
Amarga ukuran cilik kabeh komponen cilik iki, Aku mutusaké kanggo Reflow soldering nggunakake kompor murah. Aku duwe akses menyang pemotong laser, aku digunakake kanggo Cut metu stencil soldering saka film laminator. Stensil dadi cukup apik. Bolongan diameteripun 0,2 mm kanggo kontak prosesor mbutuhake perawatan khusus kanggo njamin manufaktur berkualitas tinggi - penting kanggo fokus laser kanthi bener lan milih kekuwatane.
Papan liyane bisa digunakake kanthi apik kanggo nahan papan nalika nglamar tempel.
Aku aplikasi tempel solder lan posisi komponen kanthi tangan. Aku nggawe manawa timbal ora digunakake ing ngendi wae ing proses kasebut - kabeh papan, komponen lan tempel ketemu standar RoHS - supaya ati nurani ora nyiksa aku nalika disebarake menyang wong.
Aku nggawe kesalahan tipis karo kumpulan iki, nanging tempel solder ngapura kesalahane, lan kabeh dadi apik
Saben komponèn njupuk bab 10 detik kanggo posisi, aku nyoba kanggo njaga jumlah komponen kanggo minimal. Rincian liyane babagan desain peta bisa diwaca ing liyane artikel rinci sandi.
Dhaptar bahan lan biaya
Aku macet kanggo budget ketat. Lan kertu bisnis dadi kaya sing dikarepake - aku ora keberatan menehi! Mesthi, aku ora bakal menehi metu kanggo saben wong, awit iku njupuk wektu kanggo nggawe saben salinan, lan wektu ora dijupuk menyang akun ing biaya kertu bisnis (iku jenis free).
Komponen
Biaya
F1C100s
$1.42
PCB
$0.80
Flash 8 MB
$0.17
Kabeh komponen liyane
$0.49
Total
$2.88
Mesthi, ana uga biaya sing angel dietung, kayata pangiriman (amarga disebarake ing antarane komponen sing dimaksudake kanggo sawetara proyek). Nanging, kanggo papan sing ndhukung Linux, mesthine cukup murah. Pecahan iki uga menehi ide sing apik babagan biaya perusahaan kanggo nggawe piranti ing segmen rega paling murah: sampeyan bisa yakin manawa biaya perusahaan luwih murah tinimbang biayaku!
Fitur
arep ngomong opo? Kertu boot Linux sing akeh banget diudani ing 6 detik. Amarga faktor wangun lan biaya, kertu ora duwe I / O, support jaringan, utawa jumlah pinunjul saka panyimpenan kanggo mbukak program abot. Nanging, aku bisa nggawe akeh perkara sing menarik menyang gambar perangkat kukuh.
USB
Ana akeh kelangan sing bisa ditindakake nganggo USB, nanging aku milih pilihan sing paling gampang supaya wong bisa kerja yen mutusake nyoba kertu bisnis. Linux ngidini kertu tumindak kaya "piranti" kanthi dhukungan Framework Gadget. Aku njupuk sawetara pembalap saka proyèk sadurungé sing klebu prosesor iki, supaya aku duwe akses kanggo kabeh fungsi saka framework USB gadget. Aku mutusake kanggo niru flash drive sing wis digawe lan menehi akses cangkang liwat port serial virtual.
Shell
Sawise mlebu minangka root, sampeyan bisa mbukak program ing ngisor iki ing konsol serial:
nakal: game petualangan crawling penjara Unix klasik;
2048: game prasaja 2048 ing mode console;
rejeki: output saka macem-macem ngandika pretentious. Aku mutusake ora nyakup kabeh database kutipan ing kene kanggo ninggalake ruangan kanggo fitur liyane;
Sajrone kompilasi, alat mbangun ngasilake gambar FAT32 cilik lan ditambahake minangka salah sawijining partisi UBI. Subsistem Gadget Linux nampilake PC minangka piranti panyimpenan.
Yen sampeyan kepengin weruh apa sing katon ing flash drive, cara paling gampang kanggo nindakake iki yaiku maca sumber. Ana uga sawetara foto lan resume.
Sumber Daya
Sumber
Wit Buildrootku dikirim ing GitHub - telung puluh telu puluh / businesscard-linux. Ana kode kanggo ngasilake gambar lampu kilat NOR, sing diinstal nggunakake mode download USB saka prosesor. Uga duwe kabeh definisi paket kanggo game lan program liyane sing aku push menyang Buildroot sawise aku entuk kabeh. Yen sampeyan kasengsem nggunakake F1C100s ing proyek sampeyan, iki bakal dadi titik wiwitan sing apik (ora bebas takon kula).
tak nggo proyek apik kaleksanan Linux v4.9 kanggo F1C100s dening Icenowy, rada redesigned. kertu sandi mlaku v5.2 meh standar. Iku ing GitHub - telung puluh telu puluh / linux.
Aku duwe port paling apik saka U-Boot kanggo F1C100s ing donya saiki, lan uga sebagéyan adhedhasar karya Icenowy (kaget, njaluk U-Boot bisa mlaku cukup tugas frustasi). Sampeyan uga bisa njaluk ing GitHub - telung puluh telu puluh / u-boot.
Dokumentasi kanggo F1C100s
Aku nemokake dokumentasi sing rada jarang kanggo F1C100s, lan aku ngirim ing kene:
Manual Referensi Allwinner F1C600 – ndhaftar definisi kanggo F1C600, kang bener F1C100s padha, nanging diganti jeneng karo support Linux ngumumaké (ha!).
Aku wis aktif nyilih informasi saka diagram saka Sipeed's Lichee Nano – Papan pangembangan sing digunakake kanggo ngatur piranti lunak.
Aku sinau akeh sajrone pangembangan proyek iki - iki minangka proyek pertamaku nggunakake oven solder reflow. Aku uga sinau carane golek sumber kanggo komponen karo dokumentasi miskin.
Aku nggunakake pengalaman sing wis ana karo pengalaman pangembangan Linux lan papan sing dipasang. Proyek kasebut ora tanpa cacat, nanging nuduhake kabeh katrampilanku kanthi apik.
Kanggo sing kepengin weruh rincian nggarap Linux sing dipasang, aku saranake maca seri artikel babagan iki: Nguasai Embedded Linux. Ing kana aku ngomong kanthi rinci babagan carane nggawe piranti lunak lan hardware saka awal kanggo sistem Linux sing cilik lan murah, padha karo kertu telponku.