asm

Programi za crtanje shema i pločica, simuliranje el. sklopova, savjeti. Diskusija o ostalim programima vezanim za elektroniku.

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
Firkragg

asm

Post by Firkragg »

Zna li ko gdje ima za downloadatneki dobar 8051/pic assembler da je freeware i za win? Našo sam masu onih gluposti za dos a nigdje nema za windows :(
buco

Post by buco »

Najbolje ti je da odes konkretno na neku od "vodecih" kompanija za MCUe i uzmes asembler za njihov "primjerak/verziju" 8051 MCUa . Sto se PICa tice pa MPLAB je najbolji , odi na Microchip i to je to [ ionako im je jezgra ista] , asembler jest principielno textualni editor za vrijeme dok izradjujes program , za samo generiranje izvrsnog koda moras koristit mali potprogram ili vezani program koji iz tvog texta koristenjem tabele naredbi i nekih opce podrzanih formi generira izvrsni kod.Neke firme dodaju ili promijene internu strukturu registara [ ako je jezgra ista ne mora znacit da su i radi registri i registri specijalne namijene isti ] sto najcesce i cini asemblere iste jezgre nekompatibilnima , ali posto su oni potpuno fr*e i nemaju manu crosscompilera , dostupni su svakom tko zeli s njima radit.
Pozdrav
Firkragg

Post by Firkragg »

S picevima se baš i ne bavim al mogo bi počet nešto... :)
A nisi mi reko za 8051 zar nema niti jedan dobar asm?
Ono što imam su samo jezgre koje se pokreću iz dosa, ogadile su mi se pa radim pretežno u bascomu. Vidio sam dosta assemblera za 8051 ali svi su shareware i imaju limite.
buco

Post by buco »

Pa bas za recimo Atmelovu seriju 89C51 /52 isl. imas FLITE 4MB , za 89S seriju AT89ISP 6MB itd.. kompletan besplatan program s debbugerom, svim podalatima i asemblerom .
Kod Philipsa ces nas program s asemblerom za njihove serije 8051 /52 .. I tako dalje . To se tako trazi . Po proizvojdjatju ciji MCU koristis upravo iz razloga koji su i navedeni kao prepreka "neuniverzalnosti".
Pozdrav
Firkragg

Post by Firkragg »

Nekužim zašto su tako podjeljeni kad svi 8051 rade po potpuno istom kodu, nevidim razlog zašto nebi s jednim od tih asemblera mogo programirat sve 8051 mcue :shock: :D
buco

Post by buco »

Pa to se tako kaze "jezgra"[core] recimo AT89C i AT89S je ista ali nisu bas sve opcije speijalnih funkcija iste , a specijalne funkcije i cine MCUe posebnima od processora , ne samo zbog Harwardskog nacina rada s programom i podacima , vec i na razini interne strukture. Ako se sijecas ja sam i reako kad sam "popricao" o asembleru da je kod programiranja u asm upravo poznavanje interne strukture MCUa[ ili nekog processora..] kljucno za izradu funkcionalnog programa [pa cak i vrlo jednostavnog].
Kao sto recimo i processori bazirani na ARM7 jezgri raznih proizvodjatja imaju dodane razlicite funkcije i ne mogu se bas samo tako preslikat izvrsni kodovi iako je jezgra ista . To se naravno moze s manje ili vise uspijeha ucinit sa crosscompilerima razlicitih naziva i vec sam opisivao sto i kako oni djeluju, da ne ponavljam.
Inace tko bas zeli objedinit asm/diasembler za potpuno razlicite grupacije MCUa / processora nek nabavi zaista dobar IDApro ADV alat !!!!Ja ga rijetko koristim vise iz navike upotreba "tvornickih" alata ali kod analize tudjeg FW je zaista od velike pomoci . Po meni mana mu je da generira izuzetno "velike " filove[ ne izvrsnog koda] cak i za vrlo mali FW ! A i kao disasembler ga rijetko koristim tj samo kod FW koji imaju "malo" veci izvrsni kod.
Pozdrav
Firkragg

Post by Firkragg »

Čega ti napriča... :D
Buco AT89ISP ti nije assembler/debbuger, to ti je samo software za ISP programiranje. Treba ubacit gotov HEX file koji je prethodno izbacio crosscompiler/assembler (ili se može napisat u notepadu :D )
buco

Post by buco »

