www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

MSP430 in zbirni jezik
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> 16 bitni mlinčki
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Pon Feb 26, 2018 12:08 am    Naslov sporočila:  MSP430 in zbirni jezik Odgovori s citatom

Prosim za mnenje zakaj da in zakaj ne uporabiti zbirni jezik pri mikrokrmilnikih MSP430G2xxxx in MSP430FRxxxx. Sam se nagibam k da.

Hvala za mnenja.

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Dorijan
Član
Član



Pridružen-a: Ned 22 Jun 2008 10:48
Prispevkov: 2481
Aktiv.: 12.93
Kraj: južnoprimorska

PrispevekObjavljeno: Pon Feb 26, 2018 2:40 am    Naslov sporočila:  Re: MSP430 in zbirni jezik Odgovori s citatom

Knap je napisal/a:
Prosim za mnenje zakaj da in zakaj ne uporabiti zbirni jezik pri mikrokrmilnikih MSP430G2xxxx in MSP430FRxxxx. Sam se nagibam k da.

Hvala za mnenja.
Najprej napiši kaj boš delal, da ti bo kdo sploh vedel svetovati.
_________________
Če nekaj deluje, razstavi in ugotovi zakaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Pon Feb 26, 2018 11:46 pm    Naslov sporočila:   Odgovori s citatom

Gre za upravljanje profesionalnih naprav. Zanima me preprosto dejstvo kaj je bolje. Zbirni jezik, C, C++ ali katerikoli višji jezik. Upoštevajte prosim zanesljivost.

Program in module v krmilniku bi lahko uporabil za preprostega robota. En krmilnik sprejema podatke, jih obdela, primerja in izvaja nadaljne korake po programu. MSP sem izbral zaradi zelo nizke porabe v mirovanju in možnostjo uporabe več različnih stopenj mirovanja (Power Mode).

Lahko pa vprašanje vzamete kot preprosto anketo zakaj se ne odločate za zbirni jezik. Morda kdo vidi prednosti v zbirnem jeziku. Te me zanimajo.

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 611
Aktiv.: 4.46
Kraj: Vrhnika

PrispevekObjavljeno: Tor Feb 27, 2018 12:24 am    Naslov sporočila:   Odgovori s citatom

Dobra lastnost zbirnika je da je izvajanje programa hitrejše ker ubistvu izvajaš operacije direktno nad registri ter sam program zavzame manj prostora na mikrokontrolerju kot naprimer če bi ga napisal v C-ju in višjih jezikih.
Slaba lastnost je to da je težje programirat če tega še nisi počel in tudi razhroščevanje oz iskanje napak v programu je težje. Ubistvu je vse skupaj zelo bolj zakomplicirano kot v C-ju (razen za koga ki se s tem srečuje vsak dan).
Jaz bi zbirnik uporabil (če že) bolj za kakšne kratke programe, ki pa se morajo čim hitreje izvajati kot naprimer pri DSP procesorjih.

IF stavek v C-ju:
Koda:
if (x == y)
{
   z = 1;
}
else
{
   z = 0;
}

Stavek IF v zbirniku:
Koda:

    MOVE _x, R7             // Move x into Data Register R7
    COMPARE _y, R7          // Now compare x with y
    BRANCH_IF_NOT_EQUAL L1  // If not equal branch to the else leg specified by label L1
    MOVE #1, _z             // Moving 1 into z
    BRANCH_ALWAYS L2        // Branch beyond the if-then-else statement
    // Else portion of the if-else statement
    L1 MOVE #0, _z             // Set z to zero
    // End of if-else statement. if portion of the statement executes an
    // unconditional branch to reach L2. The else leg falls through into L2
    L2 . . .
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Tor Feb 27, 2018 2:33 am    Naslov sporočila:   Odgovori s citatom

Mato pozdravljen. Da, programiram v zbirniku in sem mu tudi naklonjen. Mnogi me prepričujejo v platformo Arduino ampak takšni platformi ne zaupam preveč. Po moje je bolj namenjena za učenje in enkratne projekte ter hoby. Somišljeniki mi odsvetujejo celo delo z direktivami prevajalniku. Program ustvarjam z CCS. Uporabljam komentarje v vsaki vrstici in pišem program po diagramu poteka tako, da se hitro znajdem v programu. Je pa res, da so programi namenjeni napravam za katere vemo potek delovanja v naprej in so odvisne le od pozicijskih stikal, dveh do treh analognih senzorjev in kakšnega kodirnega stikala ali dajalnika impulzov. Počasi pa vključujem še LCD prikazovalnik.
Hvala za tvoje mnenje. Kratko in jedernato, cenim.

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Energetik-m
Član
Član



