Programování v assembleru

sova

Re:Programovani v assembleru
« Odpověď #45 kdy: 02. 08. 2013, 17:29:30 »
Možno Vás bude zaujímať tento kurz:
https://www.coursera.org/course/hwswinterface
- ale zatiaľ nie je známy ďalší termín.


Karel

Re:Programovani v assembleru
« Odpověď #46 kdy: 02. 08. 2013, 23:01:42 »
Možná se trochu vzdálím od tématu. Nevím, zda je moje myšlenka technicky proveditelná, tak prosím o schovívavost. Hledám nějaky SW simulátor jednočipů (kompatibilních s 8051) s tím, že by jeho "virtuální I/O porty" (stačí jeden osmibitový) by bylo možné mapovat například na paralelní port. O co mi jde? Spustit strojový kód v počítači určený pro danou architekturu mikroprocesoru, tak aby se jeho "instrukce pro práci s vnější sběrnicí" navenek skrze paralelní port tvářily, tak že vycházejí z opravdového jednočipu. Asi bude potřeba dorovnat napěťové úrovně. A nejde mi o to aby to pracovalo v na nějakých vysokých (reálných) kmitočtech.

Chci se tedy zeptat, existuje nějaký takový software? Díky.

IDDQD

Re:Programovani v assembleru
« Odpověď #47 kdy: 03. 08. 2013, 01:18:52 »
navenek skrze paralelní port tvářily, tak že vycházejí z opravdového jednočipu. Asi bude potřeba dorovnat napěťové úrovně. A nejde mi o to aby to pracovalo v na nějakých vysokých (reálných) kmitočtech.

A co si jako představuješ, že "tvářily, že vycházejí z opravdového jednočipu"?
Máš pocit, že těch cca 3.4 Voltu, co z LPT portu leze, je digitálně podepsaných?

Na lpt se dá zapsat třeba takto:

mov  dx,0378h; //adresa portu
mov  al,00100000b; //aktivuju bit
out  dx,al; //pošlu to tam, pokud bych chtěl stav změnit, je to potřeba vynulovat

Samozřejmě že existují simulátory, které mají výstup na LPT.
Do simulátoru si můžeš doplnit modul, který bude data odněkud posílat někam, třeba tam, kam potřebuješ.
Netuším, jestli se 16C552 používá s c51.
Vynechal jsi jednu moc důležitou věc a to je jaký obvod chceš simulovat.

IDDQD

Re:Programování v assembleru
« Odpověď #48 kdy: 03. 08. 2013, 01:43:56 »
Nebo jde o to, abys měl simulátor c51, který bude v počítači a lpt port se bude tvářit, že to jsou nožičky té c51?

IDDQD

Re:Programování v assembleru
« Odpověď #49 kdy: 03. 08. 2013, 01:49:00 »
Přiznám se, že c51kám nerozumím, jen x86, pokud vysvětlíš, co bys rád, poradím.


Karel

Re:Programování v assembleru
« Odpověď #50 kdy: 03. 08. 2013, 06:28:55 »
No má představa je taková, že budu mít "program"
Kód: [Vybrat]
mov P0,#11001100Btzn port 0 (osm pinů) na jednočipu se nastaví na tyto logické hodnoty. Co se snažím najít je program (simulátor) na PC, který by jako provední této instrukce pochopil nastavit 8 vývodů LPT do požadovaného stavu. Takže bych navenek (mimo PC) mohl pracovat s různými zařízeními, aniž bych musel mít jednočip, krystal nebo programátor a přitom mohl využívat assembler pro 8051 a kompatibilní.

Kolemjdoucí

Re:Programování v assembleru
« Odpověď #51 kdy: 03. 08. 2013, 11:02:29 »
No má představa je taková

Ani ve zlatých časech x51 se to takhle nedělalo. Realizaci tvého systému nic nebrání, jenom si to budeš muset udělat sám, hotové to asi nenajdeš. Ale v časech JTAG ladění je to zbytečná práce.

IDDQD

Re:Programování v assembleru
« Odpověď #52 kdy: 03. 08. 2013, 11:24:57 »
Je dost opensource emulátorů 8051, tak pokud to ještě není, můžeš za to někomu zaplatit, nebo si to dodělat sám, pro dobrého Cčkaře se znalostí ASM je to dost jednoduché. ;)