Da tocno! Sve ono sto sam nasao da radi kao full opcija i da je fr*e [ da netreba trazit c*ack] je za DOS danas sam otvorio 2 takva MCS-51 asemblera i nije ni cudo sto su za DOS kad su pisani jako davno , ali sto je najvaznije oni rade i neznam zasto bi bio problem sto su u DOSu. Nasao sam i MCS-51 Sa C i croscompilerom za njega. I ono sto vi vec vijerojatno imate na bazi BASICa s croscompilerom.
Pozdrav
Firkragg

Post by Firkragg »

Ja imam takvih u dosu masu, ali oni nemaju text editor nego se mora unijet gotovi txt fajl... pa ga prevodi, pa moraš hex prenosit u software za programator... Takvih stvari imam, lijepo sam reko u postu što me zanima:
Nešto u stilu MPLABA, samo da je za 8051? Nigdje to nisam našao samo ove jezgre za dos koje mogu služit svrsi, ali htio bi nešto naprednije, da ima svoj text editor, neki help, eventualno simulator i sl.
buco

Post by buco »

Pa i u MPLABu i AVRStudiju sam asembler je poseban file kojeg mozes koristiti i nezavisno od ostalog dijela SW. A posto pisanje programa za asembler mozes koristit i notepad , word i sl text edicije nebi trebao bit problem to sto je sam prevodioc u DOSu [ dobro da nije u Linuxu :-) ] . A dobro je imat dodatne alate ali nisu oni toliko bas prepreka radu [ moje misljenje ] na aplikacijama koje obavljaju relativno jednostavnije operacije .Kazem ti vidio sam da ima i "win" asm alata za MCS-51 seriju ali hoce novac , pa pokusaj se snac !! odi na prgrammer haven stranicu mislim da je tamo jedan takav alat !?Izgleda da su ga proizvodjati zanemarili kad je u pitanju podrska s novim alatima . Ocito je da su neki novi "aduti" u igri i svakim danom dolaze bolji i naprednije masine u ponudu tako da to nije ni cudo . Vazno je dal se tebi ili ne radi tj dali te zaista zanima ili ne programiranje u asm za navedenu seriju a dal imas DOS ili WIN ili LIN alate rezultat ce ionako ovisit samo o tebi a ne na kojem op sys je to pisamo.
Pozdrav
Ja sam nekad imao COSMAC "computer" , CDP1802 processor i fantasticnih 256 byte rama za smijestanje programa , hex tastaturu , prikazna jedinica je bila 4 LED displaya pa mi nije smetalo da ga programiram za razne stvari koje su bile moguce s tim HW. ROM , UART i sl "cuda tehnike" nije imao !!!!!! a gdije bih ga prikopcao tada , 1980!!
Pa se nadam da ni tebi nece tako tesko past sto ti je asm prevodioc u DOSu !!?? :-)
Firkragg

Post by Firkragg »

Ma neće, samo bi volio nać nešto ljepo da je gušt radit u tome...
MPLAB je odličan odma naručujem piceve, samo se još nekužim u taj čudni asembler trebaće mi malo vremena (a kako bi išta naučio da imam onu glupost za dos :shock: )


:D
buco

Post by buco »

Kod izrade programa za asembler ionako ces najvise vremena " buljit " u text ,bez brige, stvarajuci svoj program . Ja sam dosta puta editiranje izvornog koda radio u wordu i kasnije reasemblirao , pa pogledaj kako zapravo izgledaju asm programi i vidjet ces da sam izgled i nije nesto jako vazan.No u svakom slucaju uz MPLAB i siroku paletu microchipovih MCUa bit ce ti zanimljivo.
Pozdrav
P.S zasto si bas inzistirao na MCS-51 klasi ?
Firkragg

Post by Firkragg »

Atmel rulez :D
Jači su(što se tiče hardverskih dodataka) i jeftiniji, doduše manje ih ima a pic
je dosta jednostavniji, imaju manje rama/flasha, doduše ima dosta malih tipova sa eeprom memorijom što je korisno :D ), neki imaju ADC i sl.
buco

Post by buco »

