[ aleksa20.07 @ 20.11.2018. 23:49 ] @
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 |