Poniżej zamieszczam skrypty do programowania mikrokontrolera STR710 przy pomocy openocd. Naturalnie są to przykładowe pliki i należy w pliku skryptu podmienić nazwę pliku wynikowego znajdującego się w katalogu Output. Oczywiście należy mieć zainstalowane openocd. W razie pytań piszcie. Pozdrawiam
To zależy od konfiguracji narzędzi (np. w skrypcie OpenOCD: "halt" / "reset halt").
Znalazłeś na mojej stronie OpenOCD, to poszukaj jeszcze przykładowego projektu dla LPC2103. Trzeba w nim zmienić tylko drobnostki: rozmiar pamięci w skrypcie linkera i argumenty z jakimi wywoływane jest OpenOCD. 4\/3!!
rozwiazanie jest proste, ale niezbyt dobrze udokumentowane chodzi o to, ze openocd po przetworzeniu wszystkich plikow ktore mial podane w wywolaniu automatycznie przechodzi do ich wykonania. dopiero wtedy mozna wydawac mu komendy takie jak przez telnet. aby go zmusic do inicjalizacji wczesniej, nalezy wywolac komende init mozna to zrobic tak: openocd...
Jesteś 100% pewny, że skrypt który odpalasz (stlink-v2.cfg) jest z OpenOCD 0.7.0, a nie ze starszej wersji? 4\/3!!
"Mój skrypt" to standardowy skrypt z OpenOCD. Weź z instalki, albo sciągnij z SVNa 4\/3!!
Can openocd rely support lpc? I think it stm32 only
Witam, Mam programator BoFF BF30. Po ostatniej aktualizacji mojej Fedory do 21, zaktualizował się także openocd do wersji 0.8. Zaszły tam jakieś zmiany w bibliotece do FTDI, co powoduje, że stare skrypty konfiguracyjne też przestały działać. Tymczasowo mam taki skrypt interfejsu: # # Joern Kaipf's OOCDLink # # http://www.joernonline.de/contrexx2/...
Masz pod ręką jakiś skrypt do OpenOCD, cobym mógł na szybko przetestować JTAGa na LPCku ?
Weź openocd z AC6. skrypty też. Niestety trzeba podawać w wywołaniu ścieżkę to przeszukiwania skryptów.
Podaj jeszcze jaką wersję pliku portmacro.h używasz. Ja nie widzę w źródłach FreeRTOS'a wersji dla MCU: STR91x dla kompilatora:GCC (jedynie dla IAR). Musiałeś coś pominąć, bo #define wybierające wersję portmacro.h nie jest "zdefiniowane" w tym, co wysłałeś. Skrypt linkera wygląda na standardowy, ale patrząc na STR91x_FLASH.icf w katalogu wersji IAR...
ehhh... Gdyby tak przeczytać temat... Spróbuj komend do wgrywania z tego postu: http://www.elektroda.pl/rtvforum/viewtop... JTAGa przyspieszysz, jak napiszesz skrypt OpenOCD, który włączałby PLL - wtedy możesz zwiększyć prędkość jtaga nawet do 6MHz (byle było to mniej niż (prędkość rdzenia / 8). Temat jest o przykładach, ty natomiast...
A ja mam swojego faworyta o którym już nie raz wspominałem: DevCpp ( można pobrać z http://www.bloodshed.net/dev/devcpp.html... - zajmuje 10 razy mniej miejsca, działa 10 razy szybciej od eclipse ( nie mówiąc o samym uruchamianiu się programu) umożliwia podłączenie dowolnych zewnętrznych kompilatorów i uruchamianie programów i skryptów (OpenOCD itp) i...
Ta płytka posiada wbudowany JTAG na USB, a wyprowadzone złącze służy do podłączania zewnętrznego procesora (własnej płytki z procesorem ARM). Ściągnij sobie bibliotekę StellarisWare (ze strony luminarymicro.com). Znajduje sie w niej wszystko co potrzebujesz - przykładowe programy razem z plikami makefile, skryptami ld i startupami - także pod CodeSourcery....
Możesz w skrypcie linkera dodać przy tej sekcji `(NOLOAD)`, w ten sposób: SECTIONS { ... .noinit (NOLOAD) : { ...
Niestety nadal openOcd 0.5.0 wyrzuca jakieś błędy. Zastanawiam się z czym to może być związane. Kopia lini komend: [syntax=actionscript] Open On-Chip Debugger 0.5.0 (2011-08-09-23:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bu... 2000 kHz adapter_nsrst_delay: 100 Runtime Error: C:\Program Files (x86)\OpenOCD\0.5.0\bin\../target/stm32f...
To napisz sobie skrypt który będzie odpalał OpenOCD z odpowiednimi komendami, czekał aż się samo zamknie, czekał jakąś tam ilość czasu (żebyś zdążył podpiąć kolejny układ) i odpalał OpenOCD ponownie. Osobiście zamiast "czekał jakąś tam ilość czasu" wolałbym chyba aby skrypt czekał aż np. naciśniesz na klawiaturze spację albo dowolny klawisz.
Program wgrywany jest do takiej pamięci jak skonfigurujesz sobie w swoim projekcie (zwykle w skrypcie linkera). OpenOCD albo dostaje od GDB (lub od Ciebie w linii komend) plik z adresami (.hex, .elf) i na podstawie tych adresów wykonuje odpowiednie operacje, albo gdy dostanie w linii komend plik bez adresów (.bin), to musisz mu podać offset, a więc...
Może masz jakieś stare skrypty? Pokaż lepiej jak uruchamiasz OpenOCD (pełna komenda). 4\/3!!
Przecież je masz... W katalogu z OpenOCD masz skrypty dla większości istniejących procków, a w artykule są przykładowe skrypty inicjalizacyjne do GDB w Eclipse. 4\/3!!
Kolejny test jaki wykonałem to zaprogramowanie flasha za pomocą H-Jtaga używając pliku hex wygenerowanego przez Crossworks'a. Procek się programuje, weryfikacja ok, ale dioda nie świeci. W CW trzeba coś tam przestawić (STARTUP_FROM_RESET czy jakoś tak), żeby kod wygenerowany do debuggowania działał samodzielnie. monitor reset monitor reset halt monitor...
Typ interfejsu "ft2232" został usunięty z OpenOCD 0.10.0 więc po prostu nigdy nie zadziała. Musisz użyć typu interfejsu "ftdi". Na pewno jest w paczce z OpenOCD gotowa konfiguracja dla OOCDLink, wiec naprawdę nie ma potrzeby pisania swojego. Szukaj w folderze ze skryptami w interface/ftdi.
Faktycznie nie jest to tam wykorzystane, ale mechanizm zerowania wielu sekcji jest tylko w tym przykładzie. Jedyne czego brakuje żeby to "włączyć" to dodanie jednej linijki do skryptu linkera.
Używanie starych skryptów w nowych wersjach nie jest możliwe. Wykorzystaj po prostu skrypty standardowe uruchamiając OpenOCD mniej więcej tak: openocd -f interface/turtelizer2.cfg -f target/sam7s64.cfg Plik sam7s64.cfg musisz stworzyć sam - bazuj na przykladzie powyzej, albo na pliku dla innego procka z tej rodziny z katalogu OpenOCD. Daj znać jak poszło,...
Sądzę, że nie są to moje osobiste preferencje, bo w taki sposób zachowuje się Eclipse przy debugowaniu czegokolwiek innego, począwszy od aplikacji w pythonie, przez Androida, Avrki i mutacje Eclipsa, czyli TRUEStudio od Atollica. Jeśli na PC debuggujesz aplikację na tenże PC, to ona jest "uruchomiona" w debuggerze, gdy się rozłączasz to jest kończona/zatrzymywana....
Witam! Po długich męczarniach udało się Uruchomić FreeRtos-a:) Postanowiłem nie męczyć się z wersją Demo tylko samemu utworzyć prostą obsługę - jedno zadanie - miganie diody. Bazując na wcześniejszym moim skrypcie do OpenOCD 2.0 po skompilowaniu udało się wgrać i dioda od razu ruszyła i zaczęła mrugać:) No dumny jestem z siebie bo naprawde sporo nerwów...
Witaj, No podpowiedź daje Ci samo openocd Error: No flash at address 0x00000000 Masz źle skonfigurowany adres obszaru pamięci flash mikrokontrolera Sprawdź w pliku gdzie definiowane są adresy i obszary pamięci. Próbujesz załadować pod adres 0x0 Twojego hexa a tam nie ma pod tym adresem obszaru pamięci flash. Sprawdź również w Twoim projekcie w pliku...
Nie bardzo chce instalowac Atolic Studio bo juz przygotowane mam wszystko pod Eclipsem (Eclips+toolchain arm-none-eabi + OpenOCD + skrypt likera/makefile/) Z tego co widze to GNU MCU Eclipse żeby zainstalować wtyczke do podglądu rejestów trzeba poinstalować wszystkie wtyczki (zależności) czyli cały toolchain z konfiguracją projektową. ------- Ostatecznie...
Była przecież podana [url=http://www.siwawi.arubi.uni-kl.de/a... na której można znaleźć gotowych wiele przykładów i wzory skryptów programujących do OpenOCD dla najpopularniejszych uC... W zależności od obycia w tematyce programowania i obsługi uC zrozumienie wszystkiego może chwile zająć, ale z...
Startup i skrypt linkera możesz z powodzeniem wziąć z mojego przykładu - będzie trzeba zmienić jedynie adresy i rozmiary pamięci w skrypcie linkera. 4\/3!!
Witam czy ktoś może ma działające pliki cfg (i skrypty jeżeli wymagane) pod AT91sam7s256 z wigglerem pod OpenOCD (wersja 0.5.0 lub wyższa)?
Sorry rzeczywiscie nie wspomnialem :) Chyba gdzie indziej musialem po prostu ryje mi juz beret od tego ponad 14 h spedzilem siwiejąc. W koncu sie udalo ale na takich warunkach OpenOcd - flashuje Ok 33 kb w 8 sekund H-JTAG - wariuje jakies dziwne bledy za kazdym razem inny blad praktycznie Flash programmer tez zle dziala jakies bledy ciagle przy weryfikacji....
Przecież to jest problem z gatunku wydumanych... Komenda której używałeś wcześniej (load_image) _NIE_ służy do programowania pamięci flash tylko do wrzucania danych do pamięci zapisywalnej "normalnie" (czyli RAM), więc czemu się dziwić, że nie działa? Pozatym prędkość JTAGa powinna być przynajmniej 6x, a w praktyce ~8x, mniejsza niż prędkość rdzenia,...
Cześć! Szukam możliwości debugowania STM8 w eclipse. Czytałem, że openocd wspiera swim i kilka postów apropos wsparcia st-linka dla stm8. Czy są gdzieś skrypty konfiguracyjne dla openocd pod stm8?
Moim zdaniem najlepsze rozwiązanie to zastosowanie sterowników D2XX. Bawienie się w instalacje sterowników libftdi, nie ma sensu tym bardziej, że działają wolniej niż niż D2XX. Gotowe skrypty do kompilacji OpenOCD pod D2XX są dostępne na płycie CD dołączonej do KT-LINK. Rozpowszechnianie binarki OpenOCD współpracującej z D2XX jest ponoć niezgodne z...
Freddie Chopin Ci po prostu delikatnie sugeruje być przesiadł się z przestarzałego WinARM na kombo gcc(code sourcery) + eclipse + openocd. A przykłady Freddiego (szczególnie ten dla LPC21xx) łatwo przerobić na AT91SAM7xxx (chodzi o makefile, i skrypty linkera) bo to ten sam rdzeń.
1. WinARM to staroć nierozwijany od lat - użyj CodeSourcery. 2. Twój pierwszy problem wynika z tego, że odpowiednie definicje początku/końca różnych sekcji nie są obecne/nazywają się inaczej w skrypcie linkera. 3. Do J-Linka instalujesz inne sterowniki (libusb-win32) i podłączasz normalnie do kompa, uruchamiając normalnie OpenOCD - nie ma tu żadnych...
Zacznijmy od tego, że OpenOCD nie uruchamia się poprawie, wiec warto byłoby dochodzić do sprawy "krok po kroku". Przede wszystkim plik lpc2xxx.cfg NIE JEST przeznaczony do uruchamiania bezpośredniego, należy ZAWSZE użyć któregoś z konkretnych plików. Tymczasowo możesz użyć pliku lpc2148.cfg, ale najlepiej przerób go sobie na lpc2146 - komentarze w środku...
To nie jest moim zdaniem problem z OpenOCD, tylko masz źle skompilowany program. Po tym co mi podesłałeś widzę, że cały kod znajduje się pod jakimiś abstrakcyjnymi adresami, brakuje tablicy wektorów itd. Wrzuć cały projekt (kod, startup, skrypt linkera, makefile). 4\/3!!
Zamiast robić cuda w skryptach linkera to po prostu poszukaj w dokumentacji OpenOCD stosownych komend żeby sobie tą pamięć odblokować (są takie). 4\/3!!
Tutorial jest pisany dla LPC2xxx. Dla STM32 nie ma to żadnego znaczenia, ale pominięcie tej komendy nic nie zmienia w kwestii adresu ładowanego programu - adres jest definiowany przez skrypt linkera. 4\/3!!
Nie sądze, żeby Yagarto samo dodawało jakieś sekcje do skryptu linkera "samo z siebie". Dodaj więc gdzieś na końcu skryptu linkera coś na styl: .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } (znalezione tu - http://www.codesourcery.com/archives/arm... ) I powinno działać 4\/3!!
Próbowałem zmniejszać `WORKAREASIZE` czy `adapter_khz` ale bez skutku (no chyba że jeszcze większego spowolnienia przy ekstremalnie niskich wartościach). Czyli prawidłowo, ponieważ programowanie przebiega szybciej jeśli te wartości są WIĘKSZE. Niemniej jednak WORKAREASIZE nie może być większe niż rozmiar RAM, a adapter_khz nie może być większe niż...
cos masz pewnie zle skonfigurowane. w dokumentacji sa liniki do wiki openocd - poczytaj i zrob porzadny skrypt konfiguracyjny, albo sobie jakis znajdz na necie. 4\/3!!
owszem, gigantyczne [; niemniej jednak mozna napisac swoje skrypty konfiguracyjne [; tylko o to mi chodzi. do 99% popularnych ukladow sa juz gotowe skrypty, wiec nie ma sensu sie tym zajmowac... 4\/3!!
Z drugiej jednak strony naprawdę nie widzę tej wielkiej komplikacji przed którą się tak bronisz. Ot wpisanie zer do dwóch czy trzech rejestrów aby zresetować ustawienia zegara, a zresetowanie wszystkich układów peryferyjnych w STM32 jest równie banalne - wpisać 0xffffffff do wszystkich rejestrów typu RCC->...RSTR, a następnie wpisać tam zero. Wiem że...
0. Zawsze w razie problemów warto zmniejszyć prędkość JTAGa, nawet do extremalnie małych wartości. 1. Przecież do OpenOCD 0.3.1 są skrypty zarówno do tego procka jak i tego JTAGa - po co na siłę piszesz swoje? Użyj standardowych... 2. Jest już nowsze OpenOCD (poniższe punkty na przyszłość, bo teraz problem następuje wcześniej niż flashowanie) 3. Obraz...
Jest interfejs SWD, tak że nie trzeba jakiegoś egzotycznego programatora. To duży atut. W wielu rozwiązaniach potrzebne do uruchomienia środowiska wygibasy są przeszkodą przy ograniczonym czasie. Fajnie, że idą w tę stronę :) To jest "gratis" wynikający z użycia rdzenia Cortex M. Nie było sensu wymyślać czegoś swojego, więc kompatybilność dostaliśmy...
Wcześniej zastanawiałem się jeszcze czemu wszystkie gdziekolwiek opisane toolchainy mają właśnie to -none- w sobie. Teraz stało się to jasne jak Słońce. To powinno wiele wyjaśnić - http://airs.com/ian/configure/configure_... Dobrze wiedzieć, dziękuję będę się do tego stosował. (Zawsze to mniej klepania, choć teraz pewnie skonfiguruję sobie do końca...
Google : bss segment. Tzn. co mam ustawić? OK. po prostu zostaw skrypt linkera tak jak go cube wygenerował.
No nie ukrywam, że skrypt linkera zmieniłem tylko na tyle aby kompilacja była możliwa.
Twój program jest źle skompilowany, bo nie używasz skryptu linkera, który jest zasadniczo niezbędny. Jakbyś go zdezassemblował, to zapewne kod będzie pod jakimś abstrakcyjnym adresem. W przykładach masz dobry skrypt linkera i Makefile, który skompiluje również Twój plik assemblerowy - proponuję wtedy jednak nazwać funkcję "Reset_Handler". Poza tym przed...
Żeby mozna było kod poprawnie debuggować, to w pliku elf musi być zawarte multum dodatkowych informacji. Aby tak było, potrzebny jest odpowiedni Makefile (odpowiedni sposób kompilacji i linkowania) i odpowiedni skrypt linkera. Niestety w projekcie który masz nie ma zasadniczo ani jednego ani drugiego - choć Makefile wygląda na w miare dobry. Zerknij...
Czyj plik linkera...? TAK! To plik linkera na koniec usuwał symbole! Dzięki wielkie! To są skutki stosowania "KWIATKÓW" Takie były krótkodystansowe skutki. :) Długodystansowe skutki to wysoko ceniona w branży wiedza, zrozumienie i umiejętność pisana takich skryptów z palca. :)
ehhh... strasznie mieszasz... Zainstalowanie CoreUtils (poprawne! - tak aby dodało się do systemowego PATH!) musi rozwiązać problem tych apostrofów dookoła linijek i zapewne też tego pierwszego komunikatu. Po zainstalowaniu go trzeba uruchomić ponownie Eclipse, w razie wątpliwości można uruchomić ponownie komputer. Skrypt jest zły, bo po co w nim jest...
Jak zatrzymać działający serwer OpenOCD? 1. Jeśli masz go odpalonego z linii komend: a. po prostu zamknąć okienko, b. nacisnąć Ctrl+C c. wydać komendę "shutdown" dowolnym kanałem (np. przez telnet czy przez GDB, albo dołączyć ją do skryptu konfiguracyjnego lub linii wywołania) 2. Jesli masz go odpalonego w Eclipse jako External Tool (tak jak to zrobione...
Do Freddiego: Pobrałem Twoją wersję blink do LPC1114. Teoretycznie pasuje mi bez zmian do LPC11C24. Jednak debug (Linaro4.8, openOCD 0.9.0 od ciebie) nie jest wstanie przejść przez startup - dochodzi do polecenia 'isb' (zaraz na początku) i ląduje gdzieś w sekcji bootloadera (0x1fff0e4a). Sprawdziłem też inne kombinacje (CMSIS + startup pobrany z innych...
Witam od dwóch dni mam problem z USART na stm32f4discovery. Otóż napisałem sobie prosty programik na bazie tego przykładu pod stm32f4discovery ze strony Freddiego Chopina, tyle że sam napisałem sobie konfigurację zegarów itd. Zrobiłem konfigurację USART 6, napisałem funkcję do wysyłania jednego bajtu oraz całego słowa i wrzuciłem sobie wysyłanie bajtu,...
Słuszna uwaga z tym startupem. Mam go w katalogu projektu, który jest wskazany w ścieżkach eclipsa, ale nie wiem dlaczego nie jest linkowany. Może ma nieprawidłowe rozszerzenie? Teoretycznie istotna jest wielkość liter. Freddie, czy masz może jakiś ładny przykładowy projekt dla CM0? Dla STM32F0 nie, ale możesz spokojnie zrobić małego frankensteina...
Jeśli skrypty go nie uruchamiają, to niby czemu miałby coś robić "sam z siebie"? Bardziej antycznej wersji kompilatora i OpenOCD niż to co ty masz chyba nigdzie nikt nie znajdzie... 4\/3!!
Dziękuję za szybką odpowiedź Freddie. Powiem szczerze, że ten STM32 w tytule napisałem z rozpędu. Dokładnie to stworzyłem prosty projekt bazując na Twoich (np. stm32f4_blink_led) ale dla procesora NRF51822 firmy Nordic (z wbudowanym BLE i Corex M0) Startup i skrypt linkera mam od Nordica z małymi poprawkami. Makefile jest Twój, ale także z drobnymi...
Zrobiłem według powyższych "tutków" i niestety Geany wypluwa błąd o braku avr-gcc. Nie wiem, czy coś muszę zmieniać w makefile czy w złym miejscu wypakowałem. Wszystko zależy od makefile'a - tam musisz mieć wszystko poprawnie skonfigurowane. Wtedy możesz odpalić make'a w konsoli i musi się wszystko skompilować/zaprogramowac/etc... A w Geany podczepiasz...
A jaki adres pamięci flash masz ustawiony w skrypcie linkera? Tutaj masz konkrety opis http://sourceware.org/binutils/docs-2.20... Dodatkowo jest też dokumentacja do samego kompilatrora. Prawdopodobnie linker wpakował program pod zły adres więc podczas ładowania programu OpenOCD informuje że pod tym adresem flash'a nie ma.
Jak to ta sama seria to nie musisz zmieniać wektora przerwań, ale w skrypcie linkera wypadało by pozmieniać rozmiary pamięci i powinno być ok.
Co za dużo to nie zdrowo. Znowu wywal te 2 definicje, które dodałeś na końcu. W tym momencie prawdopodobnie programy C powinny Ci chodzić, pozostaje C++. Teraz na tapetę idzie skrypt linkera. Porównaj swój z str912_rom.ld z przykładów z openocd z uwzględnieniem tych niezdefiniowanych symboli. Jutro zajrzę, jak Ci poszło. Albert
Wrzuć pełen log kompilacji (zrób najpierw make clean). Adresy o które pytasz są zdefiniowane w skrypcie linkera. W skrypcie linkera z przykładów, a nie w jakimkolwiek innym. 4\/3!!
Witam, Jak w temacie, podczas debugowania przez SWD nie działają przerwania. Wersja Openocd 0.9.0 z obsługą SWD od Freddiego. Po sprzętowym resecie bez debugowania przerwania działają. Przez JTAG debugowanie z przerwaniami działa. Skrypt konfiguracyjny Openocd dla SWD: source [find target/swj-dp.tcl] adapter_khz 500 if { [info exists...
Przydałoby się jeszcze 2 rzeczy: 1. zmniejszyć FLASH o odpowiednią wartość, tak aby na siebie nie najeżdżały - możesz od LENGTH odjąć ile tam potrzeba ... LENGTH = 128k - XXX 2. Dodać profilaktycznie } > VAR AT > VAR Tym sposobem skrypt linkera będzie w 100% poprawny. Jeśli nadal będą jakieś błędy, to już nie po stronie linkera. Jeśli dalej coś nie...
Nie wrzuciłeś skryptu linkera, tylko jeszcze raz wektory... Anyway - jest tam kilka potencjalnych problemów 1 (mało istotny) W skrypcie linkera dodałeś nową sekcję: .ext_mem (NOLOAD) : { *(.ext_mem .ext_mem.*) } > sdram0 jednak według nowej składni powinno być tak: .ext_mem (NOLOAD) : { *(.ext_mem...
startup podejrzewam, że możesz wziąć od freddiego. Skrypt linkera również, tylko będziesz musiał zmienić rozmiar i umieszczenie pamięci + tablicę wektorów.
Na szybko obstawiam, że problemem może być zupełnie gdzie indziej. Otóż REALNY adres pamięci flash w mikrokontrolerze AT91SAM7S64 to nie 0, a 0x00100000 (http://www.keil.com/dd/docs/datashts/at... - strona 14). OpenOCD zapewne właśnie dlatego zgłasza następującą uwagę: Warn : no flash bank found for address 0 Warn : no flash bank...
Żeby sprawdzić czy wszystko jest OK, to możesz uruchomić skrypt status_giveio.bat. Sprawdź czy adres portu w systemie jest taki sam jak w pliku parport.cfg 4\/3!!
Ostatnio wymienialem sobie dysk ;) wiec nowy system i trzeba bylo przygotowac toolchain pod Mac OS X z wmiare nowym Linaro, OpenOCD itd. niestety popularny skrypt summon-arm-toolchain nie byl dawno aktualizowany wiec na jego podstawie pozwolilem sobie zrobic swoj typowo pod OS X-a Moze dla kogos bedzie przydatny, mozna go oczywiscie dostosowac dla Linuxa...
(at)Freddie Chopin Jeśli problem byłby między interfejsem i targetem to wtedy byłby chyba błąd "unable to connect to the target"? (at)kris_audi Na Nucleo ST-Link na PID 0x374B (oznaczony w OpenOCD jako "stlink-v2-1"), a zewnętrzy ma pewnie PID 0x3748 ("stlink-v2"). Dlatego skrypt st_nucleo_f103rb.cfg ma prawo nie działać. Sprawdź, czy do tego zewnętrznego...
Jeśli zaczynasz dopiero swoją przygodę z mikrokontrolerami ARM to na początek skorzystaj z gotowych narzędzi np.: Atollic IAR Keil Darmowe wersje mają pewne ograniczenia co do rozmiaru kodu jednak na początek wystarczy. Polecam Atollic TrueSTUDIO for ARM Lite 4.3.1 [sam z niego startowałem]. Wystarczy parę kliknięć myszki i już jest gotowy projekt z...
Pierwszego errora pozbędziesz się zamieniając w skryptach BSTAPPID z 0x1457f041 na 0x2457f041 (masz nowszą rewizję procka, pewnie tym się str911 różni od wersji z -2 na końcu). Co do reszty - Jakie komendy wydajesz przez GDB? Jeśli "zwyczajne" "reset halt" to spróbuj to zamienić na "reset init" Początkowo dobrze byłoby popróbować bez gdb - przez telnet...
Ścieżki do plików konfiguracyjnych są pełne, bo na /home/user mam zrobione skrypty bashowe, którymi uruchamiam openocd. Ale teraz uruchamiam recznie...mniejsza o to. Tak, doszedłem do tego ...init ... Więc uruchamiam już chyba poprawnie i wciąż kłopot: [syntax=bash]openocd -f /usr/local/share/openocd/scripts/interfa...
No to spróbuj najpierw skryptów od niego, potem tej wersji od niego, a u niego możesz przetestować najnowszą (; 4\/3!!
Oczywiście zadziałało... Z jakimś dziwnym uporem próbowałem do F1 używać skrypt od F3 o.O Błąd przedszkolaka... Dzięki za pomoc, bo sam bym siedział nad tym pewnie jeszcze długo. Eh...
Witam, mam dziwny problem z kompilowanym toolchainem przy użyciu skryptów od Freedie-go. Jest to (chyba) kłopot na poziomie komunikacji pomiędzy GDB, a openOCD. Używam eclipse, projekty kompiluje z makefile-a. Korzystam z prekompilowanej paczki: bleeding-edge-toolchain-160412 (64-bit Linux) i świetnie się spisuje. Programy kompilują się bez zająknięcia,...
Proszę o pomoc szczególnie freddiego chopina ponieważ jest autorem plików linkera, startup-a i wektora przerwać(vectors.c), które w innych projektach jak dotąd działałają mi niezawodnie. Zajrzyj do skryptu linkera, przeczytaj ze zrozumieniem jego początkowy fragment, ustaw tak jak trzeba i będzie działać. Kluczową sprawą jest przyswojenie sobie tego...
Witam, Posiadam płytkę propoxu MMsam7s + programator Wiggler. Problem dotyczy openocd-pp. W żaden sposób nie mogę zaprogramować flasha - openocd "wiesza się" i wyświetla na zmianę komunikaty: Info: options.c:50 configuration_output_handler()... core state: ARM Info: target.c:239 target_init_handler(): executing...
Każdy ARM spełnia Twoje wymagania (STM32, LPC, coś od byłego-już-Atmela, ...), bo kompilujesz programy w arm-none-eabi-gcc (możesz zerknąć tez na mój skrypt https://github.com/FreddieChopin/bleedin... ), debuggujesz przez gdb i OpenOCD, a jako interfejs do debuggowania masz całkiem sporo opcji działających w Linuxie i z OpenOCD (np. mój...
Jaką masz wersję OpenOCD? Problem wynika z tego, że w Cortexach jeden ze stosów jest inicjalizowany SPRZĘTOWO, po resecie, tak samo pobierany jest adres funkcji Reset_Handler(). Problem o którym piszesz jest znany i polega na tym, że procka resetujesz, on w tym momencie wczytuje sobie SP oraz adres funkcji Reset_Handler(), a następnie programujesz do...
A próbowałeś tylko z jednym argumentem? Dodano po 3 Error: libusb_open() failed with LIBUSB_... To natomiast wygląda na problem natury komunikacyjnej pomiędzy sterownikiem USB a fizycznym interfejsem.
Obstawiam błędne drivery. Plik konfiguracyjny którego chcesz używać (z folderu ftdi) wymaga sterowników WinUSB (libusb-1.0), natomiast Ty pewnie masz zainstalowane sterowniki libusb-win32. Warto zmienić sterownik (paczkę ze sterownikami pobierzesz z mojej stronki, można też użyć do zmiany programu zadig), bo nowy kod obsługi JTAGów (właśnie ten wymagany...
Zakładając, że nigdzie w skrypcie linkera nie masz dyrektyw ALIGN(), to zapewne jest to narzucone przez model pamięci i/lub algorytm programowania w OpenOCD. Ale to juz GCC po kompilacji i linkowaniu tak robi, w pliku map to widać. Dodanie ALIGN(x), 1 lub 2 nic nie zmienia
Ja ma dokładnie taki sam problem, błąd podczas ładowania w eclipse poprzez openOCD i jtagkey Amontec z at91sam9260 . Tak samo chodzi mi o debugging w zewnętrznej pamięci SDRAM. Czy mógłbyś zamieścić cały skrypt wraz z event/at91sam9260_reset.script bo u mnie nie ma takiego katalogu, mam chyba nowszą wersję a tam nie ma takiego pliku. Jtag i cała reszta...
Dzięki. Spróbuje jutro i opiszę dokładnie procedurę dla potomnych :D Ważne by każdemu elementowi nadać adres (przez memory i umieszczenie sekcji w niej albo przez .=ADRES co każdą sekcję wejściową ). I zagwarantować by obiekty mieściły się w sekcjach. Więc lepszą uważam metodą 1. Linker sam wypluje info jak sekcja się nie zmieści w MEMORY. Jeśli z...
Uruchomiłem. Z tym, że mam jedno pytanko jeszcze: w przykładach do najnowszego linaro jest kod dla semihostingu. Pytanie zasadnicze: gdzie w tym kodzie (nie wiem czy w startupie czy skrypcie linkera) jest wywołanie "initialise_monitor_handles"? Bo w swoim kodzie muszę to zrobić ręcznie, w tym linarowym jest z automatu.
Panowie, a czy oprogramowanie do J-linka (jaki by on nie był), pójdzie pod linuksem, w linii poleceń (tak aby można je było podpiąć do makefile'a)? Bo klikane programatory to mi nie za bardzo podchodzą... Pewnie. Mam wszystko wpięte do eclipsa. Działa cudo. z linii poleceń. Moje wrażenie subiektywne, chodzi wyraźnie lepiej i szybciej niż openocd i...
Nie chodzi o to czy jest skomplikowane czy nie, tylko o to, że gdy używasz OpenOCD za pośrednictwem zmiennej PATH to nie masz żadnej kontroli nad tym co zostanie uruchomione (w końcu wszystkie nazywają się openocd.exe). W wypadku wielkiej chęci posiadania większej ilości wersji na dysku wystarczy skopiować starą przed instalacją nowej, a potem przenieść...
Tak, ze wszystkich procków z OOCD trochę by się zebrało. Ale takie paczki z pomocą mogą być oddzielnie do ściągnięcia. Jest to tylko podkatalog 'help' w katalogu danego procesora. Zajmujemy się prockiem, ściągamy paczkę, rozpakowujemy do katalogu urządzenia i działa. Gdy już nie potrzebujemy pomocy to po prostu kasujemy katalog. Czy teraz wygląda to...
Na moim lapku prywatnym z natywnym linuxem jest jeszcze szybciej. Jako build system polecam Cmake. Na początku ciężko przebrnąć przez dokumentację ale warto. Ja właśnie z tego powodu polecam tup - łatwo przebrnąć przez dokumentację, możliwości nieco inne, ale do celów embedded odpowiednie. Składnia i używanie są trywialne - z 10x łatwiejsze niż make,...
Wracając do tematu ... najprostszym rozwiązaniem jest skorzystanie z serwera GDB (JLinkGDBServer.exe) , i skonfigurowanie debuggera aby z niego korzystał. Mniemam, że korzystasz z Eclipse - musisz podać skrypt inicjalizacyjny dla tego procesora. Przykład masz w pliku "\Samples\GDB\GDBInit\LPC1768_RAM.jlink"... który musisz przerobić wedle własnych potrzeb.
Witam Mam problem z uruchomieniem programu po resecie gdy w skrypcie linkera stos jest umieszczony w pamięci ccm (skrypt linkera w załączniku). Program działa bez problemu gdy np w openOCD wydam polecenie reset lub po załadowaniu programu resume 0x08000000, jednak zwykły sprzętowy reset powoduje że program nie uruchamia się. Oczywiscie można umieścic...
Przekonwertowałem bin do hex; błąd pozostaje ten sam (offset i tak trzeba podać). No ale to absolutnie nie o to chodzi <: Chodzi o to, żeby plik .elf przerobić na .hex, a nie .elf->.bin. Sprawdzałem 1MHz i niższe, niestety nic to nie daje. Te wszystkie błędy i ostrzeżenia które się tam pojawiają są wysoce podejrzane i jeśli się ich nie pozbędziesz,...
Powyższa rada pomogła, dzięki wielkie. Należało zainstalować aktualną wtyczkę GDB z linku w temacie. Mam jeszcze kilka pytań co do środowiska Eclipse + OpenOCD. 1.Czy da się kompilować programy w trybie "Release" czyli bez informacji o debugowaniu, aby działały jak najszybciej i zajmowały mniej miejsca w pamięci. Taka opcja jest dostępna np. w Rowley...
Miałem taki sam problem z tym procesorem. ID procesora się sczytywało i możliwe było sprawdzenie czy pamięć flash jest pusta, jednak przy próbie kasowania czy programowania wyskakiwał mi timeout (H-JTAG i jeszcze parę innych programów). Udało mi się zaprogramować za pomocą openOCD openOCD: http://www.yagarto.de/ giveIO: http://elportal.pl/index.php?module=Cont...
Witam Mam problem z flashowaniem procka lpc2917. Nabyłem takowy ponieważ doczytałem, że od wersji 0.3.1 openocd jest wsparcie dla tych scalaków. Niestety OpenOCD nie chce 'rozmawiać' z moim scalakiem. Poniżej zamieszczam mój skrypt, z którym wywołuję openocd jtag_khz100 set FLASH_CLOCK 1024 source [find C:\\Program\ Files\\OpenOCD\\0.4.0\\interface\\turtel...
skrypty wincc skrypty notatnik wincc skrypty
schematy projektorów fideltronik baterie przetwornik cyfrowo analogowy
Ustawienia parametrów P03 i P04 w Termet Silver Pro 20 kW Instrukcja obsługi piekarnika Whirlpool - jak znaleźć?