Ta prica ATMEL/MICROCHIP i 8 bitni MCUi jest zanimljiva . Pa neznam bas da je PIC jednostavniji za izradu programa iz asemblera jer on se drzi stare tradicije s jednim akumulatorom . Iako je normalno da je svakome "najlaksa" ona porodica koju najbolje pozna. Kao i Microchip tako i Atmel ima zaista siroku lepezu 8 bitnih MCUa svih velicina prg mem/srama/eeproma , razlicitih pakiranja i razlicitih specijalnih funkcijskih registara , ATmega serija je dosta tome pridonijela.Ja u zadnjie vrijeme najvise i radim s mega serijom jer po mojoj procijeni zadovoljava zahtijeve koji su meni potrebni .S Micorchipom radim uglavnom ako je potrebno neki stariji program koji sam radio prolagodit novim zahtijevima.
Pozdrav
Firkragg

Post by Firkragg »

AVR je isto dobar, vrlo je sličan 8051 ali su AMR uglavnom "jači", raspolažu s više funkcija, jednostavnije se programiraju...
buco

Post by buco »

AVR je na razini interne arhitekture "jako" drugaciji koliko sam vidio od serije 89C /S i sl. Tako da bas nije isti iako kazu da je atmel "malo" prepravia 8051 jezgru za svoju tada vrlo popularnu seriju AVR. ATmega i AVR serija su na razini izvornog koda 100% identicne ako se zanemare neke specijalne funkcije pridodane mega seriji , a to znaci da je kod ako se te funkije redefiniraju [ ako ih koristis] 100% prenosiv s mega na AVR a sa AVR na mega je sigurno 100% prenosiv.
Sto se programiranja u asembleru tice procitaj si literaturu i ako ti budem mogao pomoc reci pa cu se potrudit. Ja sam radio s porodicom PIC16 microchip i serijama AVR i Atmega Atmel.
Pozdrav
Firkragg

Post by Firkragg »

Jedna od glavnih razlika su portovi, 8051 je open-collector i može se kratko spajat na masu, a AVR se mora rekonfigurirat u programu prije nego postane ulaz/izlaz. Registar ddr<port> se postavlja u željena stanja i pri tome se port konfigurira kao ulaz/izlaz.
buco

Post by buco »

Da ! I na razini interne aritrkture su dosta razliciti a sto je programiranje najvaznije , ajde jos se to s opterecenjem porta nekako da rijesit . Zatim koliko se zna opcenito a to je izgleda zadrzao Microchip u seriji PIC16 jest vrijeme ciklusa /freq , iako Atmel kako sa da iscitat kaze da je uveo i cykl/freq kao kod AVR serije fetch/execute time su 1 perioda oscilatora a ne 4*perioda kao PIC16 ili cipova iz serija 89C/S i starijih Atmelovih.Mogucnost konfiguracije pinova , uvodjenje muliplexiranih funkcija , registara spec namijene , PWM moda , I2C, SPI, UART [ kod najnovijih i USB ] komunikacijskih registara , ADCa, ANAkomparatora, jtag opcije [ npr atmega128 , doduse jednostavnije] , kod mege bootloader opcije , full lockdown opcije i jos nekih extra funkcija ti mali 8 bitni kontroleri su postali upotrebljivi za jako puno razlicitih aplikacija bez dodatnog HW ili je potreba za njim jako reducirana.Broj naredbi je zaista relativno mali vrijeme izvrsenja najveceg broja naredbi je 1 cykl , pa do max 4-5 cykl za operacije samoprogramiranja i kad se tome doda sama brzina rada MIPS po MHz-u zaista je vrlo prihvatljiv HWski sklop.
Pozdrav
Sto se samog programiranja tice tu ima jos vrlo dobrih rijesenja koje omogucavaju vrlo efikasno koristenje svih gore navedenih funkcija i s obzirom na 8 pari 8 bitnih reg [16bita] ili 16 8 bitnih koji svi jesu akumulatori [ AVR/mega nemaju klasicni accumulator kao PIC16 ], od toga 3 para indexnih registara , i jos 16 registara u posrednoj upotrebi vrlo su zanimljivi programerima .Naravno ima tu jos zanimljivih stvari kad je izrada koda u pitanju , kao npr programska mem nije kao kod serije PIC16 izdijeljena u 2KB blokove koji zahtijevaju redefiniciju prg brojaca [ PCL i PCLATCH ] vec je "linearna" itd... iscitavanje prg memorije ne zahtijeva mali potprogram vec samo jednu naredbu [LPM] kod mege je moguce i samoprogramiranje u jednoj naredbi SPM [ koje nije moguce u AVR seriji nikako] ili "povecom" rutinom u PIC16 seriji .
Post Reply