| Author |
Message
|
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#91
14 Nov 2009 22:45 Re: Przykładowe projekty dla ARMów |
|
|
|
Dane wpisane do tego skryptu zakładają, że nie korzystasz z ŻADNYCH wyjątków. Musisz sobie je ustawić w zależności od swoich potrzeb.
| Petros wrote: |
| __irq_stack_size = 0; Czyli po wejściu w przerwania mam dostępne 0 pamięci ram na zminne? |
W skrócie: Funkcji ustawiającej stosy przekazane jest 0 dla trybu XXX, a więc (w zależności od kolejności) dany stos będzie pokrywał się z końcem lub początkiem innego stosu. W tym konkretnym przypadku (wszystko poza user_system równe 0) pozostałe stosy pokrywają się z początkiem (najwyższym adresem) stosu user_system.
| Quote: |
| Mimo to uC nie zawiesza się jeśli podczas obsługi przerwania deklaruje zmienne. |
Przypadek, nie zawiesza się teraz, to pewnie kiedyś to zrobi. W przerwaniu (jeśli nie ustawisz sobie jakiegoś rozmiaru) zajeżdżasz pierwsze dane które zostały odłożone na stos, czyli to co zachowane zostało po wejściu do main() (jeśli cokolwiek) i przypuszczalnie w pierwszych zagłębieniach.
| Quote: |
| __user_stack_size = 512; oznacza 512 bajty? Mimo to moża zadeklarować większe tablice działające. Chyba że coś źle roumie. |
Jest to deklaracja ze strony programisty, że nie zużyje więcej pamięci na stos. Możesz sobie zadeklarować tablicę nawet 1M, tyle że (w przypadku tego skryptu linkera) zajedziesz sobie sekcję .bss i .data, albo nawet wykroczysz poza dostępną pamięć (DataAbort).
| Quote: |
| Widziałem gdzięś post na temat tego jak sprawdzić czy stos sie nie przepełnia ale nie mogę go znaleść. |
Nie można prosto sprawdzić czy się nie przepełnia, można za to ocenić doświadczalnie zapotrzebowanie na stos i sobie go wtedy ustawić tak aby marnować mniej RAMu.
Post którego szukasz: http://www.elektroda.pl/rtvforum/viewtopic.php?p=7094362#7094362
4\/3!!
|
|
| Back to top |
|
 |
Google

|
#
14 Nov 2009 22:45 |
|
|
|
|
|
| Back to top |
|
 |
Petros Poziom 18

Joined: 03 Feb 2007 Posts: 473
|
#92
14 Nov 2009 22:55 Re: Przykładowe projekty dla ARMów |
|
|
|
Dziękuje Freddie Chopin. Już mi sie rozjaśniło. Zapomiałem że ten post o sprawdzaniu stosu dotyczył STM32 i nie znalazłem go.
|
|
| Back to top |
|
 |
Petros Poziom 18

