Vizit kartım Linux ilə işləyir

Bir məqalənin tərcüməsi blog yazısı mühəndis George Hilliard

Vizit kartım Linux ilə işləyir
Tıklanabilir

Mən daxili sistem mühəndisiyəm. Boş vaxtlarımda mən tez-tez gələcək sistemlərin dizaynında istifadə oluna biləcək bir şey axtarıram və ya maraqlarımdan bir şey axtarıram.

Belə sahələrdən biri Linux-u işlədə bilən ucuz kompüterlərdir və nə qədər ucuz olsa, bir o qədər yaxşıdır. Beləliklə, mən qaranlıq prosessorların dərin bir dovşan çuxurunu qazdım.

Düşündüm ki, “Bu prosessorlar o qədər ucuzdur ki, onları praktiki olaraq pulsuz vermək olar”. Və bir müddət sonra mənə vizit kartının forma faktorunda Linux üçün çılpaq kart hazırlamaq fikri gəldi.

Bu barədə düşünəndən sonra qərara gəldim ki, bu, həqiqətən gözəl bir şey olacaq. Məndə artıq var gördüm elektron vizit kartları üzrə o, və onlar fleş kartları təqlid etmək, yanıb-sönən işıq lampaları və ya hətta simsiz məlumat ötürmə kimi müxtəlif maraqlı imkanlara malik idilər. Ancaq Linux dəstəyi ilə vizit kartları görmədim.

Beləliklə, mən özümü bir etdim.

Bu məhsulun hazır versiyasıdır. Buildroot ilə qurulmuş Linux-un xüsusi versiyasını işlədən tam minimal ARM kompüter.

Vizit kartım Linux ilə işləyir

Küncdə USB portu var. Onu kompüterə qoşarsanız, o, təxminən 6 saniyə ərzində yüklənir və kart qabığına daxil ola biləcəyiniz flash kart və virtual serial port kimi görünür. Fleş diskdə README faylı, CV-nin surəti və mənim bir neçə şəklim var. Qabığın bir neçə oyunu, taleh və yaramaz kimi Unix klassikləri, 2048 oyununun kiçik bir versiyası və MicroPython tərcüməçisi var.

Bütün bunlar çox kiçik 8 MB flash çipdən istifadə etməklə edilir. Yükləyici 256 KB-a uyğun gəlir, nüvə 1,6 MB, bütün kök fayl sistemi isə 2,4 MB yer tutur. Buna görə də, virtual flash sürücü üçün çox yer qalıb. Hər kəs saxlamaq istədiyi hər şeyi edərsə, yazıla bilən bir ev kataloqu da var. Bütün bunlar da flash çipdə saxlanılır.

Bütün cihazın qiyməti 3 dollardan azdır. Vermək üçün kifayət qədər ucuzdur. Əgər məndən belə bir cihaz almısınızsa, bu, çox güman ki, sizi heyran etməyə çalışıram.

Dizayn və qurmaq

Hər şeyi özüm hazırlamışam və yığmışam. Bu mənim işimdir və mən bunu sevirəm və problemin çoxu hobbi üçün kifayət qədər ucuz hissələri tapmaq olub.

Prosessor seçimi layihənin dəyərinə və mümkünlüyünə təsir edən ən vacib qərar idi. Geniş araşdırmadan sonra mən Allwinner-dən nisbətən az tanınan və sərfəli optimallaşdırılmış (yəni lənətə gəlmiş ucuz) prosessor olan F1C100-ləri seçdim. Həm RAM, həm də CPU eyni paketdə yerləşir. Taobao-da prosessorlar aldım. Bütün digər komponentlər LCSC-dən alınıb.

Mən lövhələri JLC-dən sifariş etdim. 8 dollara mənim üçün 10 nüsxə düzəltdilər. Onların keyfiyyəti xüsusilə qiymətə görə təsir edicidir; OSHPark kimi səliqəli deyil, amma yenə də yaxşı görünür.

İlk partiyanı mat qara etdim. Onlar gözəl görünürdülər, lakin çox asanlıqla çirklənirdilər.

Vizit kartım Linux ilə işləyir

