Bernamenûs, biçin hevpeyvînan

Bernamenûs, biçin hevpeyvînan
Wêne ji vîdyoyek kanalê hatiye girtin "Milîtan Amethysts»

Ez bi qasî 10 salan ji bo Linux-ê wekî bernameçêkerê pergalê xebitîm. Vana modulên kernelê (cihê kernelê), şeytanên cihêreng û bi hardware ji cîhê bikarhêner (cihê bikarhêner), bootloaderên cihêreng (u-boot, hwd.), firmwareya kontrolker û hêj bêtir dixebitin. Tewra carinan diqewime ku pêwendiya malperê qut bibe. Lê pir caran diqewime ku ez neçar bûm ku bi hesinek lêdanê re rûnim û bi sêwiranerên panelê yên çapkirî re têkilî deynim. Yek ji pirsgirêkên bi vî rengî ev e ku nirxandina asta jêhatiya we pir dijwar e, ji ber ku hûn karekî pir kûr dizanin, lê dibe ku hûn yekî din qet nizanin. Yekane riya têrker a ji bo têgihiştina ku hûn biçin ku derê û niha li wir çi ne ev e ku hûn biçin hevpeyvînan.

Di vê gotarê de ez dixwazim serpêhatiya xwe ya hevpeyivînê ya ji bo valahiyek wekî bernameçêkerê pergala Linux-ê, taybetmendiyên hevpeyivîn, kar, û meriv çawa asta zanîna xweya kesane bi danûstendina bi kardêrek paşerojê re binirxîne û tiştê ku hûn ne hewce ne binirxînin. jê hêvî dikin.

Di gotarê de dê pêşbaziyek piçûk bi xelatan hebe.

Taybetmendiyên pîşeyê

Bernamesazek ​​pergalê, di qada taybetî ya ku ez tê de xebitîm, gelemperî gelemperî ye: Min neçar ma ku hem kodê binivîsim hem jî hardware debug bikim. Û pir caran hewce bû ku tiştek ji xwe re bişewitîne. Dem bi dem, wusa dibû ku verastkirinên min ên li ser hardware paşê ji pêşdebiran re hatin veguheztin. Ji ber vê yekê, ji bo ku hûn di vî warî de bixebitin, hem di warê çerxa dîjîtal û hem jî di bernamesaziyê de pêdivî bi bingehek têr a zanînê heye. Ji ber vê yekê, hevpeyivînên ji bo pozîsyonek bernamenûsê pergalê bi gelemperî wekî lêgerînek pisporek elektronîkî xuya dikin.

Bernamenûs, biçin hevpeyvînan
Qereqola xebatê ya tîpîk ji bo bernamesazek ​​pergalê.

Wêneya li jor cîhê xebata min a tîpîk dema ku ajokaran xelet dike nîşan dide. Analîzatora mantiqê rastbûna peyamên hatine şandin nîşan dide, oscilloscope şeklê keviyên nîşanê dişopîne. Di heman demê de, debuggerê jtag di çarçovê de nebû, ya ku dema ku amûrên dakêşandina standard nema tê bikar anîn. Û hûn hewce ne ku hûn bi hemî van amûran re bixebitin.

Pir caran diqewime ku ji girtina hilberê ji sazkerek zûtir û hêsantir e ku meriv hin hêmanan ji nû ve bifiroşe û xeletiyên topolojiyê bi xwe rast bike. Û dûv re qereqolek lêdanê jî li cîhê karê we cîh digire.

