Kuv daim npav lag luam tab tom khiav Linux

Kev txhais ntawm ib tsab xov xwm los ntawm blog ncej engineer George Hilliard

Kuv daim npav lag luam tab tom khiav Linux
Nyem tau

Kuv yog embedded systems engineer. Nyob rau hauv kuv lub sij hawm dawb, kuv feem ntau nrhiav ib yam dab tsi uas yuav siv tau nyob rau hauv lub tsim ntawm yav tom ntej systems, los yog ib yam dab tsi los ntawm kuv nyiam.

Ib qho chaw zoo li no yog cov khoos phis tawj pheej yig uas tuaj yeem khiav Linux, thiab pheej yig dua qhov zoo dua. Yog li kuv khawb qhov tob luav qhov ntawm cov txheej txheem tsis meej.

Kuv xav tias, "Cov txheej txheem no pheej yig heev uas lawv tuaj yeem siv tau pub dawb." Thiab tom qab qee lub sijhawm, lub tswv yim tuaj rau kuv los ua daim npav liab qab rau Linux hauv daim ntawv ntawm daim npav lag luam.

Thaum kuv xav txog nws, kuv txiav txim siab tias nws yuav yog qhov ua tau zoo heev. kuv twb muaj lawm tau pom hluav taws xob daim npav ua lag luam rau nws, thiab lawv muaj ntau lub peev xwm nthuav dav, xws li emulating flash cards, flashing light bulbs, or even wireless data transmission. Txawm li cas los xij, kuv tsis tau pom daim npav lag luam nrog kev txhawb nqa Linux.

Yog li kuv ua kuv tus kheej ib leeg.

Qhov no yog qhov tiav version ntawm cov khoom. Ua tiav qhov tsawg kawg nkaus ARM lub computer khiav kuv cov kev cai version ntawm Linux ua nrog Buildroot.

Kuv daim npav lag luam tab tom khiav Linux

Nws muaj USB chaw nres nkoj hauv kaum. Yog tias koj txuas rau lub khoos phis tawj, nws khau raj hauv li 6 vib nas this thiab pom tau tias yog daim npav flash thiab qhov chaw nres nkoj virtual uas koj tuaj yeem nkag mus rau hauv daim npav plhaub. Ntawm lub flash drive yog README cov ntaub ntawv, ib daim qauv ntawm kuv daim ntawv qhia ua haujlwm thiab ob peb daim duab ntawm kuv. Lub plhaub muaj ntau yam kev ua si, Unix classics zoo li hmoov zoo thiab neeg siab phem, ib qho me me ntawm qhov kev ua si 2048 thiab tus neeg txhais lus MicroPython.

Tag nrho cov no yog ua tiav siv lub me me heev 8 MB flash nti. Lub bootloader haum rau 256 KB, lub ntsiav yuav siv li 1,6 MB, thiab tag nrho cov hauv paus ntaub ntawv yuav siv sij hawm li 2,4 MB. Yog li ntawd, muaj ntau qhov chaw seem rau lub virtual flash drive. Kuj tseem muaj cov npe hauv tsev uas sau tau yog tias leej twg ua txhua yam lawv xav khaws cia. Qhov no tag nrho kuj tau txais kev cawmdim ntawm lub flash nti.

Tag nrho cov cuab yeej raug nqi tsawg dua $ 3. Nws yog pheej yig txaus muab tam sim ntawd. Yog tias koj tau txais cov cuab yeej zoo li no los ntawm kuv, nws txhais tau hais tias feem ntau kuv tabtom sim ua rau koj nyiam.

Tsim thiab tsim

Kuv tsim thiab sau txhua yam ntawm kuv tus kheej. Nws yog kuv txoj hauj lwm thiab kuv nyiam nws, thiab ntau qhov kev sib tw tau nrhiav pheej yig txaus qhov chaw rau kev nyiam ua.

Kev xaiv ntawm processor yog qhov kev txiav txim siab tseem ceeb tshaj plaws uas cuam tshuam rau tus nqi thiab qhov ua tau ntawm qhov project. Tom qab kev tshawb fawb dav dav, kuv xaiv F1C100s, tus txheej txheem me me los ntawm Allwinner uas yog tus nqi-zoo (piv txwv li, damn pheej yig). Ob leeg RAM thiab CPU nyob rau hauv tib lub pob. Kuv yuav processors ntawm Taobao. Tag nrho lwm cov khoom tau yuav los ntawm LCSC.

Kuv xaj cov laug cam los ntawm JLC. Lawv ua 8 daim rau kuv rau $10. Lawv qhov zoo yog impressive, tshwj xeeb tshaj yog rau tus nqi; tsis zoo li OSHPark's, tab sis tseem zoo.

Kuv ua thawj batch matte dub. Lawv saib zoo nkauj, tab sis tau yooj yim heev av.

Kuv daim npav lag luam tab tom khiav Linux

Muaj ob peb teeb meem nrog thawj pawg. Ua ntej, USB connector tsis ntev txaus kom haum rau txhua qhov chaw nres nkoj USB. Qhov thib ob, lub flash lem tau ua tsis raug, tab sis kuv tau txais ib ncig ntawm qhov no los ntawm kev khoov cov neeg sib cuag.

Kuv daim npav lag luam tab tom khiav Linux

Tom qab kuaj xyuas txhua yam ua haujlwm, kuv xaj ib pawg tshiab ntawm cov laug cam; Koj tuaj yeem pom ib daim duab ntawm ib qho ntawm lawv thaum pib ntawm tsab xov xwm.

Vim qhov me me ntawm tag nrho cov khoom me me no, kuv tau txiav txim siab los mus rau reflow soldering siv pheej yig qhov cub. Kuv muaj kev nkag tau mus rau lub laser cutter, yog li kuv tau siv nws los txiav tawm cov stencil ntawm lub laminator zaj duab xis. Lub stencil tig tawm zoo heev. Lub 0,2 hli txoj kab uas hla qhov rau lub processor hu yuav tsum tau kev saib xyuas tshwj xeeb los xyuas kom meej cov khoom zoo - nws yog ib qho tseem ceeb kom ua kom pom tseeb lub laser thiab xaiv nws lub hwj chim.

Kuv daim npav lag luam tab tom khiav Linux
Lwm cov boards ua haujlwm zoo los tuav lub rooj tsavxwm thaum thov muab tshuaj txhuam.

Kuv thov solder paste thiab positioned cov khoom ntawm tes. Kuv paub tseeb tias cov hmoov txhuas tsis siv nyob qhov twg hauv cov txheej txheem - tag nrho cov laug cam, cov khoom siv thiab muab tshuaj txhuam raws li tus qauv RoHS - yog li ntawd kuv lub siab yuav tsis tsim txom kuv thaum kuv muab faib rau tib neeg.

Kuv daim npav lag luam tab tom khiav Linux
Kuv tau ua yuam kev me ntsis nrog cov khoom siv no, tab sis cov tshuaj txhuam hniav zam txim rau qhov yuam kev, thiab txhua yam mus ua ke zoo

Txhua yam khoom siv li 10 vib nas this rau txoj hauj lwm, yog li kuv tau sim ua kom tus naj npawb ntawm cov khoom kom tsawg. Cov ntsiab lus ntxiv txog kev tsim daim ntawv qhia tuaj yeem nyeem hauv lwm qhov kuv cov ncauj lus kom ntxaws.

Daim ntawv teev cov khoom siv thiab cov nqi

Kuv nyam rau ib qho nyiaj txiag nruj. Thiab daim npav lag luam tau muab tawm raws li qhov xav tau - Kuv tsis xav muab nws tam sim ntawd! Tau kawg, kuv yuav tsis muab rau txhua tus, vim nws yuav siv sijhawm los ua txhua daim ntawv, thiab kuv lub sijhawm tsis suav nrog tus nqi ntawm daim npav lag luam (nws yog hom dawb).

Txheej Txheem
Nqi

F1C100s
$1.42

PCB
$0.80

8 MB flash
$0.17

Tag nrho lwm yam khoom
$0.49

Tag nrho
$2.88

Lawm, kuj tseem muaj cov nqi uas nyuaj rau xam, xws li kev xa khoom (vim nws tau muab faib rau ntawm cov khoom npaj rau ntau qhov haujlwm). Txawm li cas los xij, rau lub rooj tsavxwm uas txhawb nqa Linux, nws yeej pheej yig heev. Qhov kev puas tsuaj no tseem muab lub tswv yim zoo txog qhov nws raug nqi ntau npaum li cas cov tuam txhab los ua cov khoom siv hauv cov nqi qis tshaj plaws: koj tuaj yeem paub tseeb tias nws cov tuam txhab raug nqi txawm tias nws raug nqi rau kuv!

Nta

Yuav hais li cas? Daim npav khau boots hnyav heev rub tawm Linux hauv 6 vib nas this. Vim yog daim ntawv foos thiab tus nqi, daim npav tsis muaj I / O, kev txhawb nqa network, lossis ib qho tseem ceeb ntawm kev khaws cia kom ua haujlwm hnyav. Txawm li cas los xij, kuv tau tswj hwm ntau yam nthuav dav rau hauv daim duab firmware.

USB

Muaj ntau yam txias uas tuaj yeem ua tiav nrog USB, tab sis kuv xaiv qhov kev xaiv yooj yim tshaj plaws kom tib neeg yuav tau txais nws ua haujlwm ntau dua yog tias lawv txiav txim siab sim kuv daim npav ua lag luam. Linux tso cai rau daim npav coj tus cwj pwm zoo li "duab" nrog kev txhawb nqa Gadget Framework. Kuv coj qee tus tsav tsheb los ntawm cov haujlwm dhau los uas suav nrog cov txheej txheem no, yog li kuv tau nkag mus rau tag nrho cov haujlwm ntawm USB gadget moj khaum. Kuv txiav txim siab los ua raws li qhov ua ntej tsim flash drive thiab muab lub plhaub nkag los ntawm qhov chaw nres nkoj virtual.

Plhaub

Tom qab nkag mus hauv hauv paus, koj tuaj yeem khiav cov kev pabcuam hauv qab no ntawm lub serial console:

  • neeg siab phem: ib qho classic Unix qhov taub nkag mus taug txuj kev nyuaj game;
  • 2048: kev ua si yooj yim ntawm 2048 hauv console hom;
  • hmoov zoo: tawm ntawm ntau yam lus dag. Kuv txiav txim siab tsis suav nrog tag nrho cov ntaub ntawv pov thawj ntawm no kom tawm hauv chav rau lwm yam nta;
  • micropython: Tus neeg txhais lus Python me heev.

Flash Drive Emulation

Thaum muab tso ua ke, cov cuab yeej tsim tsim cov duab me FAT32 thiab ntxiv nws ua ib qho ntawm UBI partitions. Lub Linux Gadget Subsystem nthuav tawm nws lub PC ua lub cuab yeej cia.

Yog tias koj xav pom dab tsi tshwm sim hauv flash drive, qhov yooj yim tshaj plaws los ua qhov no yog los ntawm kev nyeem ntawv qhov chaw. Tseem muaj ob peb daim duab thiab kuv qhov kev xav tau.

Cov kev pab

Qhov chaw

Kuv tsob ntoo Buildroot tau muab tso rau ntawm GitHub - thirtythreeforty/businesscard-linux. Muaj cov cai rau tsim ib daim duab NOR flash, uas yog ntsia siv USB download hom ntawm lub processor. Nws kuj muaj tag nrho cov ntsiab lus pob rau kev ua si thiab lwm yam kev pab cuam uas kuv thawb rau hauv Buildroot tom qab kuv tau txais txhua yam ua haujlwm. Yog tias koj xav siv F1C100s hauv koj qhov project, qhov no yuav yog qhov pib zoo (xav tias dawb nug kuv cov lus nug).
kuv siv zoo nkauj executed project Linux v4.9 rau F1C100s los ntawm Icenowy, me ntsis redesigned. Kuv daim npav khiav yuav luag tus qauv v5.2. Nws nyob ntawm GitHub - thirtythreeforty/linux.
Kuv xav tias kuv muaj qhov chaw nres nkoj zoo tshaj plaws ntawm U-Boot rau F1C100s hauv ntiaj teb niaj hnub no, thiab nws kuj yog ib feem ntawm Icenowy txoj haujlwm (xws li, tau txais U-Boot los ua haujlwm zoo yog ib txoj haujlwm ntxhov siab heev). Koj tseem tuaj yeem tau txais nws ntawm GitHub - thirtythreeforty/u-boot.

Cov ntaub ntawv rau F1C100s

Kuv pom cov ntaub ntawv me me rau F1C100s, thiab kuv tau tshaj tawm nws ntawm no:

Kuv tabtom upload nws rau cov xav paub. kuv qhov project diagram.

Kuv daim npav lag luam tab tom khiav Linux

xaus

Kuv tau kawm ntau heev thaum lub sij hawm txoj kev loj hlob ntawm qhov project - nws yog kuv thawj qhov project siv lub reflow soldering qhov cub. Kuv kuj tau kawm yuav ua li cas thiaj nrhiav tau cov khoom siv rau cov khoom siv nrog cov ntaub ntawv tsis zoo.

Kuv tau siv kuv qhov kev paub dhau los nrog kev kos Linux thiab kev txhim kho pawg thawj coj. Qhov project tsis yog tsis muaj qhov tsis zoo, tab sis nws qhia tag nrho kuv cov txuj ci zoo.

Rau cov neeg txaus siab rau cov ntsiab lus ntawm kev ua haujlwm nrog embedded Linux, kuv xav kom nyeem kuv cov kab lus hais txog qhov no: Mastering Embedded Linux. Nyob ntawd kuv tham kom meej txog yuav ua li cas los tsim software thiab kho vajtse los ntawm kos rau me me thiab pheej yig Linux systems, zoo ib yam li kuv daim npav hu.

Tau qhov twg los: www.hab.com

Ntxiv ib saib