Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove

[es] :: Elektronika :: Mikrokontroleri :: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove

[ Pregleda: 3075 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove06.06.2009. u 16:33 - pre 181 meseci
U vezi moje poruke na temu FreeScale 8 bitni mikrokontroleri zelim da vas upoznam sa onim sto radim i takodje molim za pomoc i sugestije za realizaciju projekta koji bi trebao da da jeftin razvojni alat za ovu familiju MCU-ova.

U ovom trenutku imam uradjen korisnicki interfejs, prevodilac asemblera, softverski simulator CPU-a mikrokontrolera (bez simulacije rada integrisanih modula), loader programa preko BDM-a i osnovne alate za dibagiranje u realnom vremenu (kasnije cu doraditi tagove i komparatore). Trenutno radim na PASCAL prevodiocu.

Sami znate da je velika muka testiranje takvog softvera. Osim toga razvojni alat treba da bude "prijateljski" prema korisniku, a ja sigurno (sa svojim navikama) nisam reprezent za prosecnog programera. Dakle, i tu su dobrodosle sugestije.

Ko je zainteresovan, slao bih mu trenutno stanje programa da se igra sa njim i da mi dostavlja primedbe i sugestije. Sobzirom da ce u tom slucaju projekat, na neki nacin, postati zajednick,i svakom ucesniku bih dao kompletan razvojni alat sa potrebnim hardverom. Testiranje softvera trenutno moze da se radi sa softverskim simulatorom.

Pozdrav svima, a posebno zainteresovanima.
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.rs.



+1 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove06.06.2009. u 22:02 - pre 181 meseci

Ja sam zainteresovan, jer imam dosta iskustva sa PASCAL-om i bas bi voleo da programiram na njemu.

 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove07.06.2009. u 14:26 - pre 181 meseci
Poslacu ti preko mejla jer svi fajlovi premasuju 1.5MB.

Necu ti dati uputstvo, bolje je da cackac sam, jer ces tako naci vise gresaka. Treba da ti kazam da samo presnimis fajlove u neki direktorijum i da startujes onaj sa .exe. Kada ti se otvori prozor aplikacije ifi u File -> Open projct i nadji PrProbe/MMAproba i ucitaj ga. Najverovatnije nista nece biti ucitano, a pojavice ti se poruka da program nije mogao da nadje neke fajlove (ovo se nece desiti ako si slucajno sve snimio tako da imas istu putanju kao na mom racunaru). Tada izadji iz programa, a on ce napraviti konfiguracioni fajl iako nije nista ucitao. Ponovo pokreni program, i sada ce on imati ispravan konfiguracioni fajl (sa ispravnim putanjama) i onda ces moci da ucitas PrProbe/MMAproba.

Igraj se malo pa za koji dan javi rezultate.

Pozdrav.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove08.06.2009. u 22:17 - pre 181 meseci
Da li si dobio ovo:

Zaboravio sam da ti kazem da je desno veliki RitchEdit koji mi sluzi da u njemu ispisujem poruke dok dibagiram kompajler.
Prikačeni fajlovi
 
Odgovor na temu

dejanmaksimovic1976
Dejan Maksimović
graficki dizajner, brendiranje vozila,
priprema stampe, fotograf,
pecatorezac...
Velika Plana

Član broj: 108361
Poruke: 177
79.101.89.*



+3 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove09.06.2009. u 06:05 - pre 181 meseci
Pravo da ti kazem ne znam nista o paskalu, a bas bih voleo da probam kako to izgleda pa ti konkretno mogu reci kako mi se cini sve to jer ces imati i ljude koji nisu vicni paskalu. Meni je nekako najrazumljiviji basic tako da bi bilo interesantno ubaciti mu i tu opciju. Ne znam kako izgleda sve to ali ne znam kako i kolika je muka da napravis da naredbe budu na na srpskom.(cisto da se proba kako bi to izgledalo da sve naredbe budu na srpskom).
Dejan Maksimovic
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove09.06.2009. u 09:48 - pre 181 meseci
PASCAL je najjednostavniji visi programski jezik. Jednostavniji je od C-a i bejzika a snazniji od njih. Dok su C i bejzik nastali kao potreba u jednom trenutku, C kao pomocno sredstvo za pisanje UNIX-a (doduse posle toga dobio svoj konacni oblik) a bejzik je napravljen prvo kao interpreter za kucne racunare (spektrum komodor i t. d.). Dotle je PASCAL razvijen nezavisno od trenutnih potreba, kao rezultat loseg stanja u svetu visih programskih jezika. To je ucinio svajcarski profesor Niklaus Wirth (valjda se cita Nikolas Virt). PASCAL je standardizovan 1977 donosenjem standarda ISO 7185. Kasnije je Nikolas Virt napisao programski jezik Modula 2 koji je istovremeno jezik visokog nivoa sa osobinama niskog nivoa. Forma Borland je standardnom PASCAL-u dodala neke stvari iz Module 2 i tako je nasta o Turbo PASCAL, koji je unapredjivan sve do slozene platforme za razvoj softvera na PC-ju Delphi.

PASCAL je jednostavan zato sto nema izuzetaka kao C i bejzik, zato sto ima jaku tipizaciju podataka, jasnu strukturu podataka i strukturu programa. Sastoji se od jednostavnih pojmova od kojih mogu da se grade slozeni pojmovi. Prema programeru to je najprijateljskiji jezik. Kada kompajler prevede vas program i ne prijavi neku gresku vrlo je verovatno da vam i program radi dobro, to je zato sto je definicija jezika takva da prati razmisljanje coveka. Tekst programa jasno izrazava strukturu programa bez apstraktnih konstrukcija koje zbunjuju.

Ako se pitas zasto nije PASCAL zauzeo mesto koje ima C, odgovor je vrlo jednostavan: C je nastao u Americi u industriji (AT&T Bell Labs), dok je PASCAL nastao na svajcarskom univerzitetu i iza sebe nije imao industriju. Osim toga sve lakse i brze uspeva na americkom tlu bez obzira na kvalitet.

Ako mozda znas, Pentagon i NASA koriste programski jezik ADA ciji je podskup PASCAL.

Ako ti ovaj kratak prikaz nesto razjasnjava, a na internetu mozes naci pomenuti standard za PASCAL i standarde za kasnije verzije, i ako si i dalje zainteresovan javi se pa cu ti poslati radnu verziju da cackas po njoj.

Pozdrav.
 
Odgovor na temu

dejanmaksimovic1976
Dejan Maksimović
graficki dizajner, brendiranje vozila,
priprema stampe, fotograf,
pecatorezac...
Velika Plana

Član broj: 108361
Poruke: 177
79.101.89.*



+3 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove09.06.2009. u 14:58 - pre 181 meseci
Vro lepo si opisao te osnove u vezi Paskala. Meni je brate sve jedno koji cu jezika da koristim samo da to odradim na najbrzi nacin. Mozda je i malko kasno za sve to sto se tice mojih godina ali cu se svakako potruditi. Nisam se nikada susretao sa paskalom ali bih voleo da otpocnem sa necim konkretno.

Sto se tice cackanja, samo posalji kod a ja cu vec iscackati neto.

Dejan Maksimovic
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove09.06.2009. u 15:17 - pre 181 meseci
Posalji mi mejl adresu na PP.

Pozdrav
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.rs.



+1 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove14.06.2009. u 22:51 - pre 180 meseci
Cackao sam malo po tvom razvojnom alatu MMA, i vidim da si tek poceo sa PASCAL kompajlerom. Vidim da nemas asm..end strukturu vec su ti asemblerske i PASCAL naredbe pomesane. Za sada sam cackao po asembleru i on je dosta unapredjen u odnosu na stari, ali mi nije jasno zasto si uneo ponavljajucu strukturu repeat by..prior..until, a izbacio while..do.

Usput imam problem: kada delim 16 bita sa 8 koristim asemblesku naredbu idiv. Broilac je u registarskom paru HA, a imenilac u X, a rezultat dobijam u A, a ostatak u H. Sta da radim kada je kolicnik veci od 255??? Kako da i u takvim slucajevima koristim istu asemblersku naredbu.

Pozdrav
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove15.06.2009. u 11:32 - pre 180 meseci
U pravu si. Posto MMA ima sve kao PASCAL osim PASCAL iskaza, sada radim na prevodu tih iskaza. Tacno je da sam na pocetku. Kao sto si mogao da primetis sintaksa je takva da nije potrebna asm..end struktura, ali moracu da je uvedem kako bih vodi racuna da se u pisanju asemblerskih naredbi ne desi da se promeni stek pointer, jer onda ce biti netacne adrese lokalnih varijabli i dolazice do greske u PASCAL izrazima. Doduse, za to sam uveo strukturu stackcorrect n do.. koja za n pomera adrese svih lokalnih varijabli.

Pitao si za deljenje kada je rezultat veci od 255. Da to je problem jer naredna idiv deli vrednost u reg paru HA sa vrednoscu u reg X, a rezultat je u reg A a ostatak u reg H. Evo ti postupka: neka je broj koji delis h:l a delis sa d (h,l i d su bajtovi) rezultat je u rh:rl

1. l/d -> rl; ostatak na stek
2. h/d -> rh
3. ostatak koji je u H podelis sa d i rezultat dodas na rh:rl
4. ostatak iz predhodnog deljenja saberes sa onim na steku i resultat saberes sa rh:rl

i to je to. Evo ti i koda:

Code:

procedure Div16_8;
var
  w,r : word;
begin
  sthx s[w];
  tax;

  clrh;
  ldaa s[w.1];
  idiv;
  staa s[r.1];
  pshh;

  stackcorrect 1 do
  begin
    clrh;
    ldaa s[w.0];
    idiv;
    staa s[r.0];

    clra;
    idiv;
    adda s[r.1]; staa s[r.1];
    ldaa s[r.0]; adca 0; staa s[r.0];

    pshh;
    pula;
    adda s[0];
    clrh;
    idiv;
    adda s[r.1]; staa s[r.1];
    ldaa s[r.0]; adca 0; staa s[r.0];
  end;

  pulh;
  ldhx s[r];
end;


vidis i upotrebu stackcorrect..do strukture. Broj koji delis stavis u HX registar, a broj kojim se deli u A registar, rezultat se dobija u HX registru.
Procedure je dugacka 67 bajtova, izvrsava se za 115 ciklusa i za klok od 20MHz trosi 5.75us.

Za ovo sam se malo pomucio, pa cu ti sutra odgovoriti na drugo pitanje.

Pozdrav.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove16.06.2009. u 10:40 - pre 180 meseci
Duzan sam ti odgovor na drugo pitanje.

Ranija verzija je imala nesto ovako:

ldaa [Var1];
cmpa [Var2];
while < do
begin
<telo petlje>
ldaa [Var1];
cmpa [Var2];
end;

Na end, kompajler ubacuje uslovni skok na naredbu koja je prva iza begin. Ali zato je izracunavanje uslova (ldaa [Var1]; cmpa [Var2]) moralo da se napise i na kraju petlje da bi se mogao ostvariti uslovni skok. Dakle, asemblerski kod programa kojim se izracunava uslov je napisan dva puta sto nije dobro.

Kod repeat..until petlje si imao:

repeat
<telo petlje>
ldaa [Var1];
cmpa [Var2];
until >=;

Ovde se uslov izracunava jednom, ali se u petlju ulazi bez obzira da li je uslov ispunjen ili ne. To je uostalom i razlika izmedju while..do i repeat..until petlje.

U novoj verziji ne postoji while..do ali sam uveo repeat by..prior..until petlju koja nigde ne postoji (nisam ljubitelj standardizacije) tako da sada mozes pisati while..do petlju kao:

repeat by
<telo petlje>
prior
ldaa [Var1];
cmpa [Var2];
until >=;

Kompajler kada dodje do repeat by, skace na prvu naredbu iza prior gde se izracunava uslov, i ako je on ispunjen izlazi iz petlje, dakle, telo petlje nije izvrseno. U suprotnom se izvrsava telo petlje sve dok se uslov ne ispuni.

Nadam se da ti je jasno.

Pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Jeftini razvojni alat za FreeScale 8-o bitne MCU-ove

[ Pregleda: 3075 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.