nikt nie pomoże??? W pliku boot.s masz: (at) (at) Setup vector table. (at) .section .startup,"ax" .code 32 .align 0 ldr pc, _start (at) reset - _start ldr pc, _undf (at) undefined - _undf ldr pc, _swi (at) SWI - _swi ldr pc, _pabt (at) program abort - _pabt ldr pc, _dabt (at) data abort - _dabt ldr pc, _start (at) reserved - reset ldr pc,...
PIT? przeciez gcc nie obsluguje takiego parametru do atrybutu interrupt... interrupt Use this attribute on the ARM, AVR, M32R/D and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. Note,...
Witam, Próbuję przeflashować moduł WiFi kontrolera ładowania słonecznego z oprogramowaniem open source. https://obrazki.elektroda.pl/2863695800_... https://obrazki.elektroda.pl/3944062200_... https://obrazki.elektroda.pl/6065412100_... https://obrazki.elektroda.pl/6413893400_... https://obrazki.elektroda.pl/7699518000_...
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...
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...
Tak więc jeśli Twój program, po podobnym przesunięciu nie działa prawidłowo, to trzeba się zastanowić, czy on w ogóle działa prawidłowo (; Bez przesunięcia na pewno działa prawidłowo :) No to niezły kwas, muszę to przetrawić :) Uznanie dla umiejętności. Dodano po 14 To na pewno chodzi o kopiowanie tablicy wektorów na początek. Jak wstawić do mojego...
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:...
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...
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...
Doczytałem na stronie Freddiego: Jeśli w kodzie zaszły jakieś zmiany konieczne jest załadowanie do pamięci układu nowego obrazu. Kusi aby użyć do tego celu opcji z ramki Load Image and Symbols, niemniej jednak i te opcje niezbyt dobrze współpracują z ARMami. Do załadowania obrazu można więc wykorzystać bezpośrednio komendę GDB - load - którą wpisać...
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 ! 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...
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...
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:...
Oto moj plik boot.S Wydaje mi sie ze wszystko jest ok, ustawiony jest teraz tryb Supervisor rozmiary stosu tez sie wydaja ok # *** Startup Code (executed after Reset) *** # Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs .equ Mode_USR, 0x1F .equ Mode_FIQ, 0x11 .equ Mode_IRQ, 0x12 .equ Mode_SVC, 0x13 .equ Mode_ABT,...
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...
Troszkę irytował mnie kod startowy jaki zaproponował KEIL dla mojego mikrokontrolera LPC2318. Postanowiłem więc okroić go do niezbędnego minimum. Z tego co poczytałem dokumentację, wynikało iż najważniejsze jest ustawienie adresów stosów dla poszczególnych wyjątków, ustawienie sterty (jeżeli takowej będziemy używać), ustawienie mapowania pamięci, inicjalizacja...
Zmieniam zdanie - wg standardu EABI atrybut ten jest KONIECZNY. Sorry. Poniżej info z dokumentacji GCC: interrupt Use this attribute on the ARM, AVR, CRX, M32C, M32R/D, m68k, MeP, MIPS, RX and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use...
Piszę na tym samym procesorze, tylko że w gcc. Mam zamiar wywołać zwykłe IRQ, jednak nie działa. Podejrzwam że odpowiada za to w startupie: .equ I_Bit, 0x80 /* when I bit is set, IRQ is disabled */ .equ F_Bit, 0x40 /* when F bit is set, FIQ is disabled */ # Enter IRQ Mode and set its Stack Pointer MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit MOV SP, R0 SUB R0,...
Witam, w projekcie wykorzystuje plik startowy generowany automatycznie (listing poniżej). [syntax=asm] ;/* STARTUP.S: Startup file for Philips LPC2000 */ ;/**************************************... ; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs Mode_USR EQU 0x10 Mode_FIQ EQU 0x11 Mode_IRQ EQU 0x12 Mode_SVC...
Witam, Zaczynam właśnie przygodę z programowaniem ARM7. Zaopatrzyłem się w książkę "LPC2000 w przykładach" Emila Stawskiego. Książka ta opisuje proces programowania w środowisku uVision3 połączonym z darmowym kompilatorem GNUARM. Moje środowisko programistyczne: - uVision4 (wersji 3 już nie można pobrać), - GNUARM, - FlashMagic Ale do rzeczy... Ściągnąłem...
To znaczy co masz na myśli? Projekt stworzyłem w µVision który wygenerował taki plik startup: [syntax=asm];/**************************... ;/* STARTUP.S: Startup file for Philips LPC2000 */ ;/**************************************... ;/* <<< Use Configuration...
Przesyłam zawartość pliku .s //--------------------------------------... // Headers //--------------------------------------... #include "board.h" //--------------------------------------... // Definitions //--------------------------------------...
Witam Napisałem kawałek kodu do obsługi przerwań IRQ Zasada miała być taka po wywołaniu przerwania (zwarcie PIO_PA2 do masy) miał zmienić się stan diody na PIO_PA27. Niestety program nie działa poprawnie (przerwanie nie jest wykonywane). Tytułem wstępu to tyle. Poniżej kod, który powinien realizować przerwania. main.c http://obrazki.elektroda.pl/7449929900_1...
/***************************************... /* */ /* startup_SAM7S.S: Startup file for Atmel AT91SAM7S device series */ /* */ /***************************************... /* ported to arm-elf-gcc / WinARM by Martin Thomas, KL, .de */ /* <eversmith(at)heizung-thomas.de> */ /* modifications...
Dla odmiany, teraz przy kompilacji przez arm-elf-g++ dostaję: src\main.c||In function 'int main()':| src\main.c|43|warning: statement has no effect| src\main.c|46|warning: statement has no effect| src\main.c|31|warning: unused variable 'i'| src\main.c|33|warning: unused variable 'b'| crt.o||In function `Undef_Addr':|...
PLL nie tykałem tutaj jest plik // Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs Mode_USR EQU 0x10 Mode_FIQ EQU 0x11 Mode_IRQ EQU 0x12 Mode_SVC EQU 0x13 Mode_ABT EQU 0x17 Mode_UND EQU 0x1B Mode_SYS EQU 0x1F I_Bit EQU 0x80 /* when I bit is set, IRQ is disabled */ F_Bit EQU 0x40 /* when F bit is set, FIQ is disabled...
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...
Witam Próbowałem załączyć pętlę PLL na ARMie. Nie chce mi się załączyć i nie przechodzi przez warunek sprawdzania w PLLSTAT (while( !( PLLSTAT & (1 << 26) ) );). Przeglądnąłem dokumentacje i przykładowe kody. Ale dalej nie działa :) Oscylator 12MHz Fcc0 288MHz Podzielniki N=1 M=12 (do rejestrów wpisuje wartości mniejsze o 1) Spodziewane CCLK...
Witam, jestem początkujący w programowaniu ARMów, więc proszę o wyrozumiałość. Mój problem polega na tym, że program nie wskakuje do przerwania IRQ. Oczywiście mam wyzerowane bity I_BIT i F_BIT w CPSR, ustawionego VIC'a i w startupie skok do VICAddress. Pracuję w środowisku Eclipse + najnowsze yagarto, czyli: Binutils-2.19.1 Newlib-1.17.0 GCC-4.3.3...
Proszę, otóż co widać w terminalu: Ethernet eth0: MAC address 00:0e:8e:7e:f6:2b IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 Default server: 192.168.1.23 RedBoot(tm) bootstrap and debug environment [ROM] production release, version "2.1.3" - built 21:21:29, Aug 27 2007 Platform: ap30 (Atheros WiSOC) Copyright (C) 2000, 2001, 2002, 2003, 2004 Red...
Witam, Frieddie dzięki za odpowiedź. Mam kolejny problem. W eclipsie wyskakują mi takie błędy: http://obrazki.elektroda.net/65_12610988... http://obrazki.elektroda.net/14_12610988... W projekcie używam takich plików: startup.c /***************************************... * Copyright (c) 2009...
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...
udało mi sie poprawnie uruchomić wyjątek DAbt_Handler: wyjatek jest wywolywany gdy probuje wpisac jakas wartosc poza dostepny obszar adresowy. Mam pytanie kiedy zostanie wywolany wyjatek PAbt_Handler? (czy jest to wyjatek zlego adresu instrukcji kodu?) Aby poprawnie dzialaly wyjatki musialem zmienic nazwe wektorow z standardowych na jakies inne w pliku...
A jak uruchomić przerwanie FIQ? Na początku zmieniłem atrybut (jak się później okazało nie zmienia to niczego w programie (porównałem pliki BIN)): static void t0isr(void) __attribute__ ((interrupt("FIQ"&... Później zmiana w rejestrze VIC: VICIntSelect = 0x00000010; //t0isr = FIQ I na tym zakończyłem zmiany,...
Witam Używam do celów testowych uk z rdzeniem ARM7TDMI flash 32kB RAM 8KB. Niestety nie są to porażające wartości stąd chciałbym możliwie optymalnie je wykorzystać przed ew. zmianą uk. Bardzo często program ląduje w uchwycie ldr pc, =Data_Abort_Handler // Data Abort exception ... Inicjalizacja pamięci: Zgodnie z dokumentacją aby uk z rdzeniem ARM7 mogły...
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....
Witam, załóżmy że chcę wykonać inicjalizację systemu do obsługi FIQ z EINT2. Powiedzmy, że dysponuję takim vectors.S: [syntax=c] // #=======================================... // # // # vectors.S // # // # ARM exception vectors (Olimex LPC-P2138) // # // # // # Copyright HighTec EDV-Systeme GmbH 1982-2007 // # // #=======================================...
próbowałem wyłączyć MAM i nic nie pomogło. PLL mam włączone na 60MHz, timingi ustawione na 3, ale próbowałem nawet na 7 i też nic nie dało. Dodam że jak wgrywam program H-jtagiem bez debuggowania, to działa prawidłowo. Gdy zakomentuje konfigurację PLL to można debugować, ale to mnie nie urządza. Dziwną sprawą jest, że gdy CPU działa na 60 MHz to okienko...
No dobra, pomieszałem, posprawdzałem wszystkie możliwości i to działa za każdym razem. Co dziwne warningów nie mam, choć w makefilu: #Opcje kompilatora C CFLAGS += -Wall CFLAGS += -std=gnu99 Dodano po 2 Dobra, po raz pierwszy w życiu skorzystałem z JTAGA i na razie rozumiem chyba tyle, że podczas zwiechy, procek stoi mi w miejscu: 00000048 <PAbt_Handler>:...
Plik Vectors.S załączam. Chętnie przeczytam co o nim sądzisz. [syntax=c]// #=======================================... // # // # vectors.S // # // # ARM exception vectors (Olimex LPC-P2138) // # // # // # Copyright HighTec EDV-Systeme GmbH 1982-2007 // # // #=======================================...
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...
OK, rozumiem. Szkoda ze nie ma żadnego programy testowego, który po wgraniu do EEPROM wysyłałby kwadrat na wyjściowe ważniejsze piny procka. Wtedy życie byłoby prostsze :) Sprawdziłem piny procka tuz po wklepaniu komendy openocd -f interface .... i naciśnięciu klawisza enter (czyli próba resetu i wykrycia targeta). Oto wynik ich stanów napięciowych:...
1. Zrobione. 2. No właśnie czytałem o tym bootloaderze i nie bardzo rozumiem. Chodzi o to że bootloader jest tam fabrycznie? Nawet w niezaprogramowanym procu? Wiem tylko tyle, że na stronie 677 User Manuala do LPC2478 pisze że jest to pin P2.10. Więc podłączę go rezystorem 10k do VCC. http://obrazki.elektroda.net/96_12451461... 3. Nie bardzo...
OK, więc tak: startup.s /* +=======================================... | includes +=======================================... */ #include "hdr/hdr_cpsr.h" /* +=======================================... | startup code +=======================================...
Witam. Mam problem z obsłużeniem bibliotek Atmela do magistrali TWI dla mikrokontrolerów z rodziny Xmega. Próbuje odebrać dane z Mastera. Master to Atmega, która jest na pewno skonfigurowana poprawnie, gdyż dane odbierałem na innej atmedze. Problem pojawia się gdy chcę je odebrać na Xmedze, ze względu na moje początki z tym mikrokontrolerem. Może ktoś...
A to nie jest tak że pliki boot.S oraz lpc2142-rom.ld (kody poniżej) inicjują cały procesor. Korzystam ze wzoru projektu udostępnionego na www.btc.pl. boot.S //Plik startowy dla mikrokontrolerow LPC214x /****************** KONFIGURACJA *********************/ /*Ustawienia stosu*/ #define Top_Stack 0x40004000 #define UND_Stack_Size 0x00000004 #define...
prefetch abort error handler freddie handler
amica płyta indukcyjny booster regulacja silnika indukcyjnego sposobić ściana
samsung blokada telefonu rozwalony android
Piekarnik elektryczny niedogrzewa - możliwe przyczyny Pomylenie zasilania z powrotem w instalacji c.o.