Pridružen-a: Pon 07 Dec 2009 19:16
Prispevkov: 1343
Aktiv.: 7.71
Kraj: Zagorje

PrispevekObjavljeno: Tor Feb 27, 2018 8:54 am    Naslov sporočila:   Odgovori s citatom

Z MSP430 sem naredil nekaj projektov, ki so šli v serijo nekaj sto kosov, npr. števec impulzov, katerega total je možno brati po serijski komunikaciji, ob izpadu napajanja pa trenutne vrednosti pospravi v EEProm. Prav vse sem napisal v C-ju, razvojno okolje CCS. Vsekakor imaš več programerjev, ki lahko za tabo vzdržujejo program, napisan v C-ju kot v zbirniku.
Še to o direktivah, ki ti jih odsvetujejo, kako boš sicer napisal prekinitveno rutino?

_________________
lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Tor Feb 27, 2018 12:46 pm    Naslov sporočila:   Odgovori s citatom

Pozdrav Energetik-m. Dobra trditev. Res več programerjev obvlada C ali C++ kot zbirni jezik in je kasneje vzdrževanje lažje, ker je lažje najti programerja z znanjem C-ja kot zbirnega jezika.
Brez vseh rutin res ne gre. Uporabljam samo tiste najnujnejše, ena takšnih je ISR.
Izogibati se skušam tem direktivam in podobnim:
4.7 Conditional Assembly Directives
Conditional assembly directives enable you to instruct the assembler to assemble certain
sections of code according to a true or false evaluation of an expression. Two sets of
directives allow you to assemble conditional blocks of code:
· The .if/.elseif/.else/.endif directives tell the assembler to conditionally assemble a block
of code according to the evaluation of an expression.

V kolikor bi uporabil vse možne rutine je res bolje pisati v C-ju.

Hvala za zelo korekten in utemeljen odgovor.

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Sre Feb 28, 2018 9:57 am    Naslov sporočila:   Odgovori s citatom

C prevajalniki so postali zelo učinkoviti. Razmišlanje, da bi kodo pisal v zbirniku zaradi optimizacije hitrosti oziroma manjše porabe pomnilnika je zmotno.

Zbirnik se prevede v strojno kodo 1:1, C kodo pa lahko prevede na različne načine. Med drugim imaš različne stopnje optimizacije (velikost izhoda, hitrost izvajanja, ...).

Drži pa tudi, da določeni deli programa morajo biti napisani v zbirniku. To so primeri, kjer je nujno upoštevanjanje vrstnega reda izvajanja. Je pa tega zelo malo.

Sem mnenja, da je zbirnik dobro poznati, ampak nima smisla pisati kode v njem, ker boš porabil preveč časa. Raje pridobljeni čas uporabi za testiranje.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Sre Feb 28, 2018 5:29 pm    Naslov sporočila:   Odgovori s citatom

Hvala za odgovor mujo. Odgovor, ki ne zahteva razmislekov. Se mi dopade.
Bom kasneje razkril namen vprašanja. Morda bo še kdo podal svoje mnenje. Le tako lahko ostane nevtralnost, brez "navijaštva".

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6540
Aktiv.: 29.45
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Sre Feb 28, 2018 6:50 pm    Naslov sporočila:   Odgovori s citatom

Knap je napisal/a:
Gre za upravljanje profesionalnih naprav. ... Upoštevajte prosim zanesljivost. ... Program in module v krmilniku bi lahko uporabil za preprostega robota. ... MSP sem izbral zaradi zelo nizke porabe v mirovanju in možnostjo uporabe več različnih stopenj mirovanja (Power Mode). ...

Nekaj stvari mi v tvojih prispevkih ne gre ravno skupaj. Izbral si 16 bitno MSP430 družino ultra low power krmilnikov, z njimi bi se pa na robota (ki bo z vsemi svojimi motorji in aktuatorji pokuril mnooogo več, kot boš s tvojim ultra varčnim kontrolerjem prišparal) v zbirniku spravil. Ti krmilniki imajo svojo nišo, sem pa skoraj prepričan, da za nalogo, za katero si jih predvidel niso najprimernejši.