Karel

Re:Programování v assembleru
« Odpověď #53 kdy: 03. 08. 2013, 13:25:32 »
Tohle byla moje první myšlenka, od doby, kdy jsem se začal programováním jednočipů zabývat. Využít výkon počítače a jeho "běžného rozhraní" k simulaci práce jednočipu. Právě proto, že by se v současnosti jednalo jen o takový lepící projekt (kompilátory a "interprety" pro 8051 existují jenom by se odchytlo pár těch instrukcí pro práci s vnější sběrnicí a ty by se realizovali jinak), tak se ptám, jestli to někdo už neudělal nebo jste o něčem takovém neslyšeli.

andy

Re:Programování v assembleru
« Odpověď #54 kdy: 03. 08. 2013, 13:39:39 »
Ja byt tebou, tak asi zacnem radsej tym emulatorom AVRka alebo PICu. Stiahni si datasheet k nejakemu mrnavemu (cim menej funkcii tym lepsie) a to si precitaj. Nie je toho vela, instrukcnu sadu nemaju velku, takze ta to zbytocne neznechuti. x86 architekturu by som vynechal, lebo ma mrte rezimov a instrukcii a kraviniek ktore ta iba odradia. Tiez nie je celkom dobre pozerat co vygeneroval kompilator, pretoze on pouziva kadejake finticky a to na uvod nepotrebujes vediet.
Ak budes mat nejake nejasnosti, tak ti tu snad niekto poradi. Je dobre chapat tie vektory preruseni od roznych periferii, naco sluzia konfiguracne registre, ze mozu existovat aj pamatovo mapovane registre atd.
V emulatore si to potom mozes vyskusat a nemusis blbnut s realnym cipom a programatorom. A nenechaj sa odradit od frajerov co si tu honia ego. Kazdy nejako zacinal.

Karel: no ved stiahni si nejaky emulator a realizuj ich inak :). Ja som sa tak pokusal ovladat krokovy motor a aj to celkom slo (okrem microsteppingu) az dokym som si nechtiac neodpalil 1 pin na lpt (ide to velmi lahko).

r23

Re:Programování v assembleru
« Odpověď #55 kdy: 03. 08. 2013, 15:07:48 »
K C51 dneska koupíš za pár korum i vyřazené HW emulátory, které se ale chovají jako celý reálný procesor.
A nebo vezmi jinou architekturu, a jtag emulátor....program sice běží v tom chipu, ale ty na PC vidíš vše. A také stačí vybavení za pár drobných...

Doe

Re:Programování v assembleru
« Odpověď #56 kdy: 04. 08. 2013, 01:15:20 »
Možná jsem to přehlédl (dost příspěvků), ale PROČ vlastně potřebuješ psát algoritmus na (téměř) nejnižší úrovni?

smoofy

  • *****
  • 1 059
    • Zobrazit profil
    • E-mail
Re:Programování v assembleru
« Odpověď #57 kdy: 04. 08. 2013, 08:32:15 »
to Doe:

Nepotrebuju. Chci jen pochopit jak to vlastne funguje.

student

Re:Programování v assembleru
« Odpověď #58 kdy: 04. 08. 2013, 20:32:46 »
To si napis nejaky mini OS. To nie je az take tazke a bude tam realne nutne pouzitie toho ASM. Pri "pisani algoritmov" tento ciel obycajne chyba. Tam ide casto o rychlost, pricom malokto sa vyrovna optimalizacii (z C) od kompilatoru, ak teda programator napovie kompilatoru co sa da, aj specificky napr. pre GCC. Tam je treba vediet skor citat vystup GCC z ASM a rozumiet mu - co je ovela jednoduchsie ako samotne programovanie v ASM.

amater

Re:Programování v assembleru
« Odpověď #59 kdy: 05. 11. 2013, 00:42:21 »
Vaše starosti bych chtěl mit. Já musim nakrmit rodinu a na nic jiného nemám čas. Najděte si baby a zbytek nechte na těch, kteří tomu rozumějí.