Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • C pre MCU- prehladnost kodu

C pre MCU- prehladnost kodu

C,C++,C#

Moderátori: psichac, Moderátori

C pre MCU- prehladnost kodu

Odosla┼ąod vylo » 10 M├íj 2018, 09:01

Zdravim priatelia

Mam nasledovny problem:
Po napisani zdrojaku pre MCU v jazyku C zvycajne MCU robi to co ocakavam co znamena ze dosiahnem co som od MCU chcel.
Problem je ze ked sa vo vysledku pozriem na cely zdrojak nie som s nim vnutorne spokojny. Zdrojak je neprehladny duplikuju sa glob. premenne funkcie si odovzdavaju parametre raz cez pointre raz cez glob. premenne a nie je to ako celok jednotne a zrozumitle napisane.

Existuju akesi dizajnove vzory ako by idealne napisany FW mal vypadat pre embedded systemy pisane v jazyku C?
Nasiel som nasledovnu literaturu ale nie som si isty ci to mam hned objednavat za 60$ a ci nepoznate nieco pristupnejsie, overene.
https://www.google.sk/imgres?imgurl=http://t3.gstatic.com/images?q%3Dtbn:ANd9GcTyQCEzgnz13DMd-jAqLPQ-PhH-bT2CZOBvbaWBhBXWuPSe5q_S&imgrefurl=https://books.google.com/books/about/Design_Patterns_for_Embedded_Systems_in.html?id%3DUnpIKZmodSAC%26source%3Dkp_cover&h=862&w=700&tbnid=j1wtTC0BRMXK1M:&tbnh=160&tbnw=129&usg=__ueEvJWfDppzjNYO1D1J7KisM_Tw%3D&vet=10ahUKEwiH_4-0x_raAhWBsCwKHVnoBPkQ_B0ImgEwCg..i&docid=EoC5K7REst-sMM&itg=1&sa=X&ved=0ahUKEwiH_4-0x_raAhWBsCwKHVnoBPkQ_B0ImgEwCg

Nejedna sa o konfikuraciu periferii v MCU ani zaklady programovacieho jazyka C. Skor mi ide o akesi odporucania resp stabnu kulturu zdrojakov pre embedded systemy bez RTOS, bez objektov jednoducho standardne C. A hlavne aby moje zdrojaky boli dobre citatalne a mali akusi referenciu takto sa to robi... a takto zas nie...
vylo
Okoloid├║ci
Okoloid├║ci
Pr├şspevky: 1
Zalo┼żen├Ż: 02.09.2013
Karma: 0

Re: C pre MCU- prehladnost kodu

Odosla┼ąod jirka.jirka. » 10 M├íj 2018, 09:14

Mo┼żn├í hled├í┼í toto:
https://cs.wikipedia.org/wiki/MISRA_C
jirka.jirka.
Obr├ízok pou┼ż├şvate─ża
Zasl├║┼żil├Ż ─Źlen
Zasl├║┼żil├Ż ─Źlen
Pr├şspevky: 1068
Zalo┼żen├Ż: 17.10.2008
Bydlisko: Zl├şn
Karma: 9

Re: C pre MCU- prehladnost kodu

Odosla┼ąod Tribec Zacks » 10 M├íj 2018, 09:21

Vylo, tazko ti takto povedat, ale nauc sa poriadne pracu s pointrami a struct-urami. Kod netahaj ako spagetu, ale rozdeluj do funkcii a drz sa rovnakeho stylu pisania. Ak mas problem s premennymi vo funkciach co sa maju pamatat, tak na to je static premenna atd. Dobre pisany c kod sa na prvy pohlad podoba cpp. Popripade skus mrknut na zdrojak nejakeho linuxackeho ovladaca.
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.
Tribec Zacks
Obr├ízok pou┼ż├şvate─ża
Pokro─Źil├Ż ─Źlen
Pokro─Źil├Ż ─Źlen
Pr├şspevky: 530
Vek: 35.91
Zalo┼żen├Ż: 26.06.2010
Bydlisko: Levice / Cork IRL
Karma: 21

Re: C pre MCU- prehladnost kodu

Odosla┼ąod Mishung » 15 M├íj 2018, 08:51

Co sa "prehladnosti" kodu tyka musis sa zamerat na tri veci.
  • a) Coding style
  • b) Design patterns
  • c) Comments
-Co sa tyka coding style tak vysoko doporucujem google style guide pre C++. Ide o subor stylistickych pravidiel ktorym sa riadia koderi v google. Da sa to presne aplikovat aj na C-cko len vynechas pravidla pre objekty. https://github.com/google/styleguide
-Co do design patterns taky dobry start pre embedded vyvojarov je "Making embedded systems". Mam ju v PDF-ku. Ak mas zaujem napis SS.
-Pokial ide o comments tak univerzalny standard je aby boli doxygen compliant. Z takto okomentovaneho kodu sa da automaticky uz generovat aj dokumentacia. Tu mas link: https://www.stack.nl/~dimitri/doxygen/manual/docblocks.html

Bonusovy level su unit testy. Ked budes mat zvladnute vsetko vyssie spomenute tak si precitaj knihu "Test driven development for embedded C" (mam v PDF). Unit testy, okrem toho ze umoznuju automaticke testovanie kodu, ta prinutia pisat maximalne strukturovany kod. Asi tolko teda... ak by si mal nejaku konkretnu otazku kludne pis. Dovolim si tvrdit ze v tomto som doma.

PS: Mam elektronicky aj tu knihu na ktoru si daval link keby si mal zaujem.
They say the world is turning
But we are stuck upside down...
Mishung
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 445
Vek: 26.37
Zalo┼żen├Ż: 01.12.2009
Bydlisko: Banská Bystrica
Karma: 12


Nasp├Ą┼ą na C,C++,C#

Kto je pr├ştomn├Ż

U┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 0 host├ş.

Forums ©
Autor str├ínky je Ondrej Z├ívodsk├Ż(zawin), o graficky design sa star├í ─Żubo┼í Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
─îas potrebn├Ż k spracovaniu str├ínky 0.19 sek├║nd