Իմ այցեքարտը աշխատում է Linux-ով

Հոդվածի թարգմանություն բլոգի գրառում ինժեներ Ջորջ Հիլիարդ

Իմ այցեքարտը աշխատում է Linux-ով
Սեղմելի

Ես ներկառուցված համակարգերի ինժեներ եմ: Ազատ ժամանակ ես հաճախ եմ փնտրում ինչ-որ բան, որը կարող է օգտագործվել ապագա համակարգերի նախագծման մեջ, կամ ինչ-որ բան իմ հետաքրքրություններից:

Այդպիսի ոլորտներից են էժան համակարգիչները, որոնք կարող են գործարկել Linux, և որքան ավելի էժան, այնքան լավ: Այսպիսով, ես փորեցի անհայտ պրոցեսորների խորը նապաստակի փոսը:

Ես մտածեցի. «Այս պրոցեսորներն այնքան էժան են, որ դրանք գործնականում կարող են անվճար տրամադրվել»: Եվ որոշ ժամանակ անց միտքս ծագեց Linux-ի համար մերկ քարտ պատրաստել այցեքարտի ձևի գործոնով։

Երբ ես մտածեցի այդ մասին, որոշեցի, որ դա իսկապես հիանալի բան կլինի: Ես արդեն ունեմ տեսա էլեկտրոնային այցեքարտեր դեպի այն, և նրանք ունեին տարբեր հետաքրքիր հնարավորություններ, ինչպիսիք են ֆլեշ քարտերի նմանակումը, լույսի լամպերը թարթելը կամ նույնիսկ անլար տվյալների փոխանցումը: Այնուամենայնիվ, ես չեմ տեսել Linux-ի աջակցությամբ այցեքարտեր:

Այսպիսով, ես ինքս դարձա մեկը:

Սա արտադրանքի պատրաստի տարբերակն է: Ամբողջական նվազագույն ARM համակարգիչ, որն աշխատում է Linux-ի իմ հատուկ տարբերակով, որը կառուցվել է Buildroot-ով:

Իմ այցեքարտը աշխատում է Linux-ով

Անկյունում ունի USB պորտ։ Եթե ​​այն միացնեք համակարգչին, այն բեռնվում է մոտ 6 վայրկյանում և տեսանելի է որպես ֆլեշ քարտ և վիրտուալ սերիական պորտ, որի միջոցով կարող եք մուտք գործել քարտի պատյան: Ֆլեշ կրիչի վրա կա README ֆայլ, իմ ռեզյումեի պատճենը և իմ մի քանի լուսանկար: Կեղևն ունի մի քանի խաղեր, Unix-ի դասականներ, ինչպիսիք են fortune-ը և rogue-ը, 2048 խաղի փոքր տարբերակը և MicroPython թարգմանիչը:

Այս ամենն արվում է շատ փոքր 8 ՄԲ ֆլեշ չիպի միջոցով: Bootloader-ը տեղավորվում է 256 ԿԲ-ում, միջուկը զբաղեցնում է 1,6 ՄԲ, իսկ ամբողջ արմատային ֆայլային համակարգը՝ 2,4 ՄԲ: Հետեւաբար, վիրտուալ ֆլեշ կրիչի համար շատ տեղ է մնացել։ Կա նաև տնային գրացուցակ, որը կարելի է գրել, եթե որևէ մեկը անի այն, ինչ ցանկանում է պահպանել: Այս ամենը նույնպես պահվում է ֆլեշ չիպի վրա:

Ամբողջ սարքն արժե 3 դոլարից պակաս: Բավական էժան է նվիրելու համար: Եթե ​​դուք ինձանից նման սարք եք ստացել, նշանակում է, ամենայն հավանականությամբ, ես փորձում եմ ձեզ վրա տպավորություն թողնել։

Նախագծել և կառուցել

Ես ինքս նախագծել և հավաքել եմ ամեն ինչ: Դա իմ աշխատանքն է, և ես սիրում եմ այն, և դժվարությունների մեծ մասը հոբբիի համար բավական էժան մասեր գտնելն է:

Պրոցեսորի ընտրությունը ամենակարևոր որոշումն էր, որն ազդեց ծրագրի արժեքի և իրագործելիության վրա: Լայնածավալ հետազոտություններից հետո ես ընտրեցի F1C100s-ը՝ Allwinner-ի համեմատաբար քիչ հայտնի պրոցեսորը, որն օպտիմիզացված է ծախսերի համար (այսինքն՝ անիծյալ էժան): Երկու RAM-ը և CPU-ն գտնվում են նույն փաթեթում: Ես գնել եմ պրոցեսորներ Taobao-ում: Մնացած բոլոր բաղադրիչները ձեռք են բերվել LCSC-ից:

Ես պատվիրել եմ տախտակները JLC-ից: Ինձ համար 8 դոլար արեցին 10 օրինակ։ Նրանց որակը տպավորիչ է, հատկապես գնի համար; ոչ այնքան կոկիկ, որքան OSHPark-ը, բայց դեռ լավ տեսք ունի:

Ես պատրաստեցի առաջին խմբաքանակը փայլատ սև: Նրանք գեղեցիկ տեսք ունեին, բայց շատ հեշտությամբ կեղտոտվում էին։

Իմ այցեքարտը աշխատում է Linux-ով

Առաջին խմբաքանակի հետ կապված մի քանի խնդիր կար. Նախ, USB միակցիչը բավականաչափ երկար չէր ցանկացած USB պորտի մեջ ապահով տեղավորվելու համար: Երկրորդ, ֆլեշ հետքերը սխալ էին արված, բայց ես դա շրջանցեցի՝ թեքելով կոնտակտները։

Իմ այցեքարտը աշխատում է Linux-ով

Ստուգելուց հետո, որ ամեն ինչ աշխատում է, ես պատվիրեցի տախտակների նոր խմբաքանակ; Նրանցից մեկի լուսանկարը կարող եք տեսնել հոդվածի սկզբում։

Այս բոլոր փոքր բաղադրիչների փոքր չափերի պատճառով ես որոշեցի դիմել վերամշակման զոդման՝ օգտագործելով էժան վառարան. Ես մուտք ունեմ լազերային կտրիչ, այնպես որ ես այն օգտագործեցի լամինատորի թաղանթից զոդման տրաֆարետը կտրելու համար: տրաֆարետը բավականին լավ ստացվեց։ Պրոցեսորի կոնտակտների համար 0,2 մմ տրամագծով անցքերը հատուկ խնամք էին պահանջում բարձրորակ արտադրություն ապահովելու համար. կարևոր էր լազերի ճիշտ կենտրոնացումը և դրա հզորությունը ընտրելը:

Իմ այցեքարտը աշխատում է Linux-ով
Մյուս տախտակները լավ են աշխատում՝ տախտակը մածուկ քսելիս պահելիս:

Ես կիրառեցի զոդման մածուկ և ձեռքով տեղադրեցի բաղադրիչները: Ես համոզվեցի, որ կապարը գործընթացում որևէ տեղ չի օգտագործվել. բոլոր տախտակները, բաղադրիչները և մածուկը համապատասխանում են ստանդարտին RoHS -որ խիղճս ինձ չտանջի, երբ դրանք բաժանեմ մարդկանց։

Իմ այցեքարտը աշխատում է Linux-ով
Ես մի փոքր սխալ թույլ տվեցի այս խմբաքանակի հետ, բայց զոդման մածուկը ներում է սխալները, և ամեն ինչ լավ անցավ:

Յուրաքանչյուր բաղադրիչի տեղադրումը տևեց մոտ 10 վայրկյան, ուստի ես փորձեցի նվազագույնի հասցնել բաղադրիչների քանակը: Քարտեզի նախագծման մասին ավելի շատ մանրամասներ կարելի է կարդալ մեկ այլ բաժնում իմ մանրամասն հոդվածը.