Še moje mnenje o zbirniku. Zanesljivost neposredno v zvezi z alternativo zbirnika/c dialekta nima nobene zveze. Tukaj želiš mešat hruške in zelje. Zelo malo razvijalcev poznam, ki bi bili sposobni nekaj v zbirniku napisat bolje od tega, kar vržejo od sebe današnji prevajalniki c dialektov ob korektno napisani vhodni vsebini. Vključevanje zbirniških rutin (... če bi že res iz kakega obskurnega razloga bilo potrebno ...) pa tako ali tako omogoča večina današnjih orodij. Upam, da boš res razkril kak "razlog" za uporabo zbirnika v zvezi z napovedanim upravljanjem profesionalnih naprav, ki bo poskušal podpreti tvojo naklonjenost (navijaštvo Wink ). Mislim pa, da v današnjem času v 99% primerov tehtnih razlogov za težnjo k uporabi zbirnika ni. Lahko da obstajajo osebni razlogi (... to znam, pa bi še naprej na tem delal ..., ... vse ostalo je na ta način narejeno, pa naj bo še to ..., ... cenejše razvojno okolje ..., ... šef misli, da bo tako bolje ...) za to, o tehničnih se pa le razpiši, me res zanimajo.

Lp, Frenki
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
MitjaN
Član
Član



Pridružen-a: Sre 17 Avg 2011 15:40
Prispevkov: 91
Aktiv.: 0.59
Kraj: Ljubljana

PrispevekObjavljeno: Sre Feb 28, 2018 11:05 pm    Naslov sporočila:   Odgovori s citatom

Zbirnik je smiselen kjer imaš omejeno širino problema in/ali se ti mudi. Kar se ti pri današnji strojni opremi praktično ne zgodi več. Za karkoli drugega je to na dolgi rok samo težava.

Za UI (tipke, LED-ice, prikazovalniki) se ti zagotovo ne mudi, ker je človek zelo počasen tako da nima smisla komplicirati z zbirnikom.

Pri kakršni koli resni komunikaciji ti bo prekladanje bufferjev na levo in desno lažje s C-jem. Izjema je morebiti komunikacija za katero strojna oprema sicer ni mišljena, vendar se ti za en projekt ne da iti na nekaj novega in si na meji s hitrostjo prenosa oziroma rešuješ probleme, ker strojna oprema ne nudi ustrezne podpore.

Ostane še obdelava signalov. In če delaš s strojno opremo ki je namenjena za to po navadi proizvajalec nudi tudi knjižnice za tipične operacije (FFT, FIR, IIR, konvolucija, ...), ki se kličejo iz C-ja.

Ima pa tudi C precej problemov. Eden je recimo obnašanje pri prelivu celih števil. Tipično bi raje, da gre število v nasičenje. Kar v zbirniku dosežeš s spremembo enega konfiguracijskega bita. V C ju ti pa ne uideta dva if stavka.

In kot je že dejal frenki so tu še varnostni aspekti. Če se boš šel kakšno validacijo in verifikacijo ti bo bistveno lažje če delaš v C-ju in se držiš MISRA ali CERT C standarda
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Sre Feb 28, 2018 11:29 pm    Naslov sporočila:   Odgovori s citatom

Hvala mojstra,

konkretna in globoka odgovora. Res nisem omenil, da bi se rad omejil na osnove programiranja. Moja napaka. Se opravičujem.
V mislih sem imel osnovno vodenje linearnega pogona z nekaj stikali in kakšnim kodirnim stikalom. Prenosa podatkov ne bo, tako komunikacija ni potrebna. Uporabil bi senzorje in ne tipal. S tem je manj dela s programom. Morda kakšno enostavno tipalo za AD pretvornik kot je NTC. Kasneje kak strojček za vožnjo. Recimo da je uporaba senzorja HC-SR04 v kombinaciji z dajalnikom impuzov na motorju že dovolj.

Lep pozdrav

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6540
Aktiv.: 29.45
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Čet Mar 01, 2018 10:28 am    Naslov sporočila:   Odgovori s citatom

Knap je napisal/a:
Upoštevajte prosim zanesljivost.

Knap je napisal/a:
Recimo da je uporaba senzorja HC-SR04 v kombinaciji z dajalnikom impuzov na motorju že dovolj.

A ti tole poskušaš koga malo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 21.36

PrispevekObjavljeno: Čet Mar 01, 2018 10:33 am    Naslov sporočila:   Odgovori s citatom

Ne samo poskuša, pravzaprav mu gre kar dobro Whistle
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Knap
Član
Član



Pridružen-a: Ned 21 Nov 2010 14:20
Prispevkov: 67
Aktiv.: 0.41
Kraj: Maribor

PrispevekObjavljeno: Čet Mar 01, 2018 11:58 am    Naslov sporočila:   Odgovori s citatom

Spoštovani Frenki,

kot moderatorju sem Vam podal odgovor in namen na e-pošto.
Bom v kratkem tudi vsem ostalim pojasnil zadevo.

_________________
Iz črnega na belo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> 16 bitni mlinčki Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group