నుండి ఒక వ్యాసం యొక్క అనువాదం బ్లాగ్ పోస్ట్ ఇంజనీర్ జార్జ్ హిలియార్డ్
క్లిక్ చేయదగినది
నేను ఎంబెడెడ్ సిస్టమ్స్ ఇంజనీర్ని. నా ఖాళీ సమయంలో, నేను తరచుగా భవిష్యత్ సిస్టమ్ల రూపకల్పనలో ఉపయోగించగల వాటి కోసం లేదా నా ఆసక్తుల నుండి ఏదైనా వెతుకుతాను.
లైనక్స్ను అమలు చేయగల చౌకైన కంప్యూటర్లు అటువంటి ప్రాంతంలో ఒకటి మరియు చౌకైనది మంచిది. కాబట్టి నేను అస్పష్టమైన ప్రాసెసర్ల యొక్క లోతైన కుందేలు రంధ్రం తవ్వాను.
నేను అనుకున్నాను, "ఈ ప్రాసెసర్లు చాలా చౌకగా ఉంటాయి, అవి ఆచరణాత్మకంగా ఉచితంగా ఇవ్వబడతాయి." మరియు కొంత సమయం తరువాత, వ్యాపార కార్డ్ యొక్క ఫారమ్ ఫ్యాక్టర్లో Linux కోసం బేర్ కార్డ్ని తయారు చేయాలనే ఆలోచన నాకు వచ్చింది.
ఒకసారి నేను దాని గురించి ఆలోచించాను, ఇది నిజంగా మంచి పని అని నేను నిర్ణయించుకున్నాను. నేను ఇప్పటికే రంపపుఎలక్ట్రానిక్వ్యాపార పత్రం కు ఇది, మరియు వారు ఫ్లాష్ కార్డ్లను అనుకరించడం, లైట్ బల్బులను ఫ్లాషింగ్ చేయడం లేదా వైర్లెస్ డేటా ట్రాన్స్మిషన్ వంటి వివిధ ఆసక్తికరమైన సామర్థ్యాలను కలిగి ఉన్నారు. అయితే, నేను Linux మద్దతుతో వ్యాపార కార్డ్లను చూడలేదు.
కాబట్టి నన్ను నేను ఒకరిగా చేసుకున్నాను.
ఇది ఉత్పత్తి యొక్క పూర్తి వెర్షన్. బిల్డ్రూట్తో నిర్మించబడిన నా అనుకూల వెర్షన్ Linuxని అమలు చేస్తున్న పూర్తి కనీస ARM కంప్యూటర్.
దీనికి మూలలో USB పోర్ట్ ఉంది. మీరు దీన్ని కంప్యూటర్కు కనెక్ట్ చేస్తే, అది దాదాపు 6 సెకన్లలో బూట్ అవుతుంది మరియు ఫ్లాష్ కార్డ్ మరియు వర్చువల్ సీరియల్ పోర్ట్గా కనిపిస్తుంది, దీని ద్వారా మీరు కార్డ్ షెల్లోకి లాగిన్ చేయవచ్చు. ఫ్లాష్ డ్రైవ్లో README ఫైల్, నా రెజ్యూమ్ కాపీ మరియు నా యొక్క అనేక ఫోటోలు ఉన్నాయి. షెల్ అనేక గేమ్లను కలిగి ఉంది, ఫార్చ్యూన్ మరియు రోగ్ వంటి Unix క్లాసిక్లు, గేమ్ 2048 యొక్క చిన్న వెర్షన్ మరియు మైక్రోపైథాన్ ఇంటర్ప్రెటర్.
ఇదంతా చాలా చిన్న 8 MB ఫ్లాష్ చిప్ ఉపయోగించి చేయబడుతుంది. బూట్లోడర్ 256 KBకి సరిపోతుంది, కెర్నల్ 1,6 MBని తీసుకుంటుంది మరియు మొత్తం రూట్ ఫైల్ సిస్టమ్ 2,4 MBని తీసుకుంటుంది. అందువల్ల, వర్చువల్ ఫ్లాష్ డ్రైవ్ కోసం చాలా స్థలం మిగిలి ఉంది. ఎవరైనా ఏదైనా సేవ్ చేయాలనుకున్నప్పుడు వ్రాయగలిగే హోమ్ డైరెక్టరీ కూడా ఉంది. ఇదంతా కూడా ఫ్లాష్ చిప్లో సేవ్ చేయబడుతుంది.
మొత్తం పరికరం ధర $3 కంటే తక్కువ. ఇది ఇవ్వడానికి తగినంత చౌకగా ఉంటుంది. మీరు నా నుండి అలాంటి పరికరాన్ని స్వీకరించినట్లయితే, నేను మిమ్మల్ని ఆకట్టుకోవడానికి ప్రయత్నిస్తున్నానని అర్థం.
డిజైన్ మరియు బిల్డ్
అన్నీ నేనే డిజైన్ చేసి అసెంబుల్ చేశాను. ఇది నా పని మరియు నేను దీన్ని ఇష్టపడుతున్నాను మరియు చాలా సవాలుగా అభిరుచి కోసం తగినంత చౌకైన భాగాలను కనుగొనడం.
ప్రాసెసర్ ఎంపిక అనేది ప్రాజెక్ట్ యొక్క ఖర్చు మరియు సాధ్యతను ప్రభావితం చేసే అత్యంత ముఖ్యమైన నిర్ణయం. విస్తృతమైన పరిశోధన తర్వాత, నేను F1C100sని ఎంచుకున్నాను, ఇది ఆల్విన్నర్ నుండి తక్కువ-తెలిసిన ప్రాసెసర్, ఇది ఖర్చు-ఆప్టిమైజ్ చేయబడింది (అంటే, చౌకైనది). RAM మరియు CPU రెండూ ఒకే ప్యాకేజీలో ఉన్నాయి. నేను Taobaoలో ప్రాసెసర్లను కొనుగోలు చేసాను. అన్ని ఇతర భాగాలు LCSC నుండి కొనుగోలు చేయబడ్డాయి.
నేను JLC నుండి బోర్డులను ఆర్డర్ చేసాను. వారు నా కోసం $8కి 10 కాపీలు చేశారు. వారి నాణ్యత ఆకట్టుకుంటుంది, ముఖ్యంగా ధర కోసం; OSHPark లాగా చక్కగా లేదు, కానీ ఇప్పటికీ బాగుంది.
నేను మొదటి బ్యాచ్ మ్యాట్ బ్లాక్ చేసాను. వారు అందంగా కనిపించారు, కానీ చాలా సులభంగా మురికిగా ఉన్నారు.
మొదటి బ్యాచ్లో కొన్ని సమస్యలు ఉన్నాయి. ముందుగా, USB కనెక్టర్ ఏదైనా USB పోర్ట్లకు సురక్షితంగా సరిపోయేంత పొడవు లేదు. రెండవది, ఫ్లాష్ ట్రాక్లు తప్పుగా తయారు చేయబడ్డాయి, కానీ పరిచయాలను వంచడం ద్వారా నేను దీని చుట్టూ తిరిగాను.
ప్రతిదీ పని చేస్తుందని తనిఖీ చేసిన తర్వాత, నేను కొత్త బ్యాచ్ బోర్డులను ఆదేశించాను; వ్యాసం ప్రారంభంలో మీరు వాటిలో ఒకదాని ఫోటోను చూడవచ్చు.
ఈ అన్ని చిన్న భాగాల యొక్క చిన్న పరిమాణం కారణంగా, నేను ఉపయోగించి రిఫ్లో టంకంను ఆశ్రయించాలని నిర్ణయించుకున్నాను చౌక స్టవ్. నాకు లేజర్ కట్టర్కి ప్రాప్యత ఉంది, కాబట్టి నేను లామినేటర్ ఫిల్మ్ నుండి టంకం స్టెన్సిల్ను కత్తిరించడానికి ఉపయోగించాను. స్టెన్సిల్ చాలా బాగా మారింది. ప్రాసెసర్ పరిచయాల కోసం 0,2 మిమీ వ్యాసం కలిగిన రంధ్రాలు అధిక-నాణ్యత తయారీని నిర్ధారించడానికి ప్రత్యేక శ్రద్ధ అవసరం - లేజర్ను సరిగ్గా కేంద్రీకరించడం మరియు దాని శక్తిని ఎంచుకోవడం చాలా క్లిష్టమైనది.
పేస్ట్ను వర్తించేటప్పుడు బోర్డుని పట్టుకోవడానికి ఇతర బోర్డులు బాగా పని చేస్తాయి.
నేను టంకము పేస్ట్ని వర్తింపజేసాను మరియు భాగాలను చేతితో ఉంచాను. ప్రక్రియలో ఎక్కడా సీసం ఉపయోగించబడలేదని నేను నిర్ధారించుకున్నాను - అన్ని బోర్డులు, భాగాలు మరియు పేస్ట్ ప్రమాణాలకు అనుగుణంగా ఉంటాయి RoHS - నేను వాటిని ప్రజలకు పంపిణీ చేసినప్పుడు నా మనస్సాక్షి నన్ను హింసించదు.
నేను ఈ బ్యాచ్తో చిన్న పొరపాటు చేసాను, కానీ టంకము పేస్ట్ తప్పులను మన్నిస్తుంది మరియు అంతా బాగానే జరిగింది
ప్రతి భాగం స్థానానికి దాదాపు 10 సెకన్లు పట్టింది, కాబట్టి నేను భాగాల సంఖ్యను కనిష్టంగా ఉంచడానికి ప్రయత్నించాను. మ్యాప్ రూపకల్పన గురించి మరిన్ని వివరాలను మరొకదానిలో చదవవచ్చు నా వివరణాత్మక వ్యాసం.
పదార్థాల జాబితా మరియు ఖర్చు
నేను కఠినమైన బడ్జెట్కు కట్టుబడి ఉన్నాను. మరియు వ్యాపార కార్డ్ ఉద్దేశించిన విధంగా మారింది - నేను దానిని ఇవ్వడానికి పట్టించుకోవడం లేదు! వాస్తవానికి, నేను ప్రతి ఒక్కరికీ ఇవ్వను, ఎందుకంటే ప్రతి కాపీని తయారు చేయడానికి సమయం పడుతుంది మరియు వ్యాపార కార్డ్ ధరలో నా సమయం పరిగణనలోకి తీసుకోబడదు (ఇది ఒక రకమైన ఉచితం).
భాగం
ధర
F1C100s
$1.42
PCB
$0.80
8MB ఫ్లాష్
$0.17
అన్ని ఇతర భాగాలు
$0.49
మొత్తం
$2.88
సహజంగానే, డెలివరీ (అనేక ప్రాజెక్ట్లకు ఉద్దేశించిన భాగాల మధ్య పంపిణీ చేయబడినందున) లెక్కించడం కష్టతరమైన ఖర్చులు కూడా ఉన్నాయి. అయినప్పటికీ, Linuxకు మద్దతు ఇచ్చే బోర్డు కోసం, ఇది ఖచ్చితంగా చాలా చౌకగా ఉంటుంది. ఈ విచ్ఛిన్నం తక్కువ ధర విభాగంలో పరికరాలను తయారు చేయడానికి కంపెనీలకు ఎంత ఖర్చవుతుందనే దాని గురించి కూడా మంచి ఆలోచన ఇస్తుంది: ఇది కంపెనీలకు నా ఖర్చు కంటే తక్కువ ఖర్చవుతుందని మీరు అనుకోవచ్చు!
అవకాశాలు
ఎం చెప్పాలి? కార్డ్ 6 సెకన్లలో చాలా ఎక్కువగా తొలగించబడిన Linuxని బూట్ చేస్తుంది. ఫారమ్ ఫ్యాక్టర్ మరియు ధర కారణంగా, కార్డ్లో I/O, నెట్వర్క్ మద్దతు లేదా భారీ ప్రోగ్రామ్లను అమలు చేయడానికి ఏదైనా గణనీయమైన నిల్వ లేదు. అయినప్పటికీ, నేను ఫర్మ్వేర్ ఇమేజ్లో కొన్ని ఆసక్తికరమైన విషయాలను క్రామ్ చేయగలిగాను.
USB
USBతో చాలా మంచి పనులు చేయవచ్చు, కానీ నేను సరళమైన ఎంపికను ఎంచుకున్నాను, తద్వారా వ్యక్తులు నా వ్యాపార కార్డ్ని ప్రయత్నించాలని నిర్ణయించుకుంటే అది పని చేసే అవకాశం ఎక్కువగా ఉంటుంది. Linux కార్డ్ మద్దతుతో "పరికరం" వలె ప్రవర్తించడానికి అనుమతిస్తుంది గాడ్జెట్ ఫ్రేమ్వర్క్. నేను ఈ ప్రాసెసర్ని కలిగి ఉన్న మునుపటి ప్రాజెక్ట్ల నుండి కొన్ని డ్రైవర్లను తీసుకున్నాను, కాబట్టి నేను USB గాడ్జెట్ ఫ్రేమ్వర్క్ యొక్క అన్ని కార్యాచరణలకు ప్రాప్యతను కలిగి ఉన్నాను. నేను ముందుగా రూపొందించిన ఫ్లాష్ డ్రైవ్ను అనుకరించాలని మరియు వర్చువల్ సీరియల్ పోర్ట్ ద్వారా షెల్ యాక్సెస్ ఇవ్వాలని నిర్ణయించుకున్నాను.
షెల్
రూట్గా లాగిన్ అయిన తర్వాత, మీరు సీరియల్ కన్సోల్లో క్రింది ప్రోగ్రామ్లను అమలు చేయవచ్చు:
రోగ్: ఒక క్లాసిక్ Unix చెరసాల క్రాలింగ్ అడ్వెంచర్ గేమ్;
2048: కన్సోల్ మోడ్లో 2048 యొక్క సాధారణ గేమ్;
అదృష్టం: వివిధ డాంబిక సూక్తుల అవుట్పుట్. ఇతర ఫీచర్ల కోసం గదిని వదిలివేయడానికి మొత్తం సైటేషన్ డేటాబేస్ను ఇక్కడ చేర్చకూడదని నేను నిర్ణయించుకున్నాను;
సంకలనం సమయంలో, బిల్డ్ టూల్స్ ఒక చిన్న FAT32 ఇమేజ్ని ఉత్పత్తి చేస్తాయి మరియు దానిని UBI విభజనలలో ఒకటిగా జోడిస్తుంది. Linux గాడ్జెట్ సబ్సిస్టమ్ అతని PCని నిల్వ పరికరంగా అందిస్తుంది.
ఫ్లాష్ డ్రైవ్లో కనిపించే వాటిని చూడడానికి మీకు ఆసక్తి ఉంటే, దీన్ని చేయడానికి సులభమైన మార్గం చదవడం మూలాలు. అనేక ఛాయాచిత్రాలు మరియు నా రెజ్యూమ్ కూడా ఉన్నాయి.
వనరులు
మూలాలు
నా బిల్డ్రూట్ చెట్టు GitHubలో పోస్ట్ చేయబడింది - thirtythreeforty/businesscard-linux. NOR ఫ్లాష్ ఇమేజ్ని రూపొందించడానికి కోడ్ ఉంది, ఇది ప్రాసెసర్ యొక్క USB డౌన్లోడ్ మోడ్ను ఉపయోగించి ఇన్స్టాల్ చేయబడింది. ఇది గేమ్లు మరియు ఇతర ప్రోగ్రామ్ల కోసం అన్ని ప్యాకేజీ నిర్వచనాలను కలిగి ఉంది, నేను ప్రతిదీ పని చేసిన తర్వాత నేను బిల్డ్రూట్లోకి నెట్టాను. మీ ప్రాజెక్ట్లో F1C100లను ఉపయోగించడానికి మీకు ఆసక్తి ఉంటే, ఇది గొప్ప ప్రారంభ స్థానం (సంకోచించకండి నన్ను ప్రశ్నలు అడగండి).
నేను వాడినాను అందంగా అమలు చేయబడిన ప్రాజెక్ట్ Icenowy ద్వారా F4.9C1s కోసం Linux v100, కొద్దిగా పునఃరూపకల్పన చేయబడింది. నా కార్డ్ దాదాపు ప్రామాణిక v5.2ని అమలు చేస్తుంది. ఇది GitHubలో ఉంది - ముప్పైమూడు నలభై/linux.
ఈ రోజు ప్రపంచంలోని F1C100ల కోసం U-Boot యొక్క అత్యుత్తమ పోర్ట్ నా వద్ద ఉందని నేను భావిస్తున్నాను మరియు ఇది Icenowy యొక్క పనిపై కూడా పాక్షికంగా ఆధారపడి ఉంటుంది (ఆశ్చర్యకరంగా, U-Boot సరిగ్గా పని చేయడం చాలా నిరాశపరిచే పని). మీరు దీన్ని GitHubలో కూడా పొందవచ్చు - ముప్పైమూడు నలభై/యు-బూట్.
F1C100s కోసం డాక్యుమెంటేషన్
నేను F1C100s కోసం చాలా తక్కువ డాక్యుమెంటేషన్ని కనుగొన్నాను మరియు నేను దానిని ఇక్కడ పోస్ట్ చేస్తున్నాను:
ఆల్విన్నర్ F1C600 రిఫరెన్స్ మాన్యువల్ - F1C600 కోసం నిర్వచనాలను నమోదు చేయండి, ఇది వాస్తవానికి అదే F1C100లు, కానీ డిక్లేర్డ్ Linux మద్దతుతో పేరు మార్చబడింది (ha!).
నేను రేఖాచిత్రం నుండి సమాచారాన్ని చురుకుగా తీసుకున్నాను సైపీడ్ యొక్క లిచీ నానో - సాఫ్ట్వేర్ను కాన్ఫిగర్ చేయడానికి నేను ఉపయోగించిన డెవలప్మెంట్ బోర్డ్.
ఈ ప్రాజెక్ట్ అభివృద్ధి సమయంలో నేను చాలా నేర్చుకున్నాను - ఇది రిఫ్లో టంకం ఓవెన్ని ఉపయోగించి నా మొదటి ప్రాజెక్ట్. పేలవమైన డాక్యుమెంటేషన్ ఉన్న భాగాల కోసం వనరులను ఎలా కనుగొనాలో కూడా నేను నేర్చుకున్నాను.
నేను పొందుపరిచిన Linux మరియు బోర్డు అభివృద్ధి అనుభవంతో నా ప్రస్తుత అనుభవాన్ని ఉపయోగించాను. ప్రాజెక్ట్ లోపాలు లేకుండా లేదు, కానీ ఇది నా నైపుణ్యాలన్నింటినీ బాగా చూపుతుంది.
ఎంబెడెడ్ Linuxతో పని చేసే వివరాలపై ఆసక్తి ఉన్నవారి కోసం, దీని గురించి నా కథనాల శ్రేణిని చదవమని నేను సూచిస్తున్నాను: ఎంబెడెడ్ లైనక్స్ మాస్టరింగ్. నా కాలింగ్ కార్డ్ మాదిరిగానే చిన్న మరియు చౌకైన Linux సిస్టమ్ల కోసం మొదటి నుండి సాఫ్ట్వేర్ మరియు హార్డ్వేర్ను ఎలా సృష్టించాలో అక్కడ నేను వివరంగా మాట్లాడతాను.