Նյութերի ցանկը և արժեքը

Ես հավատարիմ էի խիստ բյուջեին: Եվ այցեքարտը ստացվեց այնպես, ինչպես նախատեսված էր, ես դեմ չեմ այն ​​տալ: Իհարկե, ես այն բոլորին չեմ տա, քանի որ յուրաքանչյուր պատճենը պատրաստելու համար ժամանակ է պահանջվում, և իմ ժամանակը հաշվի չի առնվում այցեքարտի արժեքի մեջ (դա մի տեսակ անվճար է):

Բաղադրիչ
Գին

F1C100s
$1.42

PCB
$0.80

8 ՄԲ ֆլեշ
$0.17

Մնացած բոլոր բաղադրիչները
$0.49

Ընդհանուր
$2.88

Բնականաբար, կան նաև ծախսեր, որոնք դժվար է հաշվարկել, օրինակ՝ առաքումը (քանի որ այն բաշխվում է մի քանի նախագծերի համար նախատեսված բաղադրիչների միջև)։ Այնուամենայնիվ, Linux-ի աջակցող տախտակի համար դա միանշանակ բավականին էժան է: Այս խզումը նաև լավ պատկերացում է տալիս այն մասին, թե որքան է արժե ընկերություններին ամենացածր գնային սեգմենտում սարքեր պատրաստելը. կարող եք վստահ լինել, որ այն ընկերություններին նույնիսկ ավելի քիչ արժե, քան ինձ:

· ¶ R'RѕR RјRѕR RЅRѕSЃS, Fe

Ինչ պետք է ասել? Քարտը 6 վայրկյանում գործարկում է շատ խզված Linux: Ձևի գործոնի և արժեքի պատճառով քարտը չունի I/O, ցանցային աջակցություն կամ որևէ զգալի պահեստ՝ ծանր ծրագրեր գործարկելու համար: Այնուամենայնիվ, ինձ հաջողվեց մի շարք հետաքրքիր բաներ խցկել որոնվածի պատկերի մեջ:

USB

Շատ հետաքրքիր բաներ կային, որոնք կարելի էր անել USB-ով, բայց ես ընտրեցի ամենապարզ տարբերակը, որպեսզի մարդիկ ավելի հավանական լինի, որ այն աշխատի, եթե որոշեն փորձել իմ այցեքարտը: Linux-ը թույլ է տալիս քարտին իրեն պահել «սարքի» պես՝ աջակցությամբ Գաջեթի շրջանակ. Ես վերցրեցի որոշ դրայվերներ նախորդ նախագծերից, որոնք ներառում էին այս պրոցեսորը, այնպես որ ես մուտք ունեմ USB գաջեթի շրջանակի բոլոր գործառույթները: Ես որոշեցի ընդօրինակել նախապես ստեղծված ֆլեշ կրիչը և տալ shell հասանելիություն վիրտուալ սերիական պորտի միջոցով:

Shell

Որպես root մուտք գործելուց հետո կարող եք գործարկել հետևյալ ծրագրերը սերիական վահանակի վրա.

  • Rogue. դասական Unix բանտում սողացող արկածային խաղ;
  • 2048. 2048-ի պարզ խաղ վահանակի ռեժիմում;
  • բախտ. տարբեր հավակնոտ ասացվածքների արդյունք: Ես որոշեցի չներառել ամբողջ մեջբերումների բազան այստեղ՝ այլ հնարավորությունների համար տեղ թողնելու համար.
  • միկրոպիթոնՇատ փոքր Python թարգմանիչ:

Flash Drive Emulation

Կազմման ընթացքում կառուցման գործիքները ստեղծում են փոքր FAT32 պատկեր և ավելացնում այն ​​որպես UBI միջնորմներից մեկը: Linux Gadget ենթահամակարգը ներկայացնում է իր համակարգիչը որպես պահեստավորման սարք:

