 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.01 Kraj: Ljubljana
|
Objavljeno: Ned Jan 16, 2011 11:08 am Naslov sporočila: Nekaj assembler ukazov... kaj pomenijo? |
|
|
Ali lahko kdo na kratko pove, kaj pomeni set ukazov: LDR, DCD, NOP, MSR, SUB, ADD, SWI
Zanima me, ali so to sploh assembler ukazi... Berem namreč knjigo o ARM jedru, ki ma 700+ strani in me zanima nekaj stvari, da se ne bom kar nekaj učil.
LP |
|
Nazaj na vrh |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.66 Kraj: Zagorje ob Savi
|
Objavljeno: Ned Jan 16, 2011 12:20 pm Naslov sporočila: |
|
|
Da, to so ukazi zbirnika. Razlago teh in še vseh drugih najdeš v ARM Instruction Set-u.
LP! |
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.01 Kraj: Ljubljana
|
Objavljeno: Ned Jan 16, 2011 2:37 pm Naslov sporočila: |
|
|
Mislis v ISA (Instruction Set Architecture). Vem da je tudi vec ISA kot npr. ARMv3, ARMv4T, ARMv5TEJ,... od teh sem izbrskal tudi, da je za moje jedro ARM926ej-s primeren ISA ARMv5TEJ, ki podpira thumb, extended instructions pa jazelle, katerega ne bom potreboval saj ne bom neke jave izvajal zaenkrat se. Res super, ko berem knjigo in sem ravno obdelal registre (pc, cpsr, spsr, r15_res,...), pipeline, ... pa je ravno tole na vrsti in končno vidim malo povezave z assembly jezikom. Upam, da bom kmal znal kaj preprostega sprogramirat.
Se nekaj, kako dostopas do katerega koli GPIO npr. GPIO1, GPIO2,... rad bi namrec zacel malo prizigat/ugasat LED. Kaksen preprost primer bi bil ekstra pa voda na moj mlincek  |
|
Nazaj na vrh |
|
 |
qwertz Član


Pridružen-a: Ned 01 Jun 2008 11:57 Prispevkov: 2740 Aktiv.: 13.22 Kraj: Vrhnika
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14672 Aktiv.: 61.99 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Jan 16, 2011 5:36 pm Naslov sporočila: |
|
|
Dobra literatura. Imam par primerkov LPC-jev. Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? Je free za assembler? _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.74 Kraj: Kranj - struževo
|
Objavljeno: Ned Jan 16, 2011 7:21 pm Naslov sporočila: |
|
|
Silvo je napisal/a: |
Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? |
Rabiš samo FlashMagic softver (free) in 3,3V signale RX, TX (na primer en FTDI) na UART0. To je čista osnova. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1234 Aktiv.: 5.68 Kraj: KOPER
|
Objavljeno: Ned Jan 16, 2011 8:14 pm Naslov sporočila: |
|
|
Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7. _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14672 Aktiv.: 61.99 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Jan 16, 2011 8:15 pm Naslov sporočila: |
|
|
aly je napisal/a: |
Silvo je napisal/a: |
Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? |
Rabiš samo FlashMagic softver (free) in 3,3V signale RX, TX (na primer en FTDI) na UART0. To je čista osnova. |
Snel, pogledal... to je orodje za programirat. Kako je s prevajalnikom? _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1234 Aktiv.: 5.68 Kraj: KOPER
|
Objavljeno: Ned Jan 16, 2011 8:21 pm Naslov sporočila: |
|
|
rudiP je napisal/a: |
Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7. |
Naslov: Cigotag ali ARM-i na preprost in poceni način
Številka: 152 se
Stran: 24
Leto: 2008
Avtor: Avtor: Matjaž Vidmar, S53MV E-pošta: vidmar.matjaz@gmail.com _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14672 Aktiv.: 61.99 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Jan 16, 2011 8:23 pm Naslov sporočila: |
|
|
rudiP je napisal/a: |
rudiP je napisal/a: |
Zanimiv je članek Marjaža Vidmarja v SE(ne vem katera številka), o programiranju in programatorju za ARM7. |
Naslov: Cigotag ali ARM-i na preprost in poceni način
Številka: 152 se
Stran: 24
Leto: 2008
Avtor: Avtor: Matjaž Vidmar, S53MV E-pošta: vidmar.matjaz@gmail.com |
Točno, tole sem nekoč snel... _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
qwertz Član