Taybetmendiyek din a pêşkeftinê di asta ajoker û hardware de ev e ku Google arîkar nake. Pir caran divê hûn li ser pirsgirêka xwe li agahdarî bigerin, û sê girêdan hene, du ji wan pirsên we li ser hin forumê ne. An jî xirabtir, gava ku hûn rastî pirsek ji heman zilamê belengaz tê ku 5 sal berê ew di navnîşa posta kernel de pirsî û qet bersivek negirt. Di vê xebatê de, ji bilî xeletiyên di sêwirana hem hardware û hem jî nermalavê de, bi gelemperî xeletiyên belgekirinê têne rûxandin - dibe ku ev pirsgirêkên herî giran û ne xweş in. Carinan qeyd bi xeletî têne şirove kirin, an jî ji bo wan qet şirove tune. Pirsgirêkên weha tenê bi xistina jimareyên rasthatî bi zanistî li hin tomaran (cûreyek berevajî) têne çareser kirin. Pir caran diqewime ku pêvajo hin fonksiyonan dihewîne, lê ji bilî we tu kes vê fonksiyonê bicîh neaniye (nemaze heke pêvajo nû ye). Û ev tê vê wateyê ku li seranserê zeviyê bi rahijê dimeşin, ku 70% ji wan ji bo zarokan in. Lê dema ku belge hebe, bi xeletî jî hebe, ev jixwe pêşveçûn e. Pir caran diqewime ku qet belgeyek tune, û ew e ku gava ku di nav zeviyên mayinan de dimeşe dema ku hesin dişewite dest pê dike. Û erê, min jî bi serkeftî pirsgirêkên weha çareser kir.

Hevpeyvîn

Nerîna min ev e ku divê hûn herî kêm şeş mehan carekê biçin hevpeyivînan, her çend hûn karê xwe biperizin û nexwazin wî biguhezînin. Hevpeyvîn dihêle hûn asta xwe wekî pispor fam bikin. Bi baweriya min hevpeyivînên herî bi qîmet ew in ku têk diçin. Ew in yên ku herî rast destnîşan dikin ka kîjan stûnên zanîna we hewce ne ku werin baştir kirin.

Taybetmendiyek din a balkêş jî kalîteya hevpeyvînan e. Ev çavdêriya min e, û ne rast e, ez qebûl dikim ku ez tenê bextewar bûm. Ger hevpeyvîn li gorî senaryoyê derbas bibe:

  • ji me re behsa xwe bike;
  • Karên me yên wiha hene;
  • min bihejînie?

Û heke piştî vê diyalogê hûn ji hev hez dikin, hûn diçin kar, wê hingê, wekî qaîdeyek, pargîdanî û peywir pir xweş û têr dibin. Ger hevpeyivînek dişibe derbasbûna di nav 12 derdorên dojehê de: Hevpeyvîna yekem bi HR re, dûv re hevpeyivînek bi komek bernameçêker re, paşê derhêner, bêtir karên malê, hwd., Wê hingê bi gelemperî ev rêxistinên têkçûyî bûn ku min tê de nexebitî. ji bo pir dirêj. Dîsa, ev çavdêriyek kesane ye, lê wekî qaîdeyek, pir burokrasî û pêvajoyek kirêgirtinê ya dirêjkirî nîşan dide ku heman pêvajoyên rastîn di nav pargîdaniyê de pêk tê. Biryar hêdî hêdî û bêbandor têne girtin. Di heman demê de rewşên berevajî jî hebûn, dema ku derdorên dojehê hevpeyvînê hebûn, û pargîdaniyek mezin derket holê, û gava ku, piştî lêdanek li ser destikê, pargîdanî bû zozanek, lê ev kêm in.

Ger hûn difikirin ku senaryoya: hevdîtin, li ser xwe gotin û kar kirin, tenê di pargîdaniyên piçûk de heye, wê hingê na. Min ev yek di pargîdaniyên pir mezin de dît ku ji sedan zêdetir kes kar dikin û li bazarên cîhanê têne temsîl kirin. Ev mekanîzmayek normal e, nemaze heke we xwedan şopek dewlemend be û fersendê hebe ku hûn gazî kardêrên xwe yên berê bikin û li we bipirsin.

Ji bo min, ew nîşanek pir baş a pargîdaniyek e dema ku ew dipirsin ku nimûneyên proje û koda xwe nîşan bidin. Asta perwerdehiya serlêder yekser tê xuyang kirin. Û, wekî ji bo min, ji hêla hilbijartina berendaman ve, ev ji hevpeyivînên pêşandanê rêbaza hilbijartinê ya herî bi bandor e. Di rastiyê de, hûn dikarin di hevpeyvînek ji heyecanê de têk biçin, an, berevajî, li ser adrenalînê derkevin. Lê di xebata rastîn de, hûn nekarin bi karên rastîn re mijûl bibin. Û dema ku min bi xwe bi mirovan re hevpeyivîn kir ez rastî vê yekê hatim. Pisporek tê, xwe jêhatî nîşan dide, min jê hez kir, wî ji me hez kir. Û min mehekê bi pirsgirêka herî hêsan re têkoşîn kir, û di encamê de, bernamenûsek din di nav du rojan de ew çareser kir. Ez neçar bûm ku ji wî bernameçêker veqetim.

Ez bi taybetî di hevpeyvînan de qîmetê didim karên bernamesaziyê. Û yên ku divê rast di dema civînê de, di bin stres û karên malê de werin çareser kirin. Ya yekem nîşan dide ku hûn çiqas amade ne ku hûn bi lez û bez pirsgirêkan di rewşek stres û acîl de çareser bikin. Ya duyemîn asta jêhatîbûn û şiyana we ya lêgerîna agahdarî û çareserkirina pirsgirêkên heyî nîşan dide.

Cihên herî balkêş ên karê min li kompleksa berevaniya welatê me bûn. Di pêvajoya xebatê de, ez neçar bûm ku pirsgirêkên hêsan ên fantastîk ên ku bernamenûsên bazirganî qet xeyal jî nedikirin çareser bikim. Superkomputer, sêwirana routeran, pergalên şer ên cihêreng - ev pir balkêş e. Gava ku di dema meşê de hûn kompleksek dibînin ku koda we hilîne, ew bi rastî xweş e. Pir ecêb e, hevpeyivînên bi pargîdaniyên weha re bi gelemperî pir hêsan in, bi rastî, mîna wê, têne pejirandin (dibe ku taybetmendiyên artêşê, yên ku zêde hez nakin biaxivin), têne ser hev. Pirsgirêkên ku ez li wir rû bi rû bûm bi rastî balkêş û dijwar bûn. Bi ezmûnê re, derket holê ku ew ji bo fêrbûna ku bibin bernamenûsek pergalê ya kalîteyê baş in. Dezavantaj jî hene, û ev jî ne mûçeyên kêm e. Heya nuha, meaşê di kompleksa parastinê de, bi bonus û feydeyan, pir maqûl e. Wekî qaîdeyek, gelek burokrasî, demjimêrên kar ên dirêj, karên bilez ên bêdawî, û di bin stresek mezin de dixebitin. Di hin rewşan de, nepenî nayê derxistin, ku ji bo rêwîtiya derveyî hin pirsgirêkan zêde dike. Zêdetir, bê guman, zilma serdestan, û ev jî, mixabin, diqewime. Her çend ezmûna min a xebata bi nûnerek xerîdar re pir xweş e. Ev bandorek kolektîf a sê enstîtû û pargîdaniyên lêkolînê yên cihêreng ên ku bi fermanên parastina dewletê ve girêdayî ne.

Karên Hevpeyvînê

Ji bo ku ji şaştêgihiştinê dûr nekevin û ji bo ku ez pargîdaniyên ku min pê re hevpeyvîn kiriye eşkere nekim, ez ê qederê neceribînim û hûrguliyên wan diyar bikim. Lê ez ji bo her hevpeyivînekê, ji bo dema ku mirovan li min xerc kiriye, ji bo derfeta ku ez ji derve li xwe binerim spas dikim. Ez tenê dikarim bibêjim ku peywir ji bo pargîdaniyên mezin ên navneteweyî bûn ku li welatên cihê têne temsîl kirin.

Ez ê tiştê herî balkêş ji we re bibêjim: di dema hevpeyivînan de çi peywir têne dayîn. Bi gelemperî, pirsên herî gelemperî ji bo valahiya bernameçêkerek pergalê û bernameçêkerê mîkrokontroller, di hemî guhertoyên gengaz de, operasyonên bit in. Ji ber vê yekê, di vî warî de xwe herî baş amade bikin.

Mijara duyemîn a herî polarîz îşaret in, divê ev bi rastî ji diranên we derkeve. Da ku ew we di nîvê şevê de hişyar bikin û hûn dikarin her tiştî bibêjin û nîşan bidin.

Min pirs ji çend hevpeyvînan di serê xwe de dizîn, û ez ê wan li vir pêşkêş bikim, ji ber ku ez wan pir balkêş dibînim. Ez bi qestî bersiva van pirsan nadim da ku xwendevan bi xwe di şîroveyan de bersiva van pirsan bidin û dema ku di hevpeyvînek rastîn de derbas dibin piçek tozek hebe.

Pirsên Hejmar 1

I. Zanîna SI. Wateya navnîşên jêrîn çi ye:

const char * str;

char const * str;

const * char str;

char * const str;

const char const * str;

Ma hemî navnîşan rast in?

II. Çima ev bername dê xeletiyek dabeşkirinê bavêje?

int main ()
{
       fprintf(0,"hellon");
       fork();
       return(0);
}

III. To be jîr.

Darek yek metre dirêj heye. Deh kurmik bêhemdî bi ser wê de dikevin, ber bi aliyên cihê ve dizivirin. Leza livîna yek ango 1 m/s e. Ger kurmikek bi kurmikek din re rû bi rû bimîne, li dora xwe dizivire û berovajî wê dizivire. Dema herî zêde ya ku hûn hewce ne ku hûn li bendê bimînin ku hemî mêş ji çîtikê bikevin?

Hevpeyvîna din ji bo min têkçûnek bû, û ez wê di pratîka bernameya xwe de ya herî bikêr dibînim. Kûrahiya bêkêmasiya min nîşan da. Beriya vê hevpeyvînê, min bi van pirsan her yek ji wan nas dikir û tim û tim di pratîka min de dihatin rojevê, lê bi awayekî min zêde girîngî nedida wan û li gorî vê yekê min baş fam nedikir. Ji ber vê yekê, min di vê îmtîhanê de bi şermî têk çû. Û ez gelek spasdar im ku têkçûnek weha çêbû; bandora herî hişyar li ser min kir. Hûn difikirin ku hûn pisporek xweş in, hûn sêwirana çerxê, navgîn û xebata bi kernelê re dizanin. Û dûv re pirsên we yên rastîn hene û hûn diherikin. Îcar em bibînin.

Pirsên Hevpeyvînê #2

Pirsgirêkên Hardware.

  • Çawa bangên pergala linux-ê bi zimanê meclîsê li ser pêvajoyek ARM, li ser x86, têne saz kirin. Ferqa çi ye?
  • Çi amûrên hevdemkirinê hene? Kîjan amûrên hevdengkirinê dikarin di çarçoveyek qutbûnê de werin bikar anîn, kîjan nekare, û çima?
  • Cûdahiya di navbera otobusê i2c û otobusê spi de çi ye?
  • Çima di otobusa i2c de termînator hene û nirxa wan çi ye?
  • Dikare pêwendiya RS-232 TENÊ li ser du têlan bixebite: RX û TX? Li vir ez ê bersivê bidim: Derket holê ku ew xirab e, li 9600, lê ew dikare !!!
  • Û niha pirsa duyemîn: çima?
  • Awayê çêtirîn ji bo sazkirina xetên nîşan û hêzê di panelên pirreng de çi ye û çima? Hêza di hundurê qatan de, an xetên sînyalê di hundurê qatan de? (Pirs bi gelemperî li ser sêwirana dorpêçê ye).
  • Çima xetên cihêreng rêyên ku li her derê bi hev re diçin hene?
  • Otobusa RS-485. Bi gelemperî li ser xetek weha termînator hene. Lêbelê, me stêrkek stêrk heye, bi hejmareke guhêrbar modulên pêvekirinê. Ji bo nehiştina lihevdan û destwerdanê divê çi rêyên bikar bînin?
  • Darên sor û binary çi ne?
  • Meriv çawa bi cmake re dixebite?
  • Pirs li ser avakirina yocto Linux.

Armancên vê hevpeyvînê:

1. Fonksiyonek ku berovajî dibe binivîse uint32_t hemû bit. (xebata bi bîtan re di hevpeyvînan de pir populer e, ez wê pêşniyar dikim)
2.

int32_t a = -200;
uint32_t b = 200;
return *(uint32_t) * (&a)) > b;

Ev fonksiyon dê çi vegere? (çareseriya li ser kaxezê, bê komputer)

3. Fonksiyon ji bo jimartina navînî ya du hejmaran int32_t.

4. Di bernameyan de rêbazên derketinê çi ne, di nav de. di nav çemek xeletiyan de.

Hilbijartina sêyem nisbeten nû bû, û ez ê şaş nebim ger hîn pirsnameyek weha li wir hebe, ji ber vê yekê ez ê pargîdaniyê eşkere nekim da ku wan eşkere nekim... Lê bi gelemperî ez ê mînakek bidim ji pirsên mimkun, û heke hûn pirsên xwe nas dikin, wê hingê ez silav dikim :).

Pirsên Hevpeyvînê #3

  1. Nimûneyek ji koda veguheztina darê tê dayîn; pêdivî ye ku meriv bêje ka di vê kodê de çi tê kirin û xeletiyan destnîşan bike.
  2. Nimûneyek ji karanîna ls-ê binivîse. Bi vebijarka herî hêsan "-l".
  3. Nimûneyek bidin ka meriv çawa girêdana statîk û dînamîkî dike. Ferqa çi ye?
  4. RS-232 çawa dixebite? Cûdahiya di navbera RS-485 û RS-232 de çi ye? Cûdahiya di navbera RS-232 û RS-485 de ji nêrîna bernamenûsek çi ye?
  5. USB çawa dixebite (ji nêrîna bernamenûsek)?
  6. Wergera teksta teknîkî ji rûsî bo îngilîzî.

Hevpeyvînek serkeftî ne garantiya xebata serkeftî ye

Dibe ku ev beş ne ​​ji bo bernamenûsan be jî (her çend ji bo wan jî), lê bêtir ji bo HR-ê ye. Pargîdaniyên herî têrker bi hûrgulî li encamên hevpeyvînan nanêrin. Normal e ku meriv xeletiyan bike; pir caran ew li wê yekê dinêrin ku meriv çawa dizane pirsgirêkan çareser bike û sedemê çareser bike.

Yek ji pirsgirêkên sereke ev e ku berendamek di dema hevpeyivînan de pirsgirêkan bi serfirazî çareser dike, xwe wekî pisporek hêja nîşan dide, lê di yekem karê rastîn de têk diçe. Ez derewan nakim, ev bi min re jî hat. Min bi serfirazî di hemî derdorên dojehê re derbas kir, hemî karên ceribandinê çareser kir, lê di şert û mercên rastîn de ji ber bêtecrubeya hêsan kar pir dijwar derket. Çêbûn li ser keştiyê ne karê herî dijwar e. Ya herî dijwar ew e ku meriv li ser vê pargîdaniyê bimîne.

Ji ber vê yekê, ez ji bêtir pargîdaniyan bawer dikim ku bi namzedê re hevpeyivînên hêsan dikin û dibêjin: piştî meha yekem a xebatê, dê diyar bibe ka hûn ji me re guncan in an na. Ev nêzîkatiya herî guncaw e, erê, belkî hinekî biha ye, lê tavilê diyar dibe kî kî ye.

Ji bo hevpeyivînan vebijarkek din jî heye: gava ku hûn wê bi serfirazî derbas bikin, lê li ser bingeha encamên hevpeyivînê hûn fêm dikin ku karsaz bi tevahî kêm e. Ger ji min re were pêşniyar kirin ku ez wekî karsaziyek kesane bixebitim, ez tavilê kar red dikim, soza dahatên mezin. Ev ji bo rêxistinek xebitandinê celebek betalkirina bacê ye, û çima divê pirsgirêkên kardêr min wekî bernamenûsek xemgîn bike? Vebijêrkek din ajansên cuda yên hikûmetê ne. Hevpeyvînek min hebû, di encamê de meaşekî baş ji min re hat pêşkeş kirin, lê wan got ku bernameçêkerê berê dev jê berda, nexweş ket, mir, ji ber bargiraniya kar çû ser piyan û roja karê we di 8ê sibehê de dest pê dike. . Ji cihekî wisa jî beziya ku pêlên wî dibiriqîn. Erê, HR, ji kerema xwe bala xwe bidin ku bernamesaz amade ne ku karê herî xweş jî red bikin ger roja xebatê serê sibê zû dest pê bike.

Di dawiyê de, ez ê vîdyoyek hêja ya hilbijartina bernamesaz bidim, dîmenek ku di destpêka vê gotarê de tê dayîn. Min jî ji carekê zêdetir hevpeyvînek wiha kir. Ger hûn di qonaxa pirsan de zilmê bibînin, wê hingê ji xwe re rêz bigirin, rabin, tiştên xwe bigirin û derkevin - ev normal e. Ger HR û gerînendeyê xwe di dema hevpeyivînê de li ser hesabê we destnîşan bikin, ev destnîşan dike ku pargîdanî jehrîn e û divê hûn li wir nexebitin heya ku hûn ji patronên bêkêmasî hez nekin.

vebiguherin

Bernamenûs, biçin hevpeyvînan! Û her dem hewl bidin ku pêşve bibin. Ka em bêjin heke hûn N dravê bistînin, wê hingê bi kêmanî N * 1,2, an çêtir N * 1,5 ji bo hevpeyivînek biçin. Ger hûn vê valahiyê tavilê negirin jî, hûn ê fêm bikin ku ji bo vê astê mûçeyê çi hewce ye.
Çavdêriyên min destnîşan kir ku zanîna baş a zimanê Englishngilîzî, ezmûna têra xwe dewlemend a di pîşesaziyê de û xwebawerî biryar dide. Ya paşîn kalîteya sereke ye, wekî li her derê jiyanê. Wekî qaîdeyek, berendamek pêbawertir dikare di hevpeyivînek de, tewra bi xeletiyên pirtir, ji serlêderek hêja, lê bêtir şermok û çalaktir çêtir bike. Bextê te xweş bî bi hevpeyvînên te!

P / Pêşbirka S

Ger we mînakên balkêş ên pirsgirêkên ku HR we bi we re bar kiriye hene, wê hingê hûn di şîroveyan de bi xêr hatin. Me pêşbaziyek piçûk amade kiriye - şert û merc hêsan in: hûn peywira herî neasayî ya ku we di hevpeyivînekê de hebû dinivîsin, xwendevan wê dinirxînin (zêdetir), û piştî hefteyekê em encaman berhev dikin û serketî bi tiştên kêfê xelat dikin.

Bernamenûs, biçin hevpeyvînan

Bernamenûs, biçin hevpeyvînan

Source: www.habr.com

Add a comment