Joined: 03 Feb 2007 Posts: 473
|
#93
14 Dec 2009 21:20 Re: Przykładowe projekty dla ARMów |
|
|
|
Witam
Co powinienem zmienić w plikach aby działały przerwania FIQ ?
Mam wersje plików "2009-09-19"
zadeklarowałem funkcję
void p_Tim0(void)__attribute((interrupt("FIQ")));
i ustawiłem przerwania dla TIMER0:
T0PR = 60 -1;
T0MCR |= (1<<0);
T0MR0 = 500000-1;
T0TCR = 1;
VICIntSelect |=(1<<K_TIM0);
VICIntEnable = (1<<K_TIM0);
enable_fiq();
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#94
14 Dec 2009 21:51 Re: Przykładowe projekty dla ARMów |
|
|
|
Funkcja musi nazywać się tak jak jest nazwana w tablicy wektorów, czyli FIQ_Handler (chyba).
Atrybut oczywiście też musi być.
_________________________
Tak BTW to wskrzesiłeś temat dokładnie w momencie gdy chciałem w nim coś dopisać [; Kilka linijek i (chyba) największa bolączka mojego Makefile'a znikła - można będzie kompilować pliki źródłowe rozmieszczone w różnych katalogach - jedynie trzeba je podać - tego już nie da się (chyba [; ) przeskoczyć, bo nie ma funkcji w make, która wyszukiwałaby katalogi - myślę że to nie jest wielki problem [; Nowa wersja przykładów nadchodzi... Stay tuned!
Planowane inne zmiany:
1. Zmiana nazw na "bardziej standardowe" - zgodne z lista ze stronki o make - http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_10.html#SEC89
2. Możliwość zmiany rozszerzeń plików (możliwe też listy), czyli pliki C++ będą mogły mieć rozszerzenia np cxx, cc i cpp jednocześnie, a skrypt "znajdzie" je wszystkie
3. W startupie wywoływane będą dwie funkcje low_level_init - jedna przed inicjalizacją pamięci (extremalny low level), druga przed wejściem do main()
4. Dla ARM7 tablica wektorów znów w assemblerze [;
5. Drobne poprawki tu i tam...
4\/3!!
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#95
14 Dec 2009 21:55 Re: Przykładowe projekty dla ARMów |
|
|
|
Na 100%.
| Code: |
| void FIQ_Handler(void) __attribute__ ((interrupt("FIQ"))); |
I w przerwaniu nie zapisuj rejestru VICVectAddr.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#96
21 Dec 2009 11:58 Re: Przykładowe projekty dla ARMów |
|
|
|
| Code: |
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
200 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Warn : use 'lpc2148.cpu' as target identifier, not '0'
Info : clock speed 200 kHz
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 15
Error: unknown EmbeddedICE version (comms ctrl: 0xfffffffe)
Info : accepting 'gdb' connection from 0
Warn : acknowledgment received, but no packet pending
undefined debug reason 6 - target needs reset
Warn : target not halted
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
requesting target halt and executing a soft reset
Error: Failed to halt CPU after 1 sec
Info : Halt timed out, wake up GDB.
Warn : target not halted
Runtime error, file "command.c", line 473:
Warn : target not halted
Runtime error, file "command.c", line 473:
Warn : target not halted
Warn : target not halted
Runtime error, file "command.c", line 473:
Warn : target not halted
Runtime error, file "command.c", line 473:
Warn : target not halted
Runtime error, file "command.c", line 473:
Warn : The target is already running. Halt target before stepi/continue.
Error: timed out while waiting for target halted
Warn : target not halted
Warn : target not halted
Info : Halt timed out, wake up GDB. |
Mam takie errory w eclipsie. Używam standarde pliki konfiguracyjne turetelizer2.cfg ir lpc2148.cfg. Initialization commands:
| Code: |
monitor reset
monitor soft_reset_halt
monitor mwb 0xE01FC040 0x01
monitor mwb 0xE01FC000 0
monitor mwb 0xE01FC080 0
monitor mwb 0xE01FC08C 0xAA
monitor mwb 0xE01FC08C 0x55 |
Projekt Freddiego LPC2103. Mój kontroller to LPC2148, programator na podstawie projektu Freddiego. Borykam się z tym od tygodnia i nie mogę znaleźć w czym jest problem?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#97
21 Dec 2009 12:21 Re: Przykładowe projekty dla ARMów |
|
|
|
W kodzie który blokuje JTAG?
Ja na takie coś mam taki patent, że zakładam zworkę włączającą BootLoader (oczywiście aby stan zworki został sprawdzony przez procesor należy wyłączyć i włączyć zasilanie).
Nadal programuję przez JTAGa, tyle że z włożoną zworką Bootloadera.
Po zaprogramowaniu oczywiście zworkę wyciągam.
Lepiej było by zmodyfikować pliki cfg, ale ja jak na razie wolę wersję ze zworką.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#98
21 Dec 2009 12:48 Re: Przykładowe projekty dla ARMów |
|
|
|
Które piny odpowiadają za włączenie bootloadera?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#99
21 Dec 2009 13:18 Re: Przykładowe projekty dla ARMów |
|
|
|
W LPC2148 P0.14.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#100
21 Dec 2009 13:40 Re: Przykładowe projekty dla ARMów |
|
|
|
Podam +3,3 V nie będzie za dużo ?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#101
21 Dec 2009 13:47 Re: Przykładowe projekty dla ARMów |
|
|
|
<sciana>
Ten pin trzeba zewrzeć do masy.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#102
21 Dec 2009 15:08 Re: Przykładowe projekty dla ARMów |
|
|
|
To nie rozwiązało mojego problemu. Jestem na skraju desperacji. Opiszę cały mój projekt i czego używam do jego uruchomienia:
1. Programator wykonany na podstawie projektu Freddiego, nic nie zmieniałem.
2. Target wykonany na podstawie tego schematu:
Po wykonaniu targeta sprawdziłem go na w univerku z profesorem. Użyte narzędzia to programator Keila. Program załadowano pomyślnie.
Po konfiguracji eclipsa z OpenOCD i CodeSoursery podłączyłem programator i targeta, puściłem OpenOCD, dostałem takie komunikaty:
Po paru dniach prób zgrania targeta z programatorem próbuje puścić OpenOCD w eclipse i dostaje takie komunikaty:
| Code: |
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Info : RCLK (adaptive clock speed) not supported - fallback to 500 kHz
Error: JTAG scan chain interrogation failed: all ones
Error: Check JTAG interface, timings, target power, etc.
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 15
Error: unknown EmbeddedICE version (comms ctrl: 0xfffffffe) |
Używam standardowych plików konfiguracyjnych w OpenOCD turetelizer2.cfg i lpc2148.cfg. W lpc2148.cfg zmieniłem tylko
| Code: |
| lpc2000_v2 14xxx calc_checksum |
na
| Code: |
| lpc2000_v2 12000 calc_checksum |
.
Proszę o pomoc!
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#103
21 Dec 2009 15:16 Re: Przykładowe projekty dla ARMów |
|
|
|
| lukstass wrote: |
Po konfiguracji eclipsa z OpenOCD i CodeSoursery podłączyłem programator i targeta, puściłem OpenOCD, dostałem takie komunikaty:
|
No i to były prawidłowe komunikaty, więc w czym problem?
Skoro teraz masz "all ones" to pewnie masz walniętego JTAGa.
4\/3!!
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#104
21 Dec 2009 15:30 Re: Przykładowe projekty dla ARMów |
|
|
|
| Quote: |
No i to były prawidłowe komunikaty, więc w czym problem?
Skoro teraz masz "all ones" to pewnie masz walniętego JTAGa. |
No właśnie i nie wiem jak to mogło się stać. W piątek wszystko działało, podłączam w niedzielę i nie działa, mogłem coś uszkodzić programowo lub mechanicznie, bo nie wiem teraz jak to naprawić?
|
|
| Back to top |
|
 |
Google

|
#
21 Dec 2009 15:30 |
|
|
|
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#105
21 Dec 2009 16:14 Re: Przykładowe projekty dla ARMów |
|
|
|
Programowo - nie. Mechanicznie - tak. Niedolutowany pin w piątek łączył, a w niedzielę już niezbyt.
4\/3!!
|
|
| Back to top |
|
 |
Google

|
#
21 Dec 2009 16:14 |
|
|
|
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#106
21 Dec 2009 17:25 Re: Przykładowe projekty dla ARMów |
|
|
|
W takim razie dociśniej palcem procesor do płytki i wtedy zapuść JTAGa.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#107
21 Dec 2009 21:29 Re: Przykładowe projekty dla ARMów |
|
|
|
Porady profesionalistów są bezcenne!!!. Dzięki Frieddie i Atom11. Jedna ścierzka nie łączyła się z JTAGiem. Teraz mam przykładowy projekt od Freddiego LPC2103. Wykonuje takie kroki:
1. Buduje pliki w eclipsie.
2. Konfiguruje Debuga:
Initialization commands:
| Code: |
monitor reset halt
monitor mwb 0xE01FC040 0x01
monitor mwb 0xE01FC000 0
monitor mwb 0xE01FC080 0
monitor mwb 0xE01FC08C 0xAA
monitor mwb 0xE01FC08C 0x55
load |
3. Puszam OpenOCD w eclipsie, dostaje takie komunikaty:
| Code: |
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Info : RCLK (adaptive clock speed) not supported - fallback to 500 kHz
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 4 |
4. Puszczm debuga
Wyskakuje takie okno:
Wciskam TAK, okno Debug wygląda tak:
Okno Console jest puste
Naciskam resume w oknie Debug, wtedy ono wygląda tak:
Okno Console jest puste.
Robie Terminate, dostaje takie komunikaty w oknie Console:
| Code: |
Info : accepting 'gdb' connection from 0
Warn : acknowledgment received, but no packet pending
undefined debug reason 6 - target needs reset
Warn : target not halted
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x000000f3 pc: 0x7fffe032
Warn : Verification will fail since checksum in image (0x00000000) to be written to flash is different from calculated vector checksum (0xb9205f88).
Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.
Info : dropped 'gdb' connection - error -400
|
W czym problem?
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#108
21 Dec 2009 21:52 Re: Przykładowe projekty dla ARMów |
|
|
|
Debuggowania możesz nawet nie puszczać skoro się nie chce skompilować...
Nie wiem skąd ty wytrzasnąłeś ten projekt - błąd z "istniejącym katalogiem" wyskakiwał w wersji "pierwszej z pierwszych" - obecnie jeśli zainstalowałeś wszystko (wszystko! czyli Coreutils też!) to nie ma prawa tak być.
4\/3!!
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#109
21 Dec 2009 22:14 Re: Przykładowe projekty dla ARMów |
|
|
|
Projekt wziąłem z Twojej strony. Coreutils zainstalowałem w Program Files/Coreutils (default directory). ???
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#110
21 Dec 2009 22:26 Re: Przykładowe projekty dla ARMów |
|
|
|
No to coś jednak Ci po drodze poważnie nie wyszło...
Jaki masz system operacyjny?
4\/3!!
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#111
21 Dec 2009 22:47 Re: Przykładowe projekty dla ARMów |
|
|
|
System operacyjny: Windows XP home edition. Nie wiem od czego zacząć sprawdzać.
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#112
21 Dec 2009 23:05 Re: Przykładowe projekty dla ARMów |
|
|
|
Czy to Coreutils dodało Ci się do zmiennej systemowej PATH? Informacja o tworzeniu katalogu w ogóle nie powinna się wyświetlać - wciaż stawiam na źle zainstalowane Coreutils, a dokładnie na problem z uruchomieniem pliku sh.exe.
W sumie jak się nad tym zastanowić, to projekt Ci się kompiluje, ale tylko raz, bo potem musiałbyś kasować katalog "out".
W skrótach do debuggowania które są w projekcie, a które jednak powinieneś jakoś zaimportować (*), jest też ustawione kilka innych opcji poza initialization commands, a kilka jeszcze innych jest wyłączone - poczytaj o tym w artykule. Dla ułatwienia sprawy dodam że chodzi o dokładnie 4 opcje w zakładce startup.
(*) Zamiast tworzyć projekt o nazwie test wybierz po prostu opcję Import i tam wybierz "existing projects into workspace", a następnie nakieruj Eclipse'a na rozpakowany projekt pobrany z mojej strony. To oczywiście nie zwalnia Cię niestety z ustawienia kilku opcji we "wnętrzu" właściwości projektu -> jak zwykle patrz artykuł.
4\/3!!
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#113
21 Dec 2009 23:29 Re: Przykładowe projekty dla ARMów |
|
|
|
Co miałeś na myśli "poczytaj w artykule"?
| Quote: |
| Czy to Coreutils dodało Ci się do zmiennej systemowej PATH? |
Jak to sprawdzić?
| Quote: |
| Zamiast tworzyć projekt o nazwie test wybierz po prostu opcję Import i tam wybierz "existing projects into workspace", a następnie nakieruj Eclipse'a na rozpakowany projekt pobrany z mojej strony. To oczywiście nie zwalnia Cię niestety z ustawienia kilku opcji we "wnętrzu" właściwości projektu -> jak zwykle patrz artykuł. |
Udało się zainportować projekt. Są ustawienia debugera, o których wcześniej mówiłeś (gdb+load, gdb).
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#114
22 Dec 2009 00:06 Re: Przykładowe projekty dla ARMów |
|
|
|
"patrz artykuł" oznacza -> http://www.elektroda.pl/rtvforum/topic1313509.html
Zmienne systemowe dostępne są we Właściwościach systemu, zakładka Zaawansowane, potem Zmienne środowiskowe i przejrzyj obydwie zmienne PATH - powinna tam być ścieżka do zainstalowanego Coreutils, jak go nie będzie, to nie będzie działać i tyle. Aby sprawdzić to na szybko, to otwórz konsolę i gdziekolwiek (byle nie w katalogu gdzie faktycznie te pliki są) wpisz "sh --version" - jak się uruchomi to działa, jak wywali że "nie może znaleźć polecenia" (or sth) to nie działa.
4\/3!!
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#115
22 Dec 2009 00:41 Re: Przykładowe projekty dla ARMów |
|
|
|
Polecenie sh --version w cmd działa.
| Quote: |
| Stan niski na DBGSEL spowoduje, że piny JTAGa będą po prostu zwykłymi pinami GPIO, więc nie będzie możliwa żadna czynność z użyciem JTAGa, chyba że w programie zostanie to przestawione przy użyciu odpowiednich rejestrów (PINSELx) |
Nie mogłem znaleść DBGSEL w lpc2148 datasheet, jest jakiś odpowiednik ?
| Quote: |
| Anyway - pin P0.14 jest od Bootloadera i też musi być jakoś podciągnięty. W każdym LPC są conajmniej dwa takie piny - od Bootloadera i od JTAGa, każdy trzeba sciągnąć do odpowiedniego poziomu po resecie, aby działało tak jak chcemy. Czasem jest jeszcze pin od TRACE (ETM), który mnie również wyprowadził z równowagi kiedyś - to była śmieszna historia, ale nie mam teraz czasu opisywać <: |
U mnie też ten pin nie jest podpięty pod VCC. Lecz, atom1477 mówił, że :
| Quote: |
| Ten pin trzeba zewrzeć do masy. |
. Jak mam zrobić ?
|
|
| Back to top |
|
 |
Google

|
#
22 Dec 2009 00:41 |
|
|
|
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#116
22 Dec 2009 01:05 Re: Przykładowe projekty dla ARMów |
|
|
|
Ten pin trzeba zewrzeć do masy żeby Bootloadera włączyć.
Freddie Chopin mówi przypadku gdy Bootloadera chce się wyłączyć.
Jak już Ci JTAG działa to ten pin zostaw tak jak jest czyli podciągnięty do VCC.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#117
22 Dec 2009 01:25 Re: Przykładowe projekty dla ARMów |
|
|
|
| Code: |
target remote localhost:3333
main () at main.c:90
90 for (count = 0; count < count_max; count++); // delay
monitor mwb 0xE01FC040 0x01
monitor mwb 0xE01FC080 0
monitor mwb 0xE01FC08C 0xAA
monitor mwb 0xE01FC08C 0x55
load
Loading section .text, size 0x4cc lma 0x0
Start address 0x38, load size 1228
Transfer rate: 1 KB/sec, 1228 bytes/write.
tbreak main
Temporary breakpoint 1 at 0xe4: file main.c, line 79.
Note: automatically using hardware breakpoints for read-only addresses.
continue
Program received signal SIGINT, Interrupt.
0x7ffffc12 in ?? ()
|
Takie komunikaty dostaje gdy zrobie pause w Debug oknie.
| Code: |
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Info : RCLK (adaptive clock speed) not supported - fallback to 500 kHz
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 4
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x000000d3 pc: 0x00000150
Info : accepting 'gdb' connection from 0
Warn : acknowledgment received, but no packet pending
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x400000f3 pc: 0x7fffe032
Warn : Verification will fail since checksum in image (0x00000000) to be written to flash is different from calculated vector checksum (0xb9205f88).
Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.
Info : dropped 'gdb' connection - error -400 |
Takie komunikaty, gdy zrobię terminate.
Pin P0.14 podpiąłem do masy. Coreutils działa. Co jeszcze źle ?
|
|
| Back to top |
|
 |
atom1477 Poziom 25

Joined: 14 Jul 2005 Posts: 6595
|
#118
22 Dec 2009 01:50 Re: Przykładowe projekty dla ARMów |
|
|
|
No ale przy debugowaniu to P0.14 odłącz od masy.
Do masy to ja go podłączam tylko gdy chcę zaprogramować procesor.
Przy debugowaniu musi się uruchomić program główny czyli BootLoader musi być wyłączony.
Reszta to nie mam pojęcia. Freddie Chopin albo ktoś inny obeznany będzie musiał skomentować.
|
|
| Back to top |
|
 |
lukstass Poziom 8

Joined: 05 Sep 2009 Posts: 27 Location: Puńsk
|
#119
22 Dec 2009 02:30 Re: Przykładowe projekty dla ARMów |
|
|
|
Będe czekał na komentarz Freddiego, lecz pod podłączeniu pinu P0.14 do Vcc, podczas debugowania i naciśnięciu pause w Debug menu mam:
Okno disassembly wygląda tak:
Okno Console jest puste.
Po naciśnięciu terminate i remove launch w oknie console pojawiają się takie komunikaty:
| Code: |
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Info : RCLK (adaptive clock speed) not supported - fallback to 500 kHz
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 4
Info : accepting 'gdb' connection from 0
Warn : acknowledgment received, but no packet pending
undefined debug reason 6 - target needs reset
Warn : target not halted
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in ARM state due to debug-request, current mode: User
cpsr: 0x80000010 pc: 0x00000170
Warn : Verification will fail since checksum in image (0x00000000) to be written to flash is different from calculated vector checksum (0xb9205f88).
Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.
Info : dropped 'gdb' connection - error -400 |
Czekam na komentarze.
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7288 Location: Zawiercie
|
#120
22 Dec 2009 08:18 Re: Przykładowe projekty dla ARMów |
|
|
|
Komentarze są takie, że poza brakiem zawartości konsoli wszystko raczej (*) działa, więc czego więcej chcieć? <;
(*) Jeśli możesz kod puścić (Resume), zatrzymać (Pause) i po-step-ować (Step Over / Into / Return) i operacje te robią to czego byś się spodziewał, to jest dobrze.
Tak BTW to dla LPC2148 jest odpowiednik DBGSEL i jest nim bodajże linia RTCK.
4\/3!!
|
|
| Back to top |
|
 |