Pridružen-a: Ned 01 Jun 2008 11:57 Prispevkov: 2740 Aktiv.: 13.22 Kraj: Vrhnika
|
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.01 Kraj: Ljubljana
|
Objavljeno: Tor Feb 08, 2011 6:45 pm Naslov sporočila: |
|
|
Silvo je napisal/a: |
Dobra literatura. Imam par primerkov LPC-jev. Moram narediti programator pa ob priliki probat. Kako je s prevajalnikom? Je free za assembler? |
Kaj ta flash magic je simulator za ARM ali kako? Ali bi to delalo na Linuxu, da bi malo gledal kaj se dogaja z registri v kolikor bi napisal kak program. Se učim assembly pa je v knjigi toliko primerov, katere bi rad stestiral... |
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.01 Kraj: Ljubljana
|
Objavljeno: Tor Jul 05, 2011 7:41 pm Naslov sporočila: |
|
|
Ali mi lahko kdo pove, zakaj se ukaz .word hang v zaglavju assembly programa tolikokrat ponovi?
Koda: |
.thumb
.word 0x10008000 /* stack top address */
.word _start /* 1 Reset */
.word hang /* 2 NMI */
.word hang /* 3 HardFault */
.word hang /* 4 MemManage */
.word hang /* 5 BusFault */
.word hang /* 6 UsageFault */
.word hang /* 7 RESERVED */
.word hang /* 8 RESERVED */
.word hang /* 9 RESERVED*/
.word hang /* 10 RESERVED */
.word hang /* 11 SVCall */
.word hang /* 12 Debug Monitor */
.word hang /* 13 RESERVED */
.word hang /* 14 PendSV */
.word hang /* 15 SysTick */
.word hang /* 16 External Interrupt(0) */
.word hang /* 17 External Interrupt(1) */
.word hang /* 18 External Interrupt(2) */
.word hang /* 19 ... */ |
|
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.74 Kraj: Kranj - struževo
|
Objavljeno: Tor Jul 05, 2011 7:57 pm Naslov sporočila: |
|
|
Očitno obstaja nek ukaz ali funkcija po imenu hang. Vrednost je dolžine 16 bitov (word).
To, kar gledaš tu, so implementacije interrupt vektorjev.
Na začetku je napisan naslov, kjer se te konstante začnejo zapisovati.
Ko med delovanjem programa pride do interrupta, procesor s te lokacije vzame naslov (ali izvede ukaz na tej lokaciji, odvisno od proca). V tvojem primeru skoči v proceduro/funkcijo na naslovu po imenu hang. Predvidevam, da tak assemblerski ukaz ne obstaja. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.01 Kraj: Ljubljana
|
Objavljeno: Tor Jul 05, 2011 11:16 pm Naslov sporočila: |
|
|
Mogoče bolje da celoten program nalimam sem, saj ni tako velik. No vglavnem to naj bi bil blinker za MBED, ki si ga poiskušam razložiti in res je spodaj labela hang: a še vedno ne vem, zakaj bi na začetku tolikokrat skakal na to labelo. Tale assembly je kar precej zakompliciran . Aja namesto [slovenščina ... bla bla ... španska vas] stoji tam b1.
Koda: |
.thumb
.word 0x10008000 /* stack top address */
.word _start /* 1 Reset */
.word hang /* 2 NMI */
.word hang /* 3 HardFault */
.word hang /* 4 MemManage */
.word hang /* 5 BusFault */
.word hang /* 6 UsageFault */
.word hang /* 7 RESERVED */
.word hang /* 8 RESERVED */
.word hang /* 9 RESERVED*/
.word hang /* 10 RESERVED */
.word hang /* 11 SVCall */
.word hang /* 12 Debug Monitor */
.word hang /* 13 RESERVED */
.word hang /* 14 PendSV */
.word hang /* 15 SysTick */
.word hang /* 16 External Interrupt(0) */
.word hang /* 17 External Interrupt(1) */
.word hang /* 18 External Interrupt(2) */
.word hang /* 19 ... */
hang: b .
.thumb_func
dowait:
ldr r7,=0x10000
dowaitloop:
sub r7,#1
bne dowaitloop
bx lr
.thumb_func
.globl _start
_start:
ldr r0,=0x2009C022
ldrb r1,[r0]
mov r2,#0xB4
orr r1,r2
strb r1,[r0]
ldr r0,=0x2009C03A
ldr r1,=0x2009C03E
ldr r2,=0x80
ldr r3,=0x20
ldr r4,=0x10
ldr r5,=0x04
mainloop:
strb r2,[r0]
strb r3,[r1]
strb r4,[r1]
strb r5,[r1]
[slovenščina je zame španska vas] dowait
strb r2,[r1]
strb r3,[r0]
strb r4,[r1]
strb r5,[r1]
[slovenščina je zame španska vas] dowait
strb r2,[r1]
strb r3,[r1]
strb r4,[r0]
strb r5,[r1]
[slovenščina je zame španska vas] dowait
strb r2,[r1]
strb r3,[r1]
strb r4,[r1]
strb r5,[r0]
[slovenščina je zame španska vas] dowait
strb r2,[r1]
strb r3,[r1]
strb r4,[r0]
strb r5,[r1]
[slovenščina je zame španska vas] dowait
strb r2,[r1]
strb r3,[r0]
strb r4,[r1]
strb r5,[r1]
[slovenščina je zame španska vas] dowait
b mainloop
.end |
|
|
Nazaj na vrh |
|
 |
|
|
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: 487 dni
Powered by phpBB © 2001, 2005 phpBB Group
|