İlk partiyada bir neçə problem var idi. Birincisi, USB konnektoru hər hansı bir USB portuna etibarlı şəkildə yerləşdirmək üçün kifayət qədər uzun deyildi. İkincisi, flaş treklər səhv düzəldildi, amma kontaktları əyərək bunun öhdəsindən gəldim.

Vizit kartım Linux ilə işləyir

Hər şeyin işlədiyini yoxladıqdan sonra yeni lövhələr toplusu sifariş etdim; Onlardan birinin fotosunu məqalənin əvvəlində görə bilərsiniz.

Bütün bu kiçik komponentlərin kiçik ölçüsünə görə mən istifadə edərək yenidən lehimləmə üsuluna müraciət etmək qərarına gəldim ucuz soba. Lazer kəsiciyə çıxışım var, ona görə də laminat filmindən lehimləmə trafaretini kəsmək üçün istifadə etdim. Stencil olduqca yaxşı çıxdı. Prosessor kontaktları üçün 0,2 mm diametrli deşiklər yüksək keyfiyyətli istehsalı təmin etmək üçün xüsusi qayğı tələb edirdi - lazerin düzgün fokuslanması və gücünün seçilməsi çox vacib idi.

Vizit kartım Linux ilə işləyir
Digər lövhələr pasta tətbiq edərkən lövhəni tutmaq üçün yaxşı işləyir.

Mən lehim pastası tətbiq etdim və komponentləri əllə yerləşdirdim. Prosesin heç bir yerində qurğuşun istifadə edilmədiyinə əmin oldum - bütün lövhələr, komponentlər və pastalar standartlara cavab verir RoHS - insanlara paylayanda vicdanım mənə əzab verməsin deyə.

Vizit kartım Linux ilə işləyir
Bu partiya ilə bir az səhv etdim, amma lehim pastası səhvləri bağışlayır və hər şey yaxşı getdi

Hər bir komponentin yerləşdirilməsi təxminən 10 saniyə çəkdi, ona görə də komponentlərin sayını minimuma endirməyə çalışdım. Xəritə dizaynı haqqında daha ətraflı məlumatı başqa bir məqalədə oxuya bilərsiniz mənim ətraflı məqaləm.

Materialların siyahısı və dəyəri

Mən ciddi büdcəyə sadiq qaldım. Və vizit kartı nəzərdə tutulduğu kimi çıxdı - onu verməyə fikir vermirəm! Əlbəttə ki, mən bunu hamıya verməyəcəyəm, çünki hər nüsxəni hazırlamaq üçün vaxt lazımdır və mənim vaxtım vizit kartının qiymətində nəzərə alınmır (bir növ pulsuzdur).

Komponent
Qiymət

F1C100s
$1.42

PCB
$0.80

8 MB flaş
$0.17

Bütün digər komponentlər
$0.49

Ümumi
$2.88

Təbii ki, çatdırılma (bir neçə layihə üçün nəzərdə tutulmuş komponentlər arasında bölüşdürüldüyü üçün) kimi hesablanması çətin olan xərclər də var. Bununla belə, Linux-u dəstəkləyən bir lövhə üçün bu, mütləq olduqca ucuzdur. Bu parçalanma həm də şirkətlərə ən aşağı qiymət seqmentində cihazlar hazırlamağın nə qədər baha başa gəldiyi barədə yaxşı bir fikir verir: əmin ola bilərsiniz ki, bu, şirkətlərə mənim xərcimdən də azdır!

İmkanları

Nə demək? Kart 6 saniyə ərzində çox ciddi şəkildə soyulmuş Linux-u işə salır. Forma faktoru və qiymətə görə kartın giriş/çıxışı, şəbəkə dəstəyi və ya ağır proqramları işə salmaq üçün hər hansı əhəmiyyətli həcmdə yaddaşı yoxdur. Buna baxmayaraq, mən proshivka şəklinə bir çox maraqlı şeylər daxil edə bildim.

USB

USB ilə edilə biləcək çox gözəl şeylər var idi, lakin mən ən sadə variantı seçdim ki, insanlar mənim vizit kartımı sınamaq qərarına gəlsələr, daha çox işə nail ola bilsinlər. Linux, kartın dəstəyi ilə "cihaz" kimi davranmasına imkan verir Gadget Çərçivəsi. Bu prosessorun daxil olduğu əvvəlki layihələrdən bəzi drayverləri götürmüşəm, ona görə də USB gadget çərçivəsinin bütün funksiyalarına çıxışım var. Əvvəlcədən hazırlanmış bir flash sürücünü təqlid etmək və virtual serial port vasitəsilə qabıq girişi vermək qərarına gəldim.

Qabıq

Kök kimi daxil olduqdan sonra serial konsolunda aşağıdakı proqramları işlədə bilərsiniz:

  • yaramaz: klassik Unix zindanında sürünən macəra oyunu;
  • 2048: konsol rejimində 2048-in sadə oyunu;
  • bəxt: müxtəlif iddialı deyimlərin çıxışı. Digər xüsusiyyətlərə yer vermək üçün bütün sitat bazasını buraya daxil etməməyə qərar verdim;
  • mikropiton: Çox kiçik bir Python tərcüməçisi.

Flash Sürücü Emulyasiyası

Kompilyasiya zamanı qurma alətləri kiçik bir FAT32 şəkli yaradır və onu UBI bölmələrindən biri kimi əlavə edir. Linux Gadget Alt Sistemi onun kompüterini saxlama cihazı kimi təqdim edir.

Fləş sürücüdə görünənləri görmək istəyirsinizsə, bunu etməyin ən asan yolu oxumaqdır mənbələr. Bir neçə fotoşəkil və mənim CV-im də var.

Resurslar

Mənbələr

Mənim Buildroot ağacım GitHub-da yerləşdirilib - thirtythreeforty/biznescard-linux. Prosessorun USB yükləmə rejimindən istifadə edərək quraşdırılmış NOR flash görüntüsünü yaratmaq üçün kod var. O, həmçinin hər şeyi işə saldıqdan sonra Buildroot-a daxil etdiyim oyunlar və digər proqramlar üçün bütün paket təriflərinə malikdir. Əgər layihənizdə F1C100-lərdən istifadə etmək istəyirsinizsə, bu əla başlanğıc nöqtəsi olardı (çəkinməyin) mənə suallar verin).
Mən istifadə etdim gözəl icra olunan layihə Icenowy tərəfindən F4.9C1s üçün Linux v100, bir qədər yenidən işlənib. Mənim kartım demək olar ki, standart v5.2 ilə işləyir. GitHub-da var - otuz üç qırx/linux.
Düşünürəm ki, bu gün dünyada F1C100-lər üçün ən yaxşı U-Boot portuna sahibəm və o, həm də qismən Icenowy-nin işinə əsaslanır (təəccüblüdür ki, U-Boot-un düzgün işləməsi olduqca əsəbi bir iş idi). Siz həmçinin GitHub-da əldə edə bilərsiniz - otuz üç qırx/u-boot.

F1C100s üçün sənədlər

F1C100-lər üçün olduqca seyrək sənədlər tapdım və onu burada yerləşdirirəm:

Maraqlananlar üçün yükləyirəm. layihə diaqramım.

Vizit kartım Linux ilə işləyir

Nəticə

Bu layihənin inkişafı zamanı çox şey öyrəndim - bu, reflow lehimləmə sobasından istifadə edərək ilk layihəm idi. Sənədləri zəif olan komponentlər üçün resursları necə tapmağı da öyrəndim.

Mövcud təcrübəmdən quraşdırılmış Linux və lövhənin inkişafı təcrübəsi ilə istifadə etdim. Layihə qüsursuz deyil, amma mənim bütün bacarıqlarımı yaxşı göstərir.

Daxili Linux ilə işləməyin təfərrüatları ilə maraqlananlar üçün bu barədə mənim silsilə məqalələrimi oxumağı təklif edirəm: Daxili Linux-u mənimsəmək. Orada mən danışıq kartıma bənzər kiçik və ucuz Linux sistemləri üçün sıfırdan proqram və avadanlıqların necə yaradılması barədə ətraflı danışıram.

Mənbə: www.habr.com

Добавить комментарий