Witam, Mógłby mi ktoś przesłać kod na obsługę tych dwóch wyjątkow, bo nie mam zielonego pojęcia co procedury obsługi wyjątków mają robić. Dla błędów recoverable z tego co przeczytałem w dokumentacji rdzenia Cortex R4F procedury nic nie muszą robić, bo po wskoczeniu do wyjątku błędy są naprawiane hardwarowo. Natomiast dla błędów typu unrecoverable prawdopodobnie...
LD PC, [PC, #-0x0ff0] oznacza, że do PC zostanie załadowana zwartość komórki pamięc spod adresu PC - 0x0ff0. Ponieważ owa instrukcja leży na początku pamięci odjęcie od PC -0x0FF0 spowoduje ze powstanie "ujemny" w postaci 0xfffffxxx. Jeśli LDR PC ... będzie leżalo na adresie 0xF0 po odjeciu 0xff0 wyjedzie wynik 0xfffff100 czyli adres początku tablicy...
Ja specjalnie wywołuje wyjątek pierwszy by zobaczyć czy da się powrócić z Data bądź Prefetch Aborta. Wywołuje w ten sposób, że odwołuje się do adresu ponad zadeklarowany Background, konkretnie próbuje tam zapisać pewną wartość. OK to sprawdzę bez breakpointa czy powraca z exceptiona. BTW jak zamienić tą instrukcję: SUBS pc, r14_irq, #8 na: __asm__ __volatile__...
Witam, Mam problem z debugowanie procesora LPC2478. Środowisko: postawione zgodnie z tutorialem ze strony Freddiego Chopinna czyli Eclipse (helios edition with HDT hardware debugging) + OpenOcd + Code Sourcery Lite edition Procesor: ARM NXP LPC2478 z kwarcem 12MHz Aplikacja: Na tym etapie mrugająca diodka na timeocie opartym o przerwanie timer0, PLL...
pliki vectors.s i startup.s mam od Ciebie /***************************************... * author: Freddie Chopin, http://www.freddiechopin.info/ * file: vectors.S * last change: 2010-04-08 * * chip: LPC2103 * compiler: arm-none-eabi-gcc (Sourcery G++ Lite 2009q3-68) 4.4.1 * * description:...
Wywala sie przy wyjsciu z przerwania 0x000013ac <ADC_IRQHandler+92>: pop {r4, r5, r6, pc} BUG: couldn't calculate PC of next instruction, current opcode was 0x5c002000 should never reach this point Dorzuce jeszcze moj plik startup: /* Startup code for STR91x ARM-based microcontrollers based on STR912 startup source and some examples from www.stm.com...
Proszę napisz gdzie to widzisz (kod, linia) Dodano po 1 Zmieniłem cześć kodu i chyba dobrze to wymyśliłem, ale teraz kompilator krzyczy mi ze nie ma definicji dla irq_handler Why? ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;... ;; ;; Part one of the system initialization code, ;; contains low-level ;; initialization. ;; ;; Copyright 2006 IAR Systems....
tak wyglada przykladowy startup dla LPC, w ktorym nie ma zadnych nadmiarowych rzeczy w zasadzie - samo minimum: /***************************************... * © 2008 Freddie Chopin * * file: startup.s * last update: 19.04.2008 * * processor: LPC2148 * compiler: ARM-ELF-GCC * * description:...
Profilaktycznie może spytam mądrzejszych ode mnie .section .vectors .balign 2 .syntax unified .arm __vectors: ldr PC,Reset_vector // Reset exception ldr PC,Undefined_vector // Undefined Instruction exception ldr PC,SWI_vector // Software Interrupt exception ldr PC,Prefetch_Abort_vector // Prefetch Abort exception ldr PC,Data_Abort_vector // Data...
Witam! Sory ze odpisuje dopiero teraz ale mialem problemy z kompem, swoja droga dosyc ciekawe (komputer zalaczal sie tylko na kilka sekund, zanioslem do serwisu a tam wspanialomyslni panowie serwisanci stwierdzili - plyta glowna do wymiany, wybulilem wiec 200 na nowa, podlaczylem i to samo, pozniej sam doszedlem do tego ze wlacznik komputera zwieral...
no wlasnie. to przeciez kluczowa sprawa. w pliku startup musi byc zadeklarowany wektor dla IRQ w tej oto postaci: ldr PC,reset_vector // reset exception ldr PC,undef_vector // undefined instruction exception ldr PC,swi_vector // software interrupt exception ldr PC,prefetch_abt_vector // prefetch abort exception ldr PC,data_abt_vector // data abort exception...
Przesyłam zawartość pliku .s //--------------------------------------... // Headers //--------------------------------------... #include "board.h" //--------------------------------------... // Definitions //--------------------------------------...
Tak powinno być .A w moim przypadku program przechodzi do adresu 0xfffffff3.Z tego co wyczytałem to jest właściwie Prefetch Abort (błąd pobierania?). In addition, a Prefetch Abort exception is generated for any instruction fetch that maps to an AHB or APB peripheral address, or to the Special Register space located just below the SRAM at addresses 0x3FFF8000...
/* * Some defines for the program status registers */ ARM_MODE_USER = 0x10 /* Normal User Mode */ ARM_MODE_FIQ = 0x11 /* FIQ Fast Interrupts Mode */ ARM_MODE_IRQ = 0x12 /* IRQ Standard Interrupts Mode */ ARM_MODE_SVC = 0x13 /* Supervisor Interrupts Mode */ ARM_MODE_ABORT = 0x17 /* Abort Processing memory Faults Mode */ ARM_MODE_UNDEF = 0x1B /* Undefined...
Dzięki za startupik jest fajnie opisany i napewno sie przyda z tym, że nie rozwiązuje on jeszcze mojego problemu. Chodzi o to, że w keilu funkcje przerwań wywolywane są poprostu poprzez określenie typu: np.: void podpr_obsl_przerw (void)__irq irq jest tu chyba jako makro asemblerowe tylko skąd to nie bardzo wiem pewnie ktoś mnie oświeci :D a teraz jak...
Od trzech dni bawię się ARM AT91SAM7x256 i RTOS. O RTOS nie wiem nic. Analizując program z www.freertos.org doszedłem co gdzie zmienić żeby dane które chce pojawiały sie w przeglądarce na PC, może ktoś zna odpowiedzi na te pytania: 1. RTOS w AT91SAM i w ogóle "system czasu rzeczywistego" w mikrokontrolerach polega na wywoływaniu wewnętrznego przerwania...
A na jakiej podstawie stwierdzasz, że nie działa? To programik do prostego migania dioda. Kiedy podlaczam do PA11 diode, to nie miga niestety. W keilu, przy tym samym kodzie migala. Co do linkera, to dodaj tam linijki: . = ALIGN(4); *(.text.*); zaraz za sekcją .text i będzie ok. 4\/3!! Serdecznie dzieki :)!!! Edit: No i po probie uzycia vsprintf dostaje:...
Mój plik CStartup.S wygląda następująco: /*--------------------------------------... //*- ATMEL Microcontroller Software Support - ROUSSET - //*-------------------------------------... //* The software is delivered "AS IS" without warranty or condition of any //* kind,...
Witam, Frieddie dzięki za odpowiedź. Mam kolejny problem. W eclipsie wyskakują mi takie błędy: W projekcie używam takich plików: startup.c /***************************************... * Copyright (c) 2009 by Michael Fischer. All rights reserved. * * Redistribution and use in source and binary forms, with or without...
Witam, Mam problem z uC AT91SAM7z256. Używam kompilatora WinARM. Oczywiście chodzi o przerwania. Przejrzałem kupę wątków na elektrodzie i doszedłem tylko do tego, że błąd może tkwić w startupie. Znalazłem wiele odpowiedzi co w nim zmienić ale akurat nie do tego procka i wersji tego pliku nikt się nie wypowiadał (chyba że coś przeoczyłem). Mój problem:...
Witam ! No wrzuciłem dwa bo tak mam jeden dla ROM drugi dla RAM co do startup to już wrzucam. /*--------------------------------------... //*- ATMEL Microcontroller Software Support - ROUSSET - //*-------------------------------------... //* The software is delivered "AS...
Witam, natknąłem się na następujący problem: Probuję debuggować w środowisku Ethernut dla procesów arm (SAM7X256 jesli chodzi o ścisłość). Niemniej jednak postępując zgodnie z instrukcją umieszczoną na stronie yagarto: nie mogę skopilować przykładu httpd. Otrzymuję kominikaty: C:\ethernut\nutapp\httpd>make all arm-elf-gcc -c -I../../nutbld/include...
Dobra to tak oryginalny plik linkera wygląda tak: /*--------------------------------------... /*- ATMEL Microcontroller Software Support - ROUSSET - */ /*--------------------------------------... /* The software is delivered "AS IS" without warranty or condition of any...
Chodzi tylko o zapis do EOI_R? Czy o coś jeszcze? Chodzi o specjalny sposób powrotu i koniec - powrót z funkcji przerwania jest inny niż ze zwyczajnej i w C się tego nie da zrobić "ręcznie". Mógłbym użyć również LDR pc,#0xFFFFF100 żeby bezpośrednio wskazać ten adres? Nie mógłbyś, bo taki format tej instrukcji nie istnieje. Nie kombinuj - robi się to...
Witam Podczas podłączenia urządzenia do USB na pc dostaje komunikat "Nie rozpoznano urządzenia usb". Po zdebagowaniu programu zauważyłem ze program nie wychodzi z pętli [syntax=c] while (!pCDC.IsConfigured(&pCDC));[/syntax] która jest zaimplementowana w następujący sposób: [syntax=c]static uchar AT91F_UDP_IsConfigured(AT91PS_CDC pCdc) { AT91PS_UDP pUDP...
Witam Wątpie, że mi ktoś pomoże ale cóż zależy spróbować. Nie mogę włączyć obslugi przerwań w moim procesorze. wiem że kod jest napisany prawidłowo gdyż testowalem na innym kompilatorze. Chodzi o plik startup, którego w sumie nie rozumiem. A może ktoś zna jakieś źródła wyjaśniające jak pisać takie pliki? Ucze się z książką "Mikrokontrolery at91sam7"...
sprawdz JTAGiem gdzie wisi. zapewne wskakuje w jakis wektor typu Prefetch Abort, wiec dopisz jakies procedurki obslugi wszystkich wyjatkow i wstaw tam jakies miganie diodkami albo cos. 4\/3!!
W trakcie aktualizacja OTA wywaliło bł, zrestartował się i już nie uruchomił. Po podpięciu się rs232 mam zapętlone info jak poniżej. Jak to zatrzymać i wgrać soft? System startup U-Boot 2010.06-svn4868 (Sep 24 2020 - 09:56:33) Check Flash Memory Controller v100 ... Found ECC provided by Flash Memory Controller In: serial Out: serial Err: serial squashfs...
Nie ma takich plików w systemie. Cały dmesg.log : [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.32-5-486 (Debian 2.6.32-45) (dannf(at)debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 Sun May 6 03:29:22 UTC 2012...
hi Mery84 thanks alot for this program it is new for me i used it and get that 05d8 Ultima Electronics Corp. 4001 Artec Ultima 2000 4002 Artec Ultima 2000 (GT6801 based)/Lifetec LT9385 Scanner 4003 Artec E+ 48U 4004 Artec E+ Pro my scanner Artec E+ 48U GT6816 chip and here it the DeviceList i get it from this program Device Information Listing for amro(at)DREAM-BFC1C57A1...
Znowu problemy :D 1. BootLoader. Przeczytałem sobie notę AN10835_1 od NXP i chciałem się zabrać za zapis do pamięci FLASH. #define Fcclk 72000000 #define IAP_CLK Fcclk #define IAP_LOCATION 0x7FFFFFF1 #define iap_entry(a, b) ((void (*)())(IAP_LOCAT... b) unsigned long command[5] = {0,0,0,0,0};...
Witam probuje skompilowac napisany uprzednio i dzialajacy program do RAMu. Niestety nie dziala mi obsluga wyjatkow(prawdopodbnie chodzi o remap wektorow jednak nie udalo mi sie znalezc informacji jak tego dokonac dla tego konkretnego procesora) oraz funkcja atoi(po przejzeniu objdumpa wydaje sie znajdowac pod wlasciwym adresem:/). Zastosowany plik startupu:...
Zobacz co w PIC'ach napisali: "When both prefetch and instruction cache are enabled, a Data Bus Exception (DBE) may occur if an interrupt is encountered by the CPU while it is accessing data from Flash memory. and During normal operation, if a CPU write operation is interrupted by an incoming interrupt, it should be aborted (not completed) and resumed...
To jest startup: .section .vectors, "ax" .code 32 .align 0 .global _vectors .global reset_handler /***************************************... Exception Vectors ****************************************... _vectors: #ifdef STARTUP_FROM_RESET ldr pc, [pc, #reset_handler_address...
Witam, mam problem z implementacją projektu z załącznika (docelowo WinArm/miganie dioda) na CrossWorksie i mikrokontrolerze AT91SAM7X256(konkretnie SAM7-EX256 olimex.dev). Przy linkowaniu dostaje blad : Building “faty_z_ksiazki” in configuration “ARM Flash Debug” — 4 errors Assembling Cstartup.S Linking faty_z_ksiazki.elf...
Nie mogę jednak pogodzić się z tym, że nie mogę na LPC pisać przerwań z dowolnie długą ich zawartością No chyba żartujesz z tą 'dowolną długością' przerwania? 1. Przerwania zawsze na każdym typie CPU powinny być jak najszybsze - taka ich natura. 2. LPC nie różni się pod tym względem od innych kontrolerów. ... a jednocześnie nie potrafiłem wydebugować...
Witaj, Zrobiłem kilka dużych projektów na tym STR912. Nie mam jednak kodu pod ręką więc napisze coś co Ci może pomóc a resztę wieczorem. ARM, ma dwie linie przerwań, jedna IRQ druga FIQ, i tyle. Ten VIC jest zewnętrzny i nie ma nic do ARMa. Trzeba więc mieć: 1) Handler do IRQ ARMa, zwykle assembler, poszukaj plików *.s a w nich czegoś o nazwie "Vector...
Witam! Mam troche amatorskie pytanie, ale nie mogę się połapać co robię nie tak.. Miałem swój działający program kompilował się normalnie, ale gdy zrobiłem sobie make clean i chciałem go na nowo skompilować za pomocą make, to już przestał się kompilować :shocked!:, czego nie rozumiem teraz generalnie dostaje błąd: [syntax=bash]/home/tomek/Pobrane/FreeRTO...