asm
Moderators: pedja089, stojke369, [eDo], trax
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
Pozdrav
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
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
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
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
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
Pozdrav
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.
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.
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 !!??
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 !!??
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 ?
Pozdrav
P.S zasto si bas inzistirao na MCS-51 klasi ?
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
Pozdrav
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
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
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 .
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 .