Եթե ​​դուք հետաքրքրված եք տեսնել, թե ինչ է հայտնվում ֆլեշ կրիչի վրա, ապա դա անելու ամենահեշտ ձևը կարդալն է. աղբյուրները. Կան նաև մի քանի լուսանկարներ և իմ ռեզյումեն:

Ресурсы

Աղբյուրներ

Իմ Buildroot ծառը տեղադրված է GitHub-ում - երեսուներեք քառասուն/businesscard-linux. Կա NOR ֆլեշ պատկեր ստեղծելու կոդ, որը տեղադրվում է պրոցեսորի USB ներբեռնման ռեժիմի միջոցով։ Այն նաև ունի բոլոր փաթեթների սահմանումները խաղերի և այլ ծրագրերի համար, որոնք ես մտցրեցի Buildroot այն բանից հետո, երբ ամեն ինչ աշխատեց: Եթե ​​դուք հետաքրքրված եք օգտագործել F1C100s-ը ձեր նախագծում, սա հիանալի մեկնարկային կետ կլինի (ազատ զգալ ինձ հարցեր տվեք).
ես օգտագործել եմ գեղեցիկ կատարված նախագիծ Linux v4.9 F1C100s-ի համար Icenowy-ի կողմից, մի փոքր վերափոխված: Իմ քարտը աշխատում է գրեթե ստանդարտ v5.2. Այն GitHub-ում է - երեսուներեք քառասուն/linux.
Կարծում եմ, որ ես ունեմ U-Boot-ի լավագույն նավահանգիստը F1C100-ների համար այսօր աշխարհում, և այն նաև մասամբ հիմնված է Icenowy-ի աշխատանքի վրա (Զարմանալի է, որ U-Boot-ի պատշաճ աշխատանքի հասնելը բավականին զայրացնող խնդիր էր): Դուք կարող եք նաև ստանալ այն GitHub-ում. երեսուներեք քառասուն/u-boot.

Փաստաթղթեր F1C100s-ի համար

Ես գտա բավականին նոսր փաստաթղթեր F1C100-ների համար, և ես այն տեղադրում եմ այստեղ.

  • Allwinner F1C100s տվյալների թերթիկ - ընդհանուր տեղեկություններ և մատնանշում:
  • Allwinner F1C600 տեղեկատու ձեռնարկ – գրանցել սահմանումներ F1C600-ի համար, որն իրականում նույն F1C100-ն է, բայց վերանվանվել է հայտարարված Linux աջակցությամբ (հա!):
  • Ես ակտիվորեն տեղեկատվություն եմ վերցրել դիագրամից Sipeed-ի Lichee Nano – մշակման տախտակ, որն օգտագործել եմ ծրագրաշարը կարգավորելու համար:

Ես բեռնում եմ այն ​​հետաքրքրասերների համար: իմ նախագծի դիագրամը.

Իմ այցեքարտը աշխատում է Linux-ով

Ամփոփում

Այս նախագծի մշակման ընթացքում ես շատ բան սովորեցի. դա իմ առաջին նախագիծն էր՝ օգտագործելով վերամշակման զոդման վառարան: Ես նաև սովորեցի, թե ինչպես գտնել ռեսուրսներ վատ փաստաթղթերով բաղադրիչների համար:

Ես օգտագործեցի իմ առկա փորձը ներկառուցված Linux-ի և տախտակի զարգացման փորձի հետ: Նախագիծն առանց թերությունների չէ, բայց լավ է ցույց տալիս իմ բոլոր հմտությունները։

Նրանց համար, ովքեր հետաքրքրված են ներկառուցված Linux-ի հետ աշխատելու մանրամասներով, առաջարկում եմ կարդալ այս մասին իմ հոդվածների շարքը. Ներկառուցված Linux-ի յուրացում. Այնտեղ ես մանրամասնորեն խոսում եմ այն ​​մասին, թե ինչպես կարելի է զրոյից ստեղծել ծրագրակազմ և սարքաշար փոքր և էժան Linux համակարգերի համար, որոնք նման են իմ այցեքարտին:

Source: www.habr.com

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