...Nie mogę znaleźć przeglądarki pdf-ów( pod win) która z lini poleceń otwiera dokument na konkretnej stronie. Może znasz coś takiego? Rozwiązałoby to całkowicie problem. Jeśli systemowa przeglądarka potrafi wyświetlić PDF-a(mój Firefox potrafi ;) ), to wystarczy wydać polecenie np. rundll32.exe url.dll,OpenURL http://www.atmel.com/dyn/resources/prod_...
Opcje -g? Masz ustawioną? EmbSysRegisters wtyczka do eclipse polecam pełen podgląd rejestrów.
Zakładka Memory jest trochę lewa... Najlepiej zrób to za pomocą OpenOCD i telnetu: komendy: mww address value (zapis) mdw address (odczyt) 4\/3!!
tak. Może w configu targeta openocd mam coś nie tak.
Spróbuj może też debuggowania przez samo OpenOCD i telnet - sprawdź czy wszystkie typowe operacje (podgląd pamięci, instrukcji, rejestrów, step, halt, resume, reset, programowanie, ...) działają jak należy. 4\/3!!
Plik konfiguracji ustawia Ci prędkość adaptera. Przesuń "adapter_khz 1" do tego końcowego bloku -c "...". Czyli np. tak: sudo openocd -f /usr/local/share/openocd/scripts/interfa... -c "transport select swd;" -f /usr/local/share/openocd/scripts/target/... -c "reset_config srst_nogate connect_assert_srst; adapter_khz 1"...
Jesteśmy. Myślę, że mamy też leżące urządzenia zasilane „N”, więc jak tylko je podłączymy, powinniśmy być w stanie uzyskać coś podobnego. W międzyczasie planujemy użyć interfejsu API profilu BLE firmy Beken, aby uzyskać w pełni „przezroczysty UART” i dokonać inżynierii wstecznej wywołań niższego poziomu (zasadniczo ustawiając rejestry). Staramy się...
Zmieniłem -g na -g3 i dalej nie mogę podglądać tych rejestrów :( Co by tu jeszcze zmienić ?
LPC spisuje się świetnie. Biblioteki do LPC niestety nie ma tak fajnej jak do STM32 i przez to troszkę bardziej trzeba się w rejestry zagłębiać. Działa normalnie z OpenOCD tylko troszkę plik konfiguracyjny od innego LPC17xx trzeba przerobić. Ja osobiście polecam LPCExpresso, ma od razu wbudowane rejestry procesora i szybko i fajnie działa. Również odpaliłem...
Odpowiedź na Twoje pytanie jest dosyć prosta - protokół SWD nie ma rozkazu zapisu do flash i tego się po prostu nie da tak zrobić jak zapisu do RAM. Oprogramowanie na PC, które się komunikuje przez SWD z układem (np. program do ST-Linka, OpenOCD) wgrywa do RAMu specjalną procedurę, która fizycznie realizuje zapis (poprzez odpowiednią sekwencje zapisów...
(at)miszcz310 A masz jakiś specjalny powód aby używać "na żywca" gdb zamiast po prostu użyć jakiegoś IDE gdzie po prostu to się wyświetli w dużo wygodniejszej formie. Szczerze to chyba nie. Poza takim, że tak sobie dawno temu ustawiłem i działało. Jakoś przywykłem do pisania w atomie lub vimie i tylko zmapowanymi klawiszami myk. Hmmm a mogę zapytać...
No a przez bootloader? Istnieje szansa, że w jakiś sposób się uszkodził rejestr podający ilość dostępnej pamięci flash - chyba wszystkie programy używają tego rejestru do poznania tego rozmiaru. W OpenOCD na pewno da się jednak wymusić rozmiar pamięci - wtedy program nie używa tego rejestru i programowanie powinno pójść. Chodzi o podanie rozmiaru pamięci...
1. Upewnij się, że OpenOCD ma skonfigurowane reset_config na "separate". 2. Upewnij się, że w komendach startowych dla GDB jest "monitor halt reset" 3. Poniżej tej komendy dodaj "monitor mww adres wartosc" (adres - adres rejestru MEMMAP, wartosc - wartość która ustawi "normalne" mapowanie pamięci). Zauważ, że po resecie włącza Ci się bootloader (pc...
Nie widząc gdzie wpisać load posłużyłem się h-jtagiem. Właśnie-gdzie i jak wpisać ten load i czy z jakimiś parametrami? Zerknij do mojego tutoriala o ARM toolchain - na końcu jest o debuggowaniu i tam właśnie jest użyta ta komenda. Używasz jej tylko przy GDB (debugger). Można też wgrać bezpośrednio - odpalasz OpenOCD, odpalasz telnet i używasz komendy...
z mojej strony: warto byłoby polecić jeszcze instalację wtyczki Embsys RegView, podgląd rejestrów peryferyjnych może być przydatny
Muszą być oba napięcia. Pamiętaj też, że TMS470 mają rdzeń ustawiony na big-endian i nie można tego zmienić. BTW, widzę że ode mnie kupiłeś te układy. Może Ci trochę pomoże ta stronka: http://kred.wikidot.com/tms470-board - znajdziesz tam trochę rzeczy do których doszedłem jak się jeszcze tymi układami bawiłem. Jakiego kompilatora używasz? Jeśli GCC...
Kolego prawdopodobnie pomyłka jest przy przesuwaniu. Zwróciłeś uwagę na to co się najbardziej rzuca w oczy ? zm = (16>>rejestr); Obsługa przerwania jest, jakby to ująć, nie napisana. Moje pytanie dotyczy maski przerwań zewnętrznych. Rejestru WIU->MR. Pozdrawiam.
$ arm-none-eabi-objdump --demangle -S output/program.elf > output/program.lss i wrzuć ten plik tutaj. Byle to był firmware bez ŻADNYCH zmian względem tego co debuggowałeś wyżej, bo wtedy porównywanie wartości rejestrów jest bezcelowe. Dodatkowo w OpenOCD (przez `telnet localhost 4444`) wywołaj takie dwie komendy gdy jesteś w HF: mdw 0x200003fc 16 mdw...
A jeżeli utworze projekt z HALem i nie usunę tej biblioteki i będę programować na rejestrach, to może mi się coś wgrać do mikrokontrolera co może mi potem przeszkadzać w czymś?
Chciałbym tu napisać kilka słów o problemach z poleceniem "halt" w OpenOCD z którymi sam walczyłem przez dni kilka. Używam procesora LH79520 (ARM720T) i za pomocą JTAG jest tam programowany zewnętrzny Flash - działa bez problemu. Natomiast próba wgrania softu i uruchomienia uparcie kończyła się komunikatem "halt time out", mimo wielu kombinacji z resetem,...
Jedynka nie jest tutaj problemem. Popatrz na to w ten sposób jak na preskaler. Jeśli wpiszesz do preskalera wartość x (np 5), to w rzeczywistości dzielisz sygnał zegarowy na x + 1 (czyli np 6). 0 -> 1, 1 -> 2, 2 -> 3, 3 -> 4, 4 -> 5, 5 -> 0 => całość trwa SZEŚĆ taktów dokładnie tak samo jest z timerem i rejestrami match / compare...
Łapię hardfaulta na breakpoincie jeszcze przed pierwszym wejściem do main, a potem już wszystko działa dobrze, więc jedyne co mogę dać to dump rejestrów core: stacked_lr = 0xFFFFFFFF stacked_pc = 0 stacked_psr = 0x01000200
Rejestry deklarowane przez program nie mają nić współnego z rejestrami mikrokontrolera , z resztą odczyt i zapis zawartości mikrokontrolera ich nie dotyczy , bo są fizycznie w pamięci ram której programator nie zapisuje . "Rejestr" nie oznacza tylko fizycznego rejestru rdzenia procesora czy peryferiala . Może to być jedna lub kilka komórek w pamięci...
Jak w ogóle uruchomić jakieś okno programowania? I jak to ustawić żeby programowało przez Wigglera? Jeśli chcesz spod Eclipse, to trzeba dodać odpowiednie wywołanie dla OpenOCD. Zerknij na moją stronę, w dziale download > JTAG-lock-pick jest taki plik "JTAG-lock-pick - ultra-krótka instrukcja" - w nim jest pod koniec napisane jak należy wywołać...
nie wiem, gdyz nie uzywalem ARMow ATMELa [; niemniej jednak yagarto przy uploadzie przez OpenOCD i JTAGa na USB do prockow LPC2xxx definitywnie odczytuje plik elf. 4\/3!!
Dzięki za uwagę. Zauważyłem, że podczas debugowania niektóre rzeczy zostają (w innych odrębnych przypadkach). Jeśli używasz standardowych konfigów do OpenOCD, to dodaj do jego wywołania coś takiego: -c "reset_config trst_and_srst" Domyślnie OpenOCD zakłada, że JTAG nie ma pinów resetu i w przypadku Cortex-M3 resetuje go specjalnym rejestrem rdzenia....
Za dużo GDyBbania jest. Wszystko zależy od sposobu dostarczenia danych dla loadera. Są dwa sposoby jeden to ładowanie obszaru ramu danymi dla flash i uruchamianie funkcji i tak jest chyba w CW, drugi to załadowanie loadera do ramu, puszczenie go luzem i komunikacja z nim poprzez rejestry i tak może być w O²CD, ale tak jak powiedziałem na początku...
GrzegorzKostka: nie używam debugera, zawsze piszę kod na żywca i wyrzucam komunikaty przez UART albo telnet. Ta funkcja po prostu nie zwraca poprawnych wartości, nie wiem, może błąd jest gdzieś wyżej. Może w tym przypadku faktycznie dobrze byłoby podejrzeć rejestry w pracy krokowej, ale JTAG + OpenOCD nigdy mi nie zadziałał tak jak trzeba w trybie debugu....
Dobra, to jeszcze jedno pytanie - w jaki sposób uruchamiasz program w RAM? Moje testy na szybko pokazują, że przez GDB nie da się tego zrobić "standardowo" (; Czy np. przestawiasz zworkę na układzie tak żeby bootował się z RAMu czy może używasz jakichś specjalnych komend podczas inicjalizacji debuggera żeby wymusić pracę z RAM? Gdy uruchomię debuggowanie...
hdr_bitband.h Cortex-M0 nie obsługuje bitbandingu. Tak wiec wszystkie operacje na "zmiennych" bitband na 99% spowodują hard-fault. Rozchodzi się więc o WSZYSTKIE dostepy do rejestrów i dostęp do LEDa. Co do openOCD wystarczy zmienić f4 na f0 w argumencie a w debugger config chyba tylko jak się nie mylę nazwę projektu. Tak jest. No widzę że w sumie...
Dziękuję Ci za pomoc. Troche mnie to "ugotowało", bo sam chyba przez to nie przebrnę. A ten Atmel-ICE pod Atmel Studio genialnie chodzi. Ale teraz coś mnie na Linuksa tknęło. No i do tego w Code::Blocks. Tam ładnie działa mi xds100v2 na tych lpc2142, co do których mi w innym wątku pomogłeś. A że ten Code:Blocks mi sie praktycznie nie wiesza, no i ogólnie...
odhaczyłem reset i halt i wpisałem monitor reset halt monitor reset init Wystarczy tylko to drugie i zaznaczyłem, żeby sam ładował obraz (pewnie tutaj nie powinien tego robić) i symbole potem break point at main i zahaczyłem Resume. Jak będziesz mieć nowe Eclipse i nową wtyczkę GDB to nie ma siły aby te konfiguracje nie były widoczne - wtedy zobaczysz...
żeby była jasność bo może nie sprecyzowałem: nie szukam wynalazków typu visual studio... itp... bo to wszystko sprowadza się generalnie do straty czasu podczas konfiguracji oraz późniejszej pracy ... (chociaż coś czuje że bez tego sie chyba nie obejdzie) Dziwie sie w ogóle - że cały ten dramat pod postacią "mozliwości" instalacji OPENOCD, C/C++ SDK...
Dzięki, dobrze wiedzieć, jak coś to zgłoszę się do Ciebie po najnowsze OpenOCD. Na razie spróbuje na tym starociu co mam - 0.6.1. Przeglądnąłem sekcję RCC. Znalazłem tam jakieś różnice w rejestrach do włączania zegarów dla poszczególnych peryferiów i ich resetowania. Co do samego ustawiania SYS_CLK nie znalazłem różnic, czyli wszystkie funkcje w projekcie...
Do flash nie zapisujesz przez komendy mww/mwh/mwb, tylko albo trzeba użyć funkcji np. "flash write_image ..." / "program ..." (wymaga to odpowiednio skonfigurowanego pliku opisującego Twoją płytkę dla OpenOCD), albo musisz się bawić ręcznie tak jakbyś chciał zrobić taki zapis bezpośrednio przez rejestry procesora (czyli żeby zapisać jeden bajt to musisz...
U mnie jak dam -gddb3 to zaczyna niepokojąco wariować (np step in do funkcji foo1() powoduje chwilowe wejście do foo2(), by po jednym stepie przeskoczyć na odpowiednie miejsce). Miał ktoś podobnie ? Przy włączonej optymalizacji to zasadniczo (niestety) "normalne", ale przy -O0 nie powinno się tak dziać. (at)Freddie Chopin Czy jest jakaś ewolucja aby...
Cześć Wszystkim! Mam Eclipse w wersji Yagarto i AT91SAM7S256. Układ programuję przez SAM-BA. Niestety nie mogę uruchomić debugowania w Eclipse przez Wiggler'a. OpenOCD mam w wersji 2006re82, bo tylko taki znalazłem ze sterownikiem portu równoległego. Próbowałem kolejnych kroków z manuala Jima Lynch'a oraz ze strony kolegi Chopina ale bez końcowego rezultatu....
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...
Jeśli już zdecydowałeś o wyborze mikrokontrolera i jest to STR7 to nie mogę Ci pomóć( nie miałem z nimi styczności ale koledzy z działu 'mikrokontrolery' na pewno z nimi pracowali). Osobiście polecam rodzinę AT91SAM7 od ATMELa. Procesory przyjazne, odporne na pomyłki :), dużo materiałów( w tym sporo postów na 'mikrokontrolery'). W praktyce wygląda to...
Tzn, że program może działać dalej poprawnie a debuger wskazuje na to, że jesteśmy w np HardFaultHandlerze ? Mógłbyś nieco rozwinąć myśl ? Czasem może być jakiś problem sprzętowy/programowy/systemowy, który może spowodować wywalenie się debuggera, który będzie np. uparcie twierdził, że jesteśmy wciąż w jakiejś linii, choć mikrokontroler sobie wtedy...
Ale kompilator i linker jest inny, w innej wersji. To już wystarczy, żeby się niekoniecznie lubił z kodem "starego typu", którego jest pełno w necie. W tych chwilach zwykle polecam swój przykład, który akurat nie cierpi na tą przypadłość [; Startup, tablicę wektorów i skrypt linkera możeś śmiało wziąć z przykładu dla LPC2103 - zobacz tylko w pliku z...
Twój układ ma jakieś zworki do wybierania z której pamięci ma działać? Bo gdy ładujesz program do flash, to wartość PC sugeruje, że całość chce działać z RAM, więc faktycznie jest problem. Do tego program dla RAM masz skompilowany dla adresów od 0, natomiast program dla Flash od 0x100000, ale to akurat jest mało istotne jeśli poprawnie konfigurujesz...
Jeśli przed zatrzymaniem procka układ coś tam jeszcze zrobił (co jest dosyć popularnym problemem), to po zaprogramowaniu faktycznie może nie działać opcja "resume" i jest to całkowicie naturalne - to tak jakbyś uruchomił program, zatrzymał go w losowym momencie, zmienił program na inny i odblokował rdzeń, który zacznie pracę od tego miejsca gdzie skończył...
Witam serdecznie, Przerobiłem chyba najbardziej popularny przykład ze strony Freddie'go aby obsługiwać STM32F100RB na płytce STM32VL Discovery wraz z odpalaniem z RAMu i właściwie podstawowa funkcja - czyli nieśmiertelne mruganie diodą - działa wyśmienicie. Jeśli ktoś chce szybko uruchomić swój pierwszy program na STM32 VL Discovery przy użyciu Eclipse...
Poza tym jeśli się wie co się pisze to debuger jest zbędny. Czasami lepiej wykorzystać UART DBGU i wysyłać sobie interesujące nas zmienne na terminal. Co to za podejscie ? Debugger to NIEZBEDNE narzedzie przy profesjonalnych produktach i nie raz uratowal mi tylek przy poprawkach bledow w nieswoim kodzie. Spotkalem sie z tym ze rozne debuggery roznie...
Cześć :) Mam takie pytanie, bo cokolwiek trudno znaleźć do uC STM32f373. Jestem na etapie ze udało mi się z sukcesem zintegrować eclipse+openOCD+toolchine. Programy debagują mi się odpowiednio, tak jak trzeba, tylko wiem ze istniej możliwość dodanie takiego plaginu który umożliwia monitorowanie rejestrów peryferyjnych. Ale niestety po instalacji nie...
To mój pierwszy post na tym forum, więc WITAM wszystkich użytkowników. W tematyce ARM siedzę dopiero od kilku dni, więc mój problem może dla bardziej zaawansowanych wydawać się balnalny... ale do rzeczy. Zainstalowałem eclipse oraz wtyczki: -GDB Hardware Debugging -GNU ARM Eclipse Plugin -Zylin Embedded CTD -embsysregview oraz openOCD 5.0 Udało mi się...
Mam problem z uruchomieniem Eclipse + usbscarab2 + stm32f103rbt6 (eval board od stm). Calosc robiona wg poradnika ze strony Freddiego. Czesc narzedziowa, tj openocd + jtag oparta na openocd w wersji 0.4.0, wywolany z argumentami: -f interface/usbscarab2.cfg -f target/stm32.cfg gdzie usbscarab2.cfg jest tresci: #interface interface ft2232 ft2232_device_desc...
Postanowiłem bardziej dokładnie przeanalizować dokumentację rdzenia Cortex-M3 (na którym jest wykorzystywany przeze mnie uP STM32F107) – dokument „DDI0337G_cortex_m3_r2p0_trm.pdf... ze strony http://infocenter.arm.com/help/index.jsp Cortex-M3 TechnicalReference Manual. W dziale System Debug -> 11.5 DWT page 11-13 opisane są dokładnie...
Nie sądzę żeby tak było... Jedyne co, to czasem warto układ po programowaniu z jakimiś dużymi zmianami porządnie zresetować <: Ale jest ciekawy hint dla Ciebie: 1. Połącz się z OpenOCD przez telnet. 2. komenda "reg" 3. Komenda mdw <adres> 8, przy czym <adres> to wartość rejestru PSP a potem MSP (w sensie dwa razy). 4. W jednym z tych...
Sprawdź w pliku .lss czy adres Twojej funkcji obsługi przerwania znajduje się we właściwym miejscu tablicy wektorów. Przy okazji dla STM32F1x należy funkcję obsługi przerwania deklarować w ten sposób: void EXTI3_IRQHandler(void) __attribute__ ((interrupt)); void EXTI3_IRQHandler(void) { ... Ewentualnie należy ustawić bit STKALIGN w stosownym rejestrze:...
Trochę to wszystko dziwne. Z tym stoperem to też nie tak, jak trzeba. Do testowania funkcjonalności najlepsze jest ręczne wklepywanie w rejestry i sprawdzanie ich. 'openocd + hyper_terminal' albo 'ocd commander'. Do sprawdzania rzeczywistych zegarów w układzie dobrze jest je wyprowadzić na zewnątrz. 'programable output clock controller'y-->PMC_PCKX...
Problem polega na tym, że po padzie zasilania procek się zablokował na jakiekolwiek próby zapisu. Próbowałem wielu rzeczy, ale nic nie pomogło. Procesora nie da się zaprogramować. Próby zmiany "Option bytes" poprzez st-link utility kończą się tak: 15:29:23 : Could not set Option bytes! Please reset the target and retry. Procesor komunikuje...
Wspomniałem jeszcze o bicie w SYSCFG - sprawdziłeś ;> ? tak sprawdziłem Co do OpenOCD - może głupie pytanie, ale uruchamiasz debugowanie (gdb)? Bo komunikat z OpenOCD jest ok - połączył się. heh aż wstyd się przyznać ale poklikałem chwilę i o dziwo zadziałał :) dam znać później co i jak bo znalazłem trop (chyba źle patrzyłem na model stm32F3 w dokumentacji)....
To i ja swoje dołoże... Zacząłem bawić się stm32 właśnie od poradnika Szczywronka. Pokazał jak to się robi na rejestrach. Biorę RM i robię co chcę. Tyle że trzeba było się przekonać do metody, bo też zaczynałem o HALa i nigdy nie wiedziałem za pomocą jakiej funkcji włączyć to czy owo. Na rejestrach mam prosto. Jest RM, są inne dokumenty. Wszystko można...
W przypadku LPC po resecie domyślnie jest włączony remap pamięci na wektory bootloadera. Po "monitor reset halt" dopisz "monitor mww adres wartosc", przy czym adres to będzie adres rejestru odpowiedzialnego za remap pamięci (MEMMAP chyba), a wartosc uzupełnij tak aby włączyć normalny "stan" pamięci - bez remapu. Możesz też poeksperymentować z innym...
zmienilem adres w linkerze ale teraz jakis inny błąd wyskakuje: C:\>openocd -f interface/jtagkey.cfg -f target/at91sam7sx.cfg -c "jtag_khz 1000" -c "init" -c "reset halt" -c "flash probe 0" -c "reset halt" -c "flash write_im age erase C:\AT91SAM7S256_inc.hex" -c "reset run"...
Moje obawy budzą wpisy Warning oraz ten: Spokojnie (; Info : JTAG tap: at91sam7s.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787 (<unknown>), part: 0xf0f0, ver: 0x3) <unknown> tutaj znaczy tylko tyle, że OpenOCD nie wie jak przyporządkować 0x787 do jakiegoś producenta, co znaczy ni mniej, ni więcej tyle, że komuś się (jeszcze) nie chciało...
plan sytuacji: bawie sie zestawem ZL9ARM + ZL10ARM z BTC - jest to procek LPC2148. do niego podpinam JTAGa na USB, ktorego dzis sam zmontowalem - bazujac na Turtelizerze 2. opis problemu: problem polega na tym, ze czasem JTAG nie potrafi zatrzymac rdzenia procesora. Dzieje sie to tylko przy uruchamianiu serwera openocd - czasem zglasza on blad: Timed...
Płytka oryginalna Olimex LPC-P2378. "Przyciśnięcie" kwarcu nic nie pomogło, wylutowanie też nic nie zmieniło. Układ dzwonił :o i dodatkowo dalej się grzał (patrz p. 1 poniżej) Na chwile obecna: 1. Użyłem Flash Magica - ruszyło za pierwszym razem, procek zaprogramowany plikiem ze strony olimexu. Prawidłowo zaprogramowany układ się nie grzeje i nie dzwoni....
Trochę odgrzebuję temat, ale chciałbym uporządkować swoją wiedzę na temat programowania ARMów. Dotychczas programowałem w WinARMie, ale całe programowanie polegało na kompilacji i wgraniu programu do Flasha procka. Natomiast czy są dostępne środowiska, umożliwiające debagowanie (pracę krokową, podgląd rejestrów itp.) oraz symulację procka? Chodzi o...
Oczywiście nikomu nie polecam programowania przez RSa. Jak możecie to programujcie przez JTAGa. Co do wprowadzania procka w tryb programowania to w LPC nawet tego nie zauważysz. W AT91SAM7 jest to upierdliwa procedura. Co do utajniania programowania FLASHa w LPC to jest prawda. Nie wiedzieć czemu PHILIPS nie chce ujawnić rejestrów i sposobu bezpośredniego...
to może powinieś spróbować, lukni na załącznik, większość kodu masz napisane, wszystkie rejestry zmapowane, coś Ci brakuje to sam możesz dodać, patrz ile czasu oszczędza, masz stos usb, stos tcp, do każdego procka luminary masz własnie takie API i one jest open source. Wszystkie funkcje dostępne, mnie np brakowało ustawinie przerwania od ilości bajtow...
https://obrazki.elektroda.pl/5694434400_... Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia...
Pierwsza kwestia. Chodzi o to, że Cortex-M3 może zostać zresetowany "programowo" - jest specjalny rejestr który na to pozwala, jednak jest to właśnie reset samego rdzenia. Możliwy jest jeszcze jakby "drugi poziom" takiego "programowego" resetu - który resetuje też peryferia. Tak czy siak - OpenOCD domyślnie korzysta z tego co może, a ponieważ żaden...
Zdając się na twój dobry gust - warto nią używać, czy się np. potrafi wykrzaczyć? U mnie nigdy się nic nie wykrzaczyło przez nią - jak mam potrzebę patrzeć co jest w rejestrach to wtyczka jak znalazł (choć w sumie rzadko mam taką potrzebę). Tak więc spokojnie można używać (; Nie ma moich Cortex M0 z NXP No nie ma, ale nic nie stoi na przeszkodzie żebyś...
DIY jest tak naprawde potrzebny jak chcesz miec 100% kontole nad toolchainem - a tego poczatkiujacy i 99.99% zaawansowanych nie potrzebują. What? Znakomita większość ludzi których znam używają Eclipse + Openocd. Nie wiem skąd te liczby wyciągnąłeś. To samo dotyczy HAL-a Cuba itp. Edukacyjnie dobrze jest pokatować rejestry. W duzym projekcie (jezeli...
próbuję skonfigurować mój interfejs jtag (boff bf30 na ft2232) do mojego urządzenia at91sam9g45 . Musiałem zrobić niestandardowy kabelek, gdyż na urządzeniu 20złącze jest dla rastra 2mm. Poniżej zamieszczam output z openocd oraz mój konfig - widać, że coś jest nie tak. Myślałem, ze to wina kabla, ale przecież jtag wykrywa urządzenia (Info : JTAG tap:...
gdzie w Atollicu błędy są widoczne dopiero po kompilacji. Nieprawda. który z pominięciem debuggera ładuje wsad do uK A jak niby to robi bez debugera i OpenOCD albo innego gdbservera? Atollic ma wiele bardzo przydatnych pluginów. -- Hard Fault analyzer -- Bardzo poprawione w debugowanie programów wielowątkowych (RTOS) -- dużo lepsze plugin profilujące...
Witam, mam problem z debugowaniem procka LPC1788. Otóż program sam w sobie działa poprawnie po wgraniu do flash za pomocą OpenOCD. Jednak z debugowaniem sprawa przedstawia się następująco: - jeśli dany program był wcześniej uruchomiony na procku, to po uruchomieniu debuggera ResetISR() wykonuje się prawidłowo i program działa, można sobie steppować...
Jak zatrzymywałem pętlę i ją odłączałem w 2 oddzielnych krokach i po każdym dawałem feed'a to też nie chodziło. Zaczyna mi się wydawać, że coś nie tak jest albo z ustawieniami kompilatora albo linkera. Walczę dalej. Wszelkie pomysły mile widziane. Pozostają: 1 Programowo: - złe definicje rejestrów ;-) - masz wczesną wersję MCU i dotyka cię PLL.1 +...
Witam po dłuższym czasie... nie miałem za bardzo czasu, wczoraj dopiero siadłem do assemblera ARM - do tej pory nie wiedziałem nawet ile i jakie rejestry są dostępne w architekturze ARM :P :D - więc ze względu na to że w twoim projekcie pojawiają się pliki startup.s i vector.s, postanowiłem się wreszcie zapoznać z architekturą, miałem zamiar już na...
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...
W takim razie oto log, bo znów nie zadziałało, ciągle timeout: Open On-Chip Debugger 0.5.0 (2011-08-09-23:21) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge... Warn : Adapter driver 'parport' did not declare which transports it allows; assuming legacy JTAG-only Info : only one transport...
Jak wrócę z pracy wieczorem to dam znać dokładnie ale z tego co pamiętam: coś nt. "gdb tried to access nonexisting register" albo coś w tym stylu. Generalnie coś nt. nieistniejacych rejestrów na pewno, nie pamiętam czy nie coś jeszcze. I na pewno m0plus. Próbowałem też ostatnim buildem BET, również bez efektu, tzn. ta sama wtopa co wcześniej. Google...
Blue Draco: 1. Debugger twierdzi, że jestem we flashu. Programu do RAM-u nie ładuję. Nie wiem dlaczego wyświetl mi w oknie OpenOCD adres z RAM-u. 2. Wpisywanie wartości domyślnych na pewno nie zaszkodzi. Widziałem już takie kwiatki, że rejestr jest po resecie inny niż deklarowany przez producenta (co prawda nieczęsto, ale nawyk mi pozostał). 3. memset...
Pobierz z mojej strony przykład dla LPC2103 i przerób go dla Twojego układu: - w skrypcie linkera ustaw prawidłowe adresy i rozmiary pamięci - w startupie nic nie musisz zmieniać - w tablicy wektorów nic nie musisz zmieniać jeśli nie korzystasz z przerwań, jeśli z nich korzystasz poprzez układ AIC, to musisz upewnić się, że offset do rejestru podającego...
Mam problem ze zdjęciem blokady odczytu pamięci FLASH z procesora STM32F439 zasilanego z przetwornicy. Przy czym nie wiem czy to ma znaczenie. Wcześniej w żadnym projekcie na STMie nie zasilałem procesora z przetwornicy (przynajmniej nie bezpośrednio, jak była przetwornica to na 5V a potem post regulator liniowy na 3.3V), jak i nie używałem blokady...
Żadnych programów nie trzeba modyfikować - to wszystko kwestia ustawień. 1. Wtyczka do podglądu rejestrów nazywa się EmbSysRegView - http://embsysregview.sourceforge.net/ Konfiguracja znajduje się niestety w głównych opcjach Eclipse, nie w opcjach projektu. Aby włączyć sobie to okienko trzeba wyklikać Window > Show View > Other > EmbSys ......
Witam. Po wypuszczeniu ogromu tanich Bluepill na (chyba) oryginalnym układzie STM32F103C8T6 Chińczycy postanowili jeszcze koszty obciąć i wyposażają coraz częściej te płytki w procesory CS32F103C8T6 sygnowane logiem producenta CKS. Rzekomo są to pinowe odpowiedniki, ale ID jest już przez OpenOCD nierozpoznawane (a w każdym razie inne niż spodziewane)....
Jedno mnie dziwi - nigdy nie miałem takich problemów. To, że timery czy inne peryferia sobie pracują, gdy rdzeń jest halt to nie powinno nikomu przeszkadzać, skoro stepowany rdzen w ogóle nie skacze pod wektory ISRów...? Gdy używam Ride7 to nie mam tego problemu, ale gdy przekroczyłem limit 32kB przesiadłem się na Eclipse+OpenOCD. No i niestety w trakcie...
Witam, Korzystam z płytki NUCLEO-L053R8, od 2 dni próbuję uruchomić segmentowy wyświetlacz LCD. Zauważyłem że nie uruchamia mi się przetwornica stepup w procesorze do generowania napięcia VLCD. Dopiero gdy krok po kroku przeklikałem inicjalizację to dostałem flagę gotowości przetwornicy. Dzisiaj objawił się taki problem: https://filmy.elektroda.pl/68_1492163137...
Po zmianie: Open On-Chip Debugger 0.4.0 (2010-02-22-19:05) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge... 5 kHz jtag_nsrst_delay: 200 jtag_ntrst_delay: 200 RCLK - adaptive trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain Info : RCLK (adaptive...
Według mnie super pomysł, zrób na youtube z "lektorem" i będzie ekstra! Wg mnie dobrze by było przejść przez środowisko np. eclipse, na szybko wytłumaczyć co to toolchain, gdb, openocd i jak konfigurować (przesiadając się z avrow to wszystko nowe). Później tworzenie projektów wg mnie dla SPL! - startup, tablica wektorów pliki linkera i inne tajemnicze...
mam takie pytanko, ktore chyba jest bardziej życzeniem, no ale moze... otoz jak wiadomo, przez gdb mozna sobie grzecznie debuggowac rdzenie ARM w eclipse (jak i AVRy, kwestia ta sama), tyle ze w ogole nie istnieje tam cos takiego jak podglad rejestrow (taki jak w komercyjnych srodowiskach), nie mozna tez ustawic podgladu konkretnego adresu, w ktorym...
Ja po prostu przerobiłem makefile'a od ARM'a pod PIC32 (nie wiem jak dla innych procków PIC) i z niego korzystam. Tym sposobem osiągnąłem właśnie to o czym Ty piszesz - wszystkie procki w jednym edytorze. Przy zmianie projektu zmieniaja się też komendy zdefiniowane przez użytkownika (wywołujące Makefile'a, programator, itp...), tak więc jedno naciśnięcie...
Jakby nie patrzeć, Atollic ze swoim TrueStudio to tylko skonfigurowany do pracy Eclipse (; Dodając śmieszne ograniczenie w wersji lite(brak możliwości prostego tworzenia projektu C++ jak w C, nie tworzy .hex, ale chociaż .elf jest, obsługa tylko jednego JTAG'a) i zostawia na widoku, po złości takie smaczki jak FSR, czyli wygodnego podglądu rejestrów...
Ściągnąłem z gnuarm.com instalkę. Tutaj masz coś zdecydowanie lepszego i aktualnie rozwijanego: Czy konieczne są jeszcze jakieś pliki .h z definicjami rejestrów itp. dla tego procesora? Gdzie tego szukać? Jak to gdzie, na stronie www.st.com ;) Znajdź "STM32F10x standard peripheral library", tam znajdziesz CMSIS, bardzo fajny nagłówek stm32f10x.h, startup...
https://obrazki.elektroda.pl/8531770500_... Początek z nową płytką oznacza wybór i konfigurację środowiska programistycznego, umozliwiającego komfortową realizację swoich pomysłów. Komfortowa praca może mieć duże znaczenie, ponieważ tworzenie programu nie przebiega zwykle w dwóch, czy trzech krokach, czyli pisaniu kodu, jego kompilacji...
Bardzo często na forum pojawiają się pytania o wybór darmowego środowiska do STM32. Problemem jest tu programator ST-Link dołączany do niektórych płytek prototypowych (np. moja ST32 VL Discovery), a dla którego ciężko znaleźć wsparcie. Wyjątkiem jest tu TrueStudio które w "darmowej" wersji ogranicza nam możliwość podglądu rejestrów w czasie debugowania...
Wstęp Poradniki pomagające w tworzeniu oprogramowania na mikrokontrolery skupiają się głównie na wykorzystaniu peryferiów samego mikrokontrolera, co jest zrozumiałe, ale niestety rzadko skncentrują się na części programu, która wykonuje się przed funkcją main. Poniższy poradnik ma na celu przybliżenie tej części programu na podstawie GNU ARM toolchain...
Zatwardziały windziarz (kilka latek), też przeszedł na Linux'a i to już definitywnie nie ma odwrotu, to jest jak narkotyk :D Nie ma lepszej platformy do developing'u, hardware czy software. 1. IDE Mam jedno środowisko, ale do wszystkiego. Jest to Eclipse Classic (obecnie Indigo) z masą pluginów. IDE strasznie intuicyjne i podatne na modyfikacje. Nic...
Nie wiem czy to w czymś pomoże, ale piszę sobie w Code::Block. Tam jest gotowa templatka do programowania ARM, wybieram olimex-lpc213x, potem wybieram lpc2138 (a mój mikrokontroler to lpc2142 - może to jest problem) i jest tam startup o nazwie vectors.S. oraz pliku: map.txt Oczywiście jest tam jeszcze lpc214x.h. Ten plik wziąłem ze strony Keila. Ma...
No to lecimy dalej void vPortISRStartFirstTask( void ) { c34:e52db004 push{fp} ; (str fp, [sp, #-4]!) c38:e28db000 addfp, sp, #0 /* Simply start the scheduler. This is included here as it can only be called from ARM mode. */ #warning "Tu się wykłada" portRESTORE_CONTEXT(); c3c:e59f004c...
Cześć. Posiadam płytkę 32L152CDISCOVERY ( 853882 ). Moja prośba jest taka aby ktoś obeznany z tymi kontrolerami powiedział co jest źle. Podejrzewam że zastosowałem złą sekwencję startową (nie włączyłem jakiego zegara czy czegoś nie zresetowałem). Od razu zaznaczam że nie ma wlutowanego zewnętrznego kwarcu i nie chce konfigurować zegara głównego, tylko...
Witam, Zabrałem się za mój pierwszy układ na Cortexie M-3. Zadaniem układu jest (na początek). 1. Generowanie sygnału z DAC. 2. DAC jest triggerowany przez timer (chwilowo T2). 3. DAC wykorzystuje DMA (DMA2_Channel3). I dotąd jakoś wszystko działało (DMA w trybie Circular). Generowany przebieg był ok. Docelowo potrzebuje podmieniać (przełączać się)...
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...
(at)skynet_2 na pewno da to radę zrobić w ten sposób. To wszystko zależy od zastosowania. Jeżeli ktoś ma wolny timer, to myślę że moja metoda jest najlepsza. Jeżeli ktoś nie ma, no to napisanie takiej funkcji to zadanie IMOH mało złożone. Do ciut większych opóźnień stosuje się np timer dedykowany systick. Troszkę czepiając się, to nie zawsze wiadomo...
Znalazłem patcha i obecnie działa mi swd i mam wersję Open On-Chip Debugger 0.7.0-dev-00106-gb7ea4a6-dirty. Przy czym na chwilę obecną wypluwa mi errory że dgb chce się dostać do nie istniejącego rejestru. errory code syntax LordBlick //------------------ Rozwiązanie: Po wielu kombinacjach dopiero na wersji OpenOcd 0.6.0-dev poszło bez problemów. Próbowałem...
Mam w zasadzie wie sprawy, ucząc się programować wspomniany w temacie procesor, pełen optymizmu i zapału, zabrałem się za rozgryzanie systemu przerwań. No i zaczęły się schody. Aha, przy nauce mocno wspomagam się książką p. Lucjana Bryndzy "LPC2000 - mikrokontrolery z rdzeniem ARM7". Ustawiając przerwania zacząłem od odpowiedniego przygotowania kontrolera...
openocd instalacja openocd porty openocd programować
rezystancja oscyloskopu radio honda civic radio kopia zapasowa plików
sterownik movera uszkodzony powerbank
Zielona dioda włącza się i wyłącza - przyczyny Nie można otworzyć aplikacji taetuo-x64.5.9.0