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

Inicijalizacije stacka za STM32F103C8 u IAR

[es] :: Asembler :: Inicijalizacije stacka za STM32F103C8 u IAR

[ Pregleda: 516 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksa20.07
Aleksa Ristić
Beograd, Srbija

Član broj: 316847
Poruke: 90

Sajt: arduinisti.wordpress.com


+4 Profil

icon Inicijalizacije stacka za STM32F103C8 u IAR20.11.2018. u 23:49 - pre 6 meseci
Pozdrav,

Odabrao sam praktični rad za seminarski koji je obavezan pritom sam prevideo da nemam dovoljno vremena da se posvetim proučavanju silne dokumentacije koja postoji o samom okruženju, arhitekturi, itd. Imam toliko vremena samo da pređem ono što mi je potrebno za rad.

Naišao sam na problem koji uporno pokušavam da rešim, tačnije, ne mogu da nađem nigde na koji način da inicijalizujem stek za STM32F103 u IAR okruženju. Dokumentacija za okruženje je previše uska i konkretna da mnogo toga ne mogu da razumem, a knjiga koju sam koristio koristi direktive koje očigledno ne funkcionišu u IAR.

Imam još nekoliko dana, a program ne mogu realizovati bez steka pošto mi trebaju ugnežđena grananja te je potrebno da pamtim adrese povratka, potrebna mi je pomoć što pre.

Najveći problem mi je što ni na fakultetu nemam koga da maltretiram jer niko nije radio sa ovim procesorom, radili su sa mnogo starijim i to samo teorijski, niko nema praktičnog iskustva (sem jednog profesora do kog ne mogu da dođem zbog vremenskog ograničenja).

Molio bih ako iko radi sa ovim procesorom, u ovom okruženju i može da mi pomogne, da mi dopiše u kod ispod (automatski generisan šablon koji se generiše po kreiranju projekta za ovaj mcu), šta je potrebno navesti od direktiva da inicijalizujem stek. Nije mi potrebno mnogo prostora, recimo da može da čuva do 30 adresa (32 bitnih).

Evo šablona, hvala unapred na dopuni koda koja mi je neophodna!


PUBLIC __iar_program_start
PUBLIC __vector_table

SECTION .text:CODE:REORDER(4)

;; Keep vector table even if it's not referenced
REQUIRE __vector_table

THUMB

__iar_program_start

main B main

;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2)

DATA

__vector_table
DCD sfe(CSTACK)
DCD __iar_program_start

DCD NMI_Handler
DCD HardFault_Handler
DCD MemManage_Handler
DCD BusFault_Handler
DCD UsageFault_Handler
DCD 0
DCD 0
DCD 0
DCD 0
DCD SVC_Handler
DCD DebugMon_Handler
DCD 0
DCD PendSV_Handler
DCD SysTick_Handler

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;

PUBWEAK NMI_Handler
PUBWEAK HardFault_Handler
PUBWEAK MemManage_Handler
PUBWEAK BusFault_Handler
PUBWEAK UsageFault_Handler
PUBWEAK SVC_Handler
PUBWEAK DebugMon_Handler
PUBWEAK PendSV_Handler
PUBWEAK SysTick_Handler

SECTION .text:CODE:REORDER:NOROOT(1)
THUMB

NMI_Handler
HardFault_Handler
MemManage_Handler
BusFault_Handler
UsageFault_Handler
SVC_Handler
DebugMon_Handler
PendSV_Handler
SysTick_Handler
Default_Handler
__default_handler
CALL_GRAPH_ROOT __default_handler, "interrupt"
NOCALL __default_handler
B __default_handler

END

smf
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 2507
82.117.201.*



+551 Profil

icon Re: Inicijalizacije stacka za STM32F103C8 u IAR21.11.2018. u 15:21 - pre 6 meseci
Nepoznato mi je IAR okruzenje, ali prosto dodelis stak pointeru neku vrednost i to je to. Ovo sto si postao deluje kao gomila
makroa ne vidi se asembler.

edit:
naravno ne dodelis bilo koju adresu nego vrh rezervisamog prostora koji ces u datom asembleru rezervisati.
Pretpostavljam da stack raste na dole.

press any key to continue or any other to quit....
 
Odgovor na temu

aleksa20.07
Aleksa Ristić
Beograd, Srbija

Član broj: 316847
Poruke: 90

Sajt: arduinisti.wordpress.com


+4 Profil

icon Re: Inicijalizacije stacka za STM32F103C8 u IAR21.11.2018. u 16:14 - pre 6 meseci
Nisam objavljivao kod zato što je nepotrebno za rešavanje mog problema. Ne mogu naći uputstvo kako se pišu direktive. U programu koristim samo neposredne veličine jer nije toliko kompleksan da bi mi trebale konstante.

Dakle dovoljno je samo da pozicioniram SP na adrese koje su slobodne, ne trebaju mi dodatne inicijalizacije? Problem je što sam se prebrzo uhvatio projekta, a premalo vremena mi je na raspologanju pa nemam vremena da proučavam sve moguće datasheetove i user manuale.
smf
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 2507
82.117.201.*



+551 Profil

icon Re: Inicijalizacije stacka za STM32F103C8 u IAR21.11.2018. u 16:22 - pre 6 meseci
Ne treba nista vise od dodeljivanja adrese. Imas stack pointer i frame pointer cini mi se. To je ARM?
press any key to continue or any other to quit....
 
Odgovor na temu

aleksa20.07
Aleksa Ristić
Beograd, Srbija

Član broj: 316847
Poruke: 90

Sajt: arduinisti.wordpress.com


+4 Profil

icon Re: Inicijalizacije stacka za STM32F103C8 u IAR21.11.2018. u 16:57 - pre 6 meseci
Jeste, Cortex-M3.
smf
 
Odgovor na temu

[es] :: Asembler :: Inicijalizacije stacka za STM32F103C8 u IAR

[ Pregleda: 516 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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