Witam, korzystam z toolchaina od freddiego i Eclipse Luna pod stm32 discoveryf4. Debugowanie ogólnie działa jednak mam problem z breakpointami postawionymi w taskach od FreeRTOSa. Otóż są one jakby ignorowane, program nigdy się w nich nie zatrzymuje chociaż program wykonywany jest poprawnie. Jeśli postawię breakpoint w innym miejscu (przerwanie lub...
Cześć Mam jeszcze jedno pytanie dotyczace debugowania FreeRTOSa. Uzywam Ubuntu 12.04, Eclipse Juno, Zylin 4.18.1, openocd 0.7.0 i aktualnego gdb od linaro. Czy używając wtyczki "Zylin" (native), w momencie gdy analizowany task osiągnie breakpoint to domyslnie w okienku "Debug" (tam gdzie widać taski, "external tools" etc.) rozwija sie wam call stack...
Oba taski maja ten sam priorytet ? Sprobuj sprawdzic czy przerwanie od SysTiicka dziala (breakpoint). Mozesz tez sprobowac wrzucic tutaj kod, ktory nie dziala (okrojony najbardziej jak to mozliwe).
Zastosuj watchpointa na adres który jest modyfikowany - zobaczysz co go nadpisuje. To taki breakpoint uruchamiany gdy coś dokonuje zapisu i/lub odczytu konkretnego adresu z konkretną szerokością. 4\/3!!
Tyle Mialo OpenOCD do powiedzenia: target state: halted target halted in ARM state due to debug-request, current mode: Supervisor cpsr: 0x000000d3 pc: 0x00000000 0x5c002034: 00000197 cleared protection for sectors 0 through 7 on flash bank 0 Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1157). Workaround: increase...
Ok, wszystko trzyma sie kupy, aczkolwiek wylazł mi jeden, wcześniej nie objawiony, zupełnie niespotykany i atakujący z zaskoczenia błąd. Problem polega na tym, że gdy zatrzymam rdzen na breakpointcie w wątku (lub przerwaniu), a potem puszczę go dalej (po prostu, nie step), to całość się natychmiast hardfault'ci. To samo dotyczy zwykłego stop'a rdzenia....
Trochę dziwne. Zawsze możesz zignorować GDB i połączyć się z OpenOCD bezpośrednio przez telnet (port 4444), wydać komendę typu "halt" i będziesz wiedział mniej więcej co się dzieje również. W OpenOCD można również stawiać breakpointy oraz dokonywać dezassemblacji pamięci. 4\/3!!
wywaliłem ten opis urzadzenia z pliku interface i dostałem coś takiego:[syntax=bash] sudo openocd -f interface/jtagkey.cfg -f target/str912.cfgOpen On-Chip Debugger 0.6.0 (2012-10-10-14:10) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxyg... Info : only one transport option; autoselect 'jtag' RCLK - adaptive...
Witam, Od dłuższego czasu używam Eclipse Indigo wraz z CodeSourcery i GDB od Atollica do tworzenia i debugowania programów pod STM32. Taki "zestaw" działa bardzo dobrze przy klasycznej, jednowątkowej aplikacji. Jednak przy próbie uruchomienia FreeRTOS na STM32F103 program wchodzi w HardFault_Handler z komunikatem Suspended: Signal 'SIGTRAP' received....
Witam, Zauważyłem dziwne zachowanie programatora STM32 ST-LINK oraz nie mogę poprawnie podłączyć debuggera gdb (połączonego z Eclipsem i OpenOCD) podczas użycia funkcji vTaskDelay z FreeRTOS. Używam płytki ewaluacyjnej STM32L-Discovery z układem STM32l152. Do projektu udało mi się zintegrować FreeRTOS'a (możliwe że mam źle skonfigurowaną pamięć w jakiś...
Właśnie INCLUDE_vTaskSuspend mam zadeklarowane na 1. Próbuję jak najbardziej trzymać się tego co jest w manualu. Co do portYELD_FROM_ISR(xHigherPriorityTaskWok... Jeśli zrobię to w ten sposób to dostaję błąd error: 'portYIELD_FROM_ISR' undeclared (first use in this function). Właśnie nie mogę zdebugować programu, bo podczas prób wyskakuje napis informujący...
Witam! Od jakiegoś czasu zajmuje się uruchamianiem poszczególnych peryferiów na tym procku i ostatnio postanowiłem ściągnąć FreeRtos-a ver.6.0 aby go uruchomić. Posiadam Eclipse +Yagarto+OpenOCD wiec ponieważ dla tego procka jest demo do Eclipse to myslałem że wszytko pójdzie gładko tymbardziej że wyprowadzenia wyświetlacza LCD zgadzały się z tymi użytymi...
We FreeRTOS jeżeli w czasie wykonywania kodu weźmiesz semafor nim go stworzysz to system się wysypuje (brak zabezpieczenia). Ja bym radził wstawienie breakpointu w xQueueCreate żeby sprawdzić czy semafor jest tworzony czy nie. A jak z RAM? Dodano po 24 Troszkę poszperałem na forum FreeRTOS i możliwe że interfejs pada, jeżeli nie masz dobrze skonfigurowanego...
1) Sprawdz co robi procesor, instrukcja po instrukcji. Postaw breakpointa w linijce gdzie funkcja jest wywolywana, a nastepnie idz przez assembler. Zwróć uwagę na: - adresy dostepu. Jak wystąpi ci np. str z adresem docelowym zero, znajdz dlaczego zero... - stos. Czy aby na pewno sie nie przepełnia?... U mnie nigdy takich szopek nie bylo...
Udało mi się przywrócić projekt. Buduje się, wróciłem do punktu wyjścia. Według linka, który mi wysłałeś, pod zmienną pc, powinien kryć się licznik programu. Czy to jest adres, w którym wystąpił błąd przed wejściem do obsługi błędu? Nie mogę ustawić breakpointa żeby debugger zatrzymał się na tym adresie, przynajmnej nie wiem jak to zrobić żeby nie wyskakiwał...
Wiem, że nie jest to najprostszy sposób przedstawienia problemu z funkcją vTaskDelayUntil(), ale w żadnym innym miejscu, w którym z niej korzystałem problemu nie było. w najbardziej trywialnej wersji: [syntax=c]void vfoo_Task(void * pvParameters){ portTickType xLastFlashTime; xLastFlashTime = xTaskGetTickCount(); for(;;){ Clr_BUZZER; vTaskDelayUntil(...
Bawiłem się jeszcze trochę GDB i nagle coś wypełzło: d:\Projekty\MIK\Oprogramowanie\old\l... c: \FreeRTOSV7.1.1\Demo\ARM7_LPC2368_Eclips... GNU gdb (Sourcery G++ Lite 2011.03-42) 7.2.50.20100908-cvs Copyright (C) 2010 Free Software Foundation,...
Witam ponownie Troche czasu minelo i zdazylem bardziej doglebnie poznac ten zestaw ref. jak i sam procesor STM32. Niestety wraz z rozrastaniem sie projektu powracaja stare bledy i tak: W trybie SC USART nie generuje mi przerwan dla kazdego znaku, tzn.: Przy wysylaniu przez karte ATR w stanie RSTIN LOW moj soft dostaje tylko jeden bajt (pierwszy z ATR)...
Pozwolę sobie podczepić się pod temat. Otóż mam następujący 'problem'. Programuję sobie STM32 za pomocą OpenOCD i JTAG-lock-pick i zawsze po zaprogramowaniu pamięci procesor nie startuje a OpenOCD zwraca : target state: halted target halted due to breakpoint, current mode: Thread xPSR: 0x01000000 pc: 0x0800018c Skrypt programujący (zaczerpnięty...
Chyba udało się zrobić kolejny krok ale pełnego sukcesu chyba jeszcze nie ma. Użyłem programu UsbDriverTool. Na liście sterowników ten USB JTAG miał jakiś znaczek. Chyba wykrzyknik. Wywołałem instal Libusb-WinUSB. Teraz sterownik nazywa się "USB JTAG/serial debug unit(Libusb- WinUSB). W Eclipse teraz pojawia się bardzo dużo komunikatów: [syntax=python]Open...
Witam, piszę program na mikrokontroler stm32l151RxT6. Na początku używałem stm32l151R8T6 z pamięcią FLASH 64kB, ale szybko program się rozrósł i przerzuciłem się na stm32l151RCT6 (256 kB pamięci). Podczas uruchamiania programu z stm32l151R8T6 na RCT6 zauważyłem że przy starcie FreeRTOS-a program zamiast wchodzić do tasków ucieka do nieznanego obszaru...
Witam STM32l151CC dysponuje 8Kb EEPROMu.. Próbuję zadeklarowac zmienne w pamieci eeprom, zrobilem cos takiego: [syntax=c] const char EEPROM_moj[] __attribute__ ((section(".eeprom"))) ={10,20,30,40}; w pliku linkiera MEMORY { rom (rx): org = 0x08000000, len = 256k ram (rwx): org = 0x20000000, len = 32k eep (rw) : org = 0x08080000, len = 1k } SECTIONS...
stm32f103 breakpoint eclipse breakpoint openocd breakpoint
drukarka laserowa zaczernienie uszczelnienie przepustu ładowarka wkrętarki niskie napięcie
Przetwornik 1/2.7" vs 1/2.9" - który lepszy? Problem z białym paskiem na wydruku PGBK w Canon TS8350