ad 1/ Software reset The SYSRESETREQ bit in Cortex™-M3 Application Interrupt and Reset Control Register must be set to force a software reset on the device. Refer to the STM32F10xxx Cortex-M3 programming manual (see Related documents on page 1) for more details. [url=http://www.st.com/internet/com/TECH...
Niestety to nie rozwiazuje problemu. Dodalem dyrektywe STARTUP_FROM_RESET, mimo to program nie startuje po resecie.
Cortex, po resecie, odczytuje adres stosu i początku programu z początku pamięci. I tego nie przeskoczysz. Przesuwanie tablicy wektorów przydaje się np. jeśli na początku flasha masz kod bootloadera (z własną tablicą wektorów) a potem przechodzisz do właściwej aplikacji, która ma swoją osobistą tablicę wektorów pod innym adresem.
"odwieszania" procka? NRST to jest najwzyklejszy RESET całego układu jak w każdym innym mikrokontrolerze. TRST jest resetem JTAGa. Nie musi on byc podłączony, bo SW ma zamiast pinu, rozkaz, i w efekcie wykonuje się ten sam reset JTAG.
Zauważyłem, że jezeli w procedurze odblokowania opuszcze krok wyłączenia i włączenia zasilania, to kiedy zrestartuje openocd, to mogę się połączyć przez telnet, tylko dalej coś jest nie tak bo np. zgłasza błąd przy poleceniu reset halt > reset halt 500 kHz cortex_m3 reset_config vectreset Resetting Core Peripherals JTAG tap: lm3s.cpu tap/device found:...
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....
No tak - dokładnie tak robię. Zobacz - ostatnia linia kodu : SCB->AIRCR = 0x05FA0000 | (u32)0x04;//RESET.
Nie ma "przerwań synchronicznych", jest tylko błędna terminologia. SVC to jest właśnie pułapka, podobnie jak SYSCALL w innych procesorach, TRAP w jeszcze innych i INT w x86. Błąd to coś ciut innego - wszystkie Fault w ARM to właśnie błędy. Obsługa błędów ani pułapek nie zależy od priorytetu procesora. Ten "konfigurowalny priorytet" dla pułapek i błędów...
Przerwania i wyjątki używają 'Main Stack'. Po resecie procesor Cortex jest w 'Privileged Thread Mode', chcąc pozostać przy jednym stosie ustawiamy 'Main Stack'. W skrypcie linkera: [syntax=script]__main_stack_size=1024 __process_stack_size=0 [/syntax] W startupie inicjalizujemy: [syntax=asm]Reset_Handler: ldr sp,=_estack [/syntax] I na tym poprzestajemy....
Z jaką częstotliwością wysyłałeś dane? Ja wysyłam co jakieś 200 ms i po mniej więcej 100 pakietach zaczyna mi się transmisja zawieszać i przy każdej próbie wysłania muszę robić reset. Zaobserwowałeś coś takiego?
A konkretnie to do czego służy kondensator na linii RESET w STM32F4? Jeśli nie mamy jakichś poważnych zakłóceń w otoczeniu, a ścieżka od RESET ma nie więcej niż 1..2 cm, to po co niby miałoby być cokolwiek na płytce podłączone do RESET? Tak samo zresztą jest to zrobione w większości uC z rdzeniami Cortex. W moich projektach najczęściej w ogóle nie mam...
1. Vortex działa pod XP. Problemy sa z chipsetami via, ale bez problemu do rozwiązania. Co do konkretów - to od razu sobie daruj. Nie opłaca sie, nie ma sensu, nie ma "ukladu". vortex 2 + amd 760 - dziala ale pada po kilku minutach vortex 2 + nforce 2 - zrzut ramu, reset cortex 2 + intel chyba 915 - dziala chwile, potem czarny ekran owszem jest to...
Jeżeli zadajesz pytanie, to zamykanie tematu uniemożliwia uzyskanie odpowiedzi. Odblokowałem. Źródło taktowania po zwolnieniu sygnału reset jest określone sprzętowo. W przypadku STM32F302 jest to opisane w sekcji 9.2.6 w [url=https://www.st.com/content/st_com/e...
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...
[url=http://openocd.sourceforge.net/doc/... cortex_m reset_config connect_assert_srst ??
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...
Nabyłem sobie taki programator jtag-lock-pick_tiny 2. Wszystko działa dobrze gdy połączymy programator z procesorem za pomocą taśmy - wszystkie piny złacza JTAG(20) płytki są złączone z pinami programatora OpenOCD pracuje bezproblemowo w trybie SWD i Jtag - testowane na STM32F1 i STM32F2. Gdy połączymy tę samą płytkę za pomocą 5 kabelków, czyli JVCC,...
Witam Widziałeś to już? https://www.elektroda.pl/rtvforum/viewto... Jeśli spojrzysz na dane CPU, zobaczę, czy jest na nich aktualizacja WNRO (Istnieć jeden "Jolly Joker" WNRO Patch (rozmiar obrazu jest niezależny): MSB2531 Cortex-A7 i Cortex-A9 )
Na cortex-m jest możliwość wykrycia źródła resetu, ale kod będzie zawsze startować z adresu 0x00000000, nawet jeśli wczesniej VTOR był ustawiony na inną wartość (nawet software reset powoduje ustawienie default wartości dla rejestrów, oprócz rejestrów RCC). Tak więc podałem błędną informację w artykule, którą poprawiłem.
Ale przestawiłeś w Settings na lpc1768? a masz usb device na tej płytce wyprowadzone? Zapewne mają bootloader usb tak jak lpc1343, więc podłącz pod usb. Jeżeli układ nie był jeszcze zaprogramowany to powinien pojawić się nowy dysk (pendrive) i możesz na niego wgrać wtedy program, tylko trzeba go przekowertować na format *.bin komendami: arm-none-eabi-objcopy...
W zasadzie taką wiedzę już posiadam :) Może jakiś przykład z wykorzystaniem rejestrów? Dodano: Czy za grupę priorytetów mam rozumieć kilka priorytetów o tej samej wartości? Ale skoro tak jest to co wnosi rejestr "Application Interrupt and Reset Control Register"?
Okazuje się że w LPC17xx wykonanie programowego resetu przez ustawienie bitu SYSRESETREQ w AIRCR jest niezaimplementowane :cry: (a niby CORTEX-M3) Note: support for SYSRESETREQ is not included in LPC17xx devices. Czy znacie inny sposób na wykonanie takiego resetu? Niestety WDT odpada.
Jeśli coś mniejszego od Raspberry/Orange Pi, to proponuję zacząć od poszukania oprogramowania niezbędnego do działania z Arduino i z modułem STM32, oraz sprawdzenia, jakie możliwości daje który moduł. Z tego, co pamiętam, STM32 jest dużo szybszy, najtańsze moduły do obu są w cenie kilkunastu zł - moduł STM32C8T6 od około 14zł, Arduino Pro Mini od 12.60zł...
Dzieki za zrodla. Okazalo sie, ze problem lezal w samym projekcie. Stworzylem nowy projekt i dodalem wszystkie potrzebne pliki i przerwania zaczely dzialac poprawnie. Jak narazie pracuje na bibliotekach ST, diodkami juz dawno migam:) Mam takie pytanko co trzeba zrobic, aby program wgrany poprzez JTAG do flasha, po resecie odpalal sie normalnie? W tej...
Mam problem z wgraniem programu do procesora po tym jak wrzuciłem do niego program mający zapisywać dane do pamięci flash w trakcie jego działania (kod do emulacji eeproma zaczerpnąłem: http://www.elektroda.pl/rtvforum/topic21... Aktualnie każdorazowo po próbie przeprogramowania procesora wyskakuje mi komunikat „Flash timeout. Reset and...
No rzeczywiście stos jest nieustawiony. A co do obsłużenia wyjątku to z dokumentacji Cortexa wyczytałem, że dla wyjątków fetch i dla data abortów recoverable funkcja może w zasadzie nic nie robić, bo automatycznie hardwarowo następuje naprawa błędu a co zrobić dla błędów unrecoverable (reset od watchdoga), bo jakoś google milczy na ten temat???
1. O co chodzi dokładnie z Serial Wire Viewer oraz Serial Wire Output? To taki jednokierunkowy port szeregowy do wystawiania nim informacji jakie uznasz za słuszne. http://infocenter.arm.com/help/index.jsp... Chodzi mi dokładnie o to SWO to pin dedykowany do tego? Jak najbardziej. czy si e jakoś to uaktywnia?...
Jeśli jak piszesz, umiesz analizować kod to pokarz mi gdzie tu jest sedno problemu w moim kodzie. To jest kod z twojego linka:[syntax=c]void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) { uint32_t tmpreg = 0; /* Check the parameters */ assert_param(IS_PWR_REGULATOR(PWR_Regula... assert_param(IS_PWR_STOP_ENTRY(PWR_STOPE...
Dobra rada: nie rób tego w aplikacji. Był już kiedyś wątek nt. bootloaderów dla Cortex - odszukaj i poczytaj, znajdziesz tam prawie wszystko. Powrót z aplikacji do bootloadera w sposób inny, niż przez programowy reset, to też nieszczególnie szczęśliwy pomysł.
Dzięki za dobrą i szybką podpowiedz. [syntax=text]Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : FTDI SWD mode enabled swd adapter speed: 10 kHz adapter_nsrst_delay: 200 cortex_m reset_config sysresetreq Info : clock speed 10 kHz Info : SWD DPIDR 0x0bb11477 Info : lpc11xx.cpu:...
w LPCXpresso. hmm... a nie martwią cię jego ograniczenia wielkości kodu? Co do przykładu - oto przykładowy skrypt linkera... [syntax=c]/* Linker script for Cortex-M3 * * Version:CodeSourcery Sourcery G++ Lite 2007q3-53 * BugURL:https://support.codesourcery.com/... * * Copyright 2007 CodeSourcery. * * The authors hereby grant permission to...
Czołem! Chyba znowu utknąłem w bojach z STM32F2. Wysyłam taką komendę: openocd -f interface/jtagkey.cfg -f target/stm32f2x.cfg -c "init; reset halt; flash write_image erase out/test.hex; reset run; shutdown" i dostaję odpowiedź: Open On-Chip Debugger 0.5.0 (2011-12-03-10:15) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge...
Jak zwykle w MS, nie wiadomo dla czego, ale po przejściu do trybu awaryjnego... rzęził... rzęził i mam już path'a :) Po wpisaniu: openocd -f interface/rlink.cfg -f board/olimex_stm32_h103.cfg wyrzuca: Open On-Chip Debugger 0.9.0 (2015-05-19-12:06) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Warn : Adapter...
Trochę tego tam używa - systick, pendsv, svc. Dodatkową (sporą) komplikacją jest też to, że distortos używa oczywiście dwóch stosów. Niemniej jednak w sytuacji skoku z bootloadera opartego na distortos do aplikacji opartej na distortos być może te rzeczy nie są takim dużym problemem, bo w końcu aplikacja też ich używa. Niemniej jednak np. systick powinien...
Jak w temacie. Nie mogę wgrać programu do procesora. Tak wiem, to nie jest pełna komenda, ale już na niej się wysypuje. Programowanie STM32F103 działa świetnie. JTag od Freddiego. openocd -f interface/jtagkey.cfg -f target/stm32f1x.cfg -c init -c "reset halt" Open On-Chip Debugger 0.6.1 (2012-10-12-19:56) Licensed under GNU GPL v2 For bug reports, read...
Odradzam USB Host w NXP LPC17xx (Cortex-M3). Bug w krzemie (dribble bit) nie pozwala z niego korzystać, zwiesza kontroler tak że pomaga tylko Hard Reset (zasilania). Takie tylko jest rozwiązanie w errata. Ciekawostka, że potrafi zablokować magistralę i rdzeń. Lepsze jest że nawet watchdog nie pomaga. Jedyna sztuczka, która czasem może się udać wejść...
Witam, Mógłby mi ktoś przesłać kod na obsługę tych dwóch wyjątkow, bo nie mam zielonego pojęcia co procedury obsługi wyjątków mają robić. Dla błędów recoverable z tego co przeczytałem w dokumentacji rdzenia Cortex R4F procedury nic nie muszą robić, bo po wskoczeniu do wyjątku błędy są naprawiane hardwarowo. Natomiast dla błędów typu unrecoverable prawdopodobnie...
Wskazany w linku debugger to zapewne JLink ale za cenę niespełna 10 $ to napewno nielegalny klon :) Jeżeli chcesz poznać LPC'ki i mieć debugger to wejściami . Kiedyś zapomniałem o tym fakcie i dziwiłem się dlaczego program nie działa tak jakbym się tego spodziewał.
Witam, Z resetem może być problem. Producent ustawił licznik na 400 000 błysków i pewnie potem świeci pierwsza dioda od lampy i miga czerwona bez możliwości sterowania lampą. W środku siedzi STM32F030C8T6 - 32-bitowy mikrokontroler z rdzeniem ARM Cortex-M0, 64kB Flash, 48LQFP, STMicroelectronics. Podobno te procesory nie są poblokowane i można z niego...
Rozdział 7.2, czwarty punkt od góry: The MSI at 2.1MHz is used as system clock source after startup from power reset, system or RTC domain reset, and after wake-up from Standby mode 7.3.1 - opis rejestru RCC_CR i następne sekcje - opisy kolejnych rejestrów RCC
michalko12 A nie LR (Link Register), zawiera adres instrukcji ktora wywolala wyjatek po odjeciu od niej 8. Jak nie jesteś pewien sprawdź, a nie poprawiaj kogoś kto pisze dobrze. Za Cortex-M3 Technical Reference Manual: "LR is set to EXC_RETURN to exit from exception. EXC_RETURN is one of 16 values as defined in ARMv7-M Architecture Reference Manual"...
Efekt: Te układy mogą być po prostu (jeszcze) nie wspierane przez OpenOCD, stąd problem np z warningiem który widzisz. I to niestety może być "gwóźdź do trumny".
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...
Odpowiedzi na nurtujące Cię pytania łatwo znajdziesz w dokumnetacji - Reference Manual i Data Sheet. Bez czytania dokumentacji nie zrobisz NIC z żadnym układem. Linie portów w różnych układach różnych producentów są różnie umieszczone i nie zależy to od rdzenai procesora. Np. Freescale Kinetis mają na ogół "uorządkowane" porty. W praktyce nie ma to...
Wersje Cortex nowsze od starego, pierwszego M3 mają zawsze domyślnie włączone wyrównanie, często bez możliwości wyłączenia. Na starym M3 (STM32F1xx) najlepiej jest włączyć w module startowym, zaraz po resecie, i zapomnieć o problemie i dziwadłach typu "interrupt". Wyrównanie jest potrzebne dla konwencji wołania ARM, a brak wyrównania odbija się czkawką...
Witam, chciałem skonfigurować przetwornik ADC, tak, żeby jego konwersja była wywoływana programowo. Włączyłem zegar i skonfigurowałem pin jako AIN. Chciałem, żeby przetwornik był pierwszy w kolejce w trybie regular sequence. Moja konfiguracja przetwornika: [syntax=c] //ustawienie channel1 ADC1->SMPR2 |= ADC_SMPR2_SMP1; //sample time 239.5 cykla ADC1->SQR1...
Witam, Na płytce prototypowej umieściłem F103VCT6. Procek programuje się przez JTAG bez problemu, natomiast w ogóle się nie uruchamia. Oscyloskop nie pokazuje nic na kwarcu. Kwarc to 8MHz + kondensatorki 2x22p. W debagu Keila otrzymuję komunikat: "Could not stop Cortex-M device! Please check the JTAG cable", ale to raczej z racji tego, że procek nic...
Tak, to DIY. Ustawianie czegokolwiek w debuggerze nic nie da skoro openocd nie łączy się i kończy działanie. W plikach nic nie zmieniałem, oto one: stlink-v2.cfg stm32f4.cfg Only debugging on evaluation boards is allowed. Debugging on custom hardware is not supported and not allowed
A ja siedzę od rana i próbuje odpalić JTAG-lock-pick pod Eclipse + OpenOCD. Cały czas siedziałem na Seager J-Link przez GDB i jakoś to działało (byle jak, debugowanie raz mi działało, raz nie ale jednak dało się z tego korzystać). Tak więc do działającego projektu wrzuciłem konfigurację OpenOCD (samo OpenOCD mam już zainstalowane w wersji openocd-x64-0.5.0)....
Po podłączeniu dostaję takie błędy od OpenOCD: Open On-Chip Debugger 0.5.0-dev (2011-06-07-18:11) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge... Info : only one transport option; autoselect 'jtag' 1000 kHz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 #0 : stm32.flash...
w ISR - robię (robiłem): void DMA2_Channel3_IRQHandler(void) { DMA_ClearITPendingBit(DMA2_IT_GL3 | DMA2_IT_TC3); Switch_DAC_Tables(); } miałem złe przeczucia dot. stosu(ów) i faktycznie jeden z problemów był ze stosem. mianowicie źle został zainicjowany PSP. Ostatecznie zrezygnowałem z kombinowania z drugim stosem wrócę pewnie do tego jak więcej poczytam...
Witam, Za każdym razem w trakcie uruchomiania mikrokontrolera po startowaniu konfiguracji debugowania GDB w eclipse licznik rozkazów skacze do : g_pfnVectors: 00000000: andne r0, r0, r0, lsr #16 <------------- 00000004: muleq r0, r1, r6 00000008: andeq r0, r0, r0 0000000c: andeq r0, r0, r0 a OpenOCD sypie błędami: Info : JTAG...
Posiadam tablet Yarvic TAB456EUK , działa bez zarzutów przez parę minut po włączeniu, problem polega na tym że po tych kilku minutach zawiesza się i muszę wyjąć baterie. I tu chciałbym zapytać czy można na nim wykonać reset oprogramowania, słyszałem że wciska się któreś przyciski w odpowiedniej kolejności. A jeśli to nie pomoże to jak wgrać mu nowy...
Doinstalowałem hidapi-devel-0.7.0-2.a88c724.fc19.x86_64 i hidapi-0.7.0-2.a88c724.fc19.x86_64 po czym kompilacja przebiegła prawidłowo. Uruchamiam w sposób podany poniżej lecz program się zamyka zamiast nasłuchiwać na porcie 4444 [syntax=bash] [root(at)localhost ~]# openocd -c "interface cmsis-dap" -f /usr/local/share/openocd/scripts/target/...
Niezupełnie. Kod źródłowy "aplikacji" nie musi wiedzieć, czy jest zapisany od adresu 0 i startuje sam, czy jest startowany przez bootloader. O tym wie tylko konsolidator, który generuje kod odpowiedni dla zadanego adresu startowego. Pod adresem bazowym aplikacja ma kompletną tablicą wyjątków, z wektorem RESET. Bootloader po zweryfikowaniu aplikacji...
Podłączyłem kabelkiem BOOT0 do +, odpaliłem STM32 ST-Link Utility, po wyborze opcji Erase Chip wyskakuje komunikat: 23:28:11 : Some flash pages are write protected! Nie mogę skasować pamięci flash. Ustawiłem aby łączyć się z urządzeniem "connect under reset". Jak trzymam przycisk reset i próbuję skasować flash, jest tak samo. Gdzie jest opcja hardware...
Dzięki za kod. Akurat te przykłady śnia mi się po nocach więc znam je na pamięć :wink:. Oczywiście jak wkleję cały kod to działa, natomiast jak wykasuje komendy dt. odczytania danych z SPI to już wysyłanie się nie wyrabia i dane się nakładają. Poprostu komendy /* Wait to receive a byte */ while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE)...
Witam, Korzystam z przykładu freddie'go LPC4330_blink_led. Płyta MINI4357. Konfig openocd oraz plik linkera przerobiony na wewnętrznego flasha: # based on target/lpc4350.cfg from OpenOCD # Cortex-M0 core is disabled intentionally as it causes problems during debugging adapter_khz 1000 if { [info exists CHIPNAME] } { set _CHIPNAME...
Witam Mam dziwny problem z jtagkey od Frediego. Zrobiłem sobie kilka dni przerwy od programowania i ostatnio nie było żadnych problemów. Dziś odpalam eclipse i przy próbie odpalenia pokazuje mi, że nie znalazł urządzenia... 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...
A mam jeszcze pytanie odnośnie bufora. Piszesz, że latencja to nie delay bo to czas potrzebny na załadowanie bufora. Jednak gdyby buforowanie było wyłączone, to byłby to zwykły delay. Z resztą pojęcie waitstate kojarzy mi się z delay'em. Ale chyba jednak buforowanie jest domyślnie włączone po resecie i nie trzeba go włączać? Znalazłem jeszcze ciekawą...
Podaj model przetwornika.. Komenda 0x0000 inicjuje start konwersji? Jeśli tak to buf1 i buf2 zawiera praktycznie te same dane.. Bo odczytujesz tylko 16b i inicjujesz start od nowa i pobierasz znów tylko 16b.. Może powinno być tak: .... SPI_I2S_SendData(SPI2, 0x0000); // Send SPI1 data while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);...
Bo ten program jest zły! Cortex-M3 pod konkretnymi adresami oczekuje konkretnych rzeczy - na samym początku flasha - wartości dla SP, potem adresu (adresu! nie instrukcji!) wektora obsługi wyjątku reset itd. Zapomnij o takim prostym programiku - to tak po prostu nie zadziała. Potrzebna Ci jest tablica wektorów, potrzebny Ci jest "normalny" skrypt linkera...
Skompilowałem openocd wydając polecenia: ./configure --enable-parport --enable-parport_ppdev make Przełączyłem się nawet na konto root'a ale dalej to samo. EDIT: Spróbowałem skompilować z opcją: ./configure --enable-parport --disable-parport_ppdev Jednak teraz wywala: Open On-Chip Debugger 0.5.0 (2012-01-31-14:10) Licensed under GNU GPL v2 For bug reports,...
Znalazłem w sieci gotowca, działa: [syntax=cpp] # NXP LPC812 Cortex-M0plus with 16kB Flash and 4kB Local On-Chip SRAM, # Nemuisan's Special # set LPC812 Information set CHIPNAME lpc812 set CPUDAPID 0x0BC11477 set CPURAMSIZE 4096 set CPUROMSIZE 16384 set CPUVARIANT lpc800 #Include the main configuration file. source [find target/lpc11xxx_8xx.cfg]; $_TARGETNAME...
Jeśli napiszesz pusty SystemInit, to zegar zostanie taki, jak po Reset, czyli wolny z wewnętrznego oscylatora. Z drugiej strony jeśli już się używa F4, to nie po to, żeby chodził na 8 MHz. Tak to ja robię często w mikrokontrolerach z Cortex-M0, kiedy nie zależy mi na wydajności.
W SR1 mam teraz ustawiony bit AF. Mam zwarte piny PC9 z PB7 oraz PA8 z PB8 układ I2C3 nadaje jako master układ I2C1 odbiera jako slave. Hmm gdy próbuje się skomunikować z układem CS43L22 na płytce discovery mam to samo ustawia mi się bit AF. [syntax=c] RCC->AHB1ENR |=RCC_AHB1ENR_GPIODEN; RCC->APB1ENR |=RCC_APB1ENR_TIM2EN; GPIOD->MODER =0x55555555...
Ok, sprawdzę to. Wcześniej, tego tak nie analizowałem, a w sumie _srbk() była dodana do testowania bibliotek C. Niestety, po tym jak się okazało, że standardowy sprintf() zajmuje kilka kiB danych ( ! ), zacząłem pisać własne funkcje (zazwyczaj < 1kiB). Może się zdarzyć reset urządzenia - np. po wyjściu z Low Power Standby, lub po ustawieniu Option...
Czyżby zadziałało :?: :D :?: Plik konfiguracyjny: [syntax=text]# # Joern Kaipf's OOCDLink # # http://www.joernonline.de/contrexx2/cms/... # interface ftdi ftdi_device_desc "OOCDLink" ftdi_vid_pid 0x0403 0x6010 ftdi_layout_init 0x0508 0x0f1b ftdi_layout_signal nTRST -data 0x0200 -noe 0x0100 ftdi_layout_signal nSRST -data 0x0800 -noe 0x0400...
Fajne te xmegi :) Daleko im do ARM i w stosunku do nich są koszmarnie drogie. Mają jednak pewną zaletę, niespotykana w ARM, rejestr TOGGLE w GPIO i EEPROM, to czego trochę w ARM mi brakuje. Więcej zalet Xmega nie pamiętam za co serdecznie żałuję i postanawiam sie poprawić :-) Prosiłem kilka razy, aby Kolega sprawdzał informacje przed wysłaniem postu....
wojlej: ADC trzeba skalibrować przed włączeniem go do pomiarów. Zobacz, które bity NIE mogą być ustawione podczas kalibracji - jest o tym w manualu. Podpowiem - ADEN, czyli enable. Co do Twoich obaw dot. rejestrów - jeśli potrafisz "ogarnąć" pola struktur, to potrafisz i rejestry. Dla mnie pierwszy argument za nieużywaniem bibliotek - to ilość kodu,...
http://obrazki.elektroda.net/60_12870844... Witam. Termometrów na elektrodzie było już dużo, w tym projekcie nie ma nic specjalnego, poza tym że wykorzystuje w miarę nowy procesor LPC1343. Projekt umieszczam w sumie tylko po to żeby podzielić się źródłami. Mam nadzieje że komuś się przydadzą. Jak wiadomo, kto stoi w miejscu, ten się cofa....
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! Próbuje rozpocząć debugowanie STM32L476-discovery z wykorzystaniem OpenOCD 0.9.0 pod Eclipse Luna, WIN7 x64. Plik konfiguracyjny zapożyczony z pluginu STM32Cube pod Eclipse gdyż nie znalazłem w oficjalnej wersji OpenOCD. [syntax=stm32l4_cfg] # script for stm32l4x family # # stm32l4 devices support both JTAG and SWD transports. # source [find...
Problem udało się rozwiązać. Jest to program w tzw. "bare metal" tworzony w GNU Macro Assemblerze. Wygląda na to, że jako szablon wziąłem ustawienia z Blue Pill, a skoro działało z ST-LINK, to niczym się nie przejąłem. Dopiero teraz, gdy odłączyłem programator, okazało się, że to był błąd i Macro Assembler źle inicjował tablice wektorów dla STM32H7....
Trochę sam sobie odpowiadam ale nic może komuś się to przyda. Tymaczasowym rozwiązaniem mojego problemu jest podmienienie funkcji Suspend w pliku usb_pwr.c z: [syntax=c]void Suspend(void) { uint32_t i =0; uint16_t wCNTR; uint32_t tmpreg = 0; __IO uint32_t savePWR_CR=0; /* suspend preparation */ /* ... */ /*Store CNTR value */ wCNTR = _GetCNTR(); /*...
Witam, Od 2 dni walczę z tym błędem: Invalid ACK 0x4 in JTAG-DP transaction Problem powstaje w chwili gdy jest wysyłana CTRL_STAT, który zwraca ACK = 4, taki błąd niestety nie jest nigdzie opisany jedyne wartości jakie może przyjąć ACK to ACK_OK_FAULT, JTAG_ACK_WAIT. Dlatego kieruję do Was pytanie czy ktoś, kto bardziej się orientuje w protokole JTAG-DP,...
Kupowane toreny nie oryginalne maja już chip przystosowany który sam resetuje stan wydruku. Jak by ze strony producenta np aktualizacja firmware nie chciała się uruchomić to tu macie link do stronki gdzie działają aktualizacje. https://orpys.com/en/content/22-sl-m-ser... https://obrazki.elektroda.pl/5181557700_... https://obrazki.elektroda.pl/1987741800_...
OpenOCD w wersji 0.8.0 (paczka od Freddiego) nie wykrywa mi jtag-lock-pick (też od Frediego). Wcześniej nie zauważyłem tego problemu ale ostatnia wersja którą używałem to 0.6.0 (tam nie ma problemu). Komunikat jest następujący: F:\Workspace\tools\openocd-0.8.0\ope... -finterface/ftdi/jtagkey.cfg -ftarget/lpc11uxx.cfg...
Eclipse CPP Juno SR1 - świeżo wypakowane od nowa Katalog Workspace - Wyczyszczony Projekt wypakowany do innego katalogu niz Workspace Odpalamy Eclipse Ustawiamy Workspace na C:\_Prog\Workspace Zamykamy ekran powitalny. File->Import->General->Existing Project into Workspace Wskazuję plik z archiwum projektu. Projekt został dodany Sprawdzam ustawienia...
1. Te błedy to normalna sprawa - wynikają one chyba z tego, że gdb próbuje odczytać "call stack" zbyt głeboko, co się źle kończy po pewnym czasie - odczytem nieistniejącego adresu. Nie jest to żaden problem, nie warto się tym przejmować. Debuggowanie może być też problematyczne dlatego, że wykonujesz soft_reset, który może sporo mieszać, zależnie od...
No jakoś nie ściągałem nowego. Ale czym prędzej to zrobię =] To pomoże ? Bo w sumie ten OpenOCD bez problemów działa z ARM7 i Cortexami. EDIT: Odpaliłem nowe OpenOCD (pobrane z Twojej strony) i mam komunikat: E:\Projekty\ARM\Eclipse\STR91x_examp... -f str912.cfg Open On-Chip Debugger 0.4.0 (2010-02-22-19:05) Licensed under...
Witam, Zainstalowałem nową wersję OpenOCD-x64-0.6.1 na Windows 7 x64 i próbuję uruchomić go z programatorem RLink na środowisku Eclipse. OpenOCD pobrałem ze strony Freddie Chopin`a. Przeinstalowałem także sterowniki do RLnik`a, które były zawarte w pobranym zipie. Poniżej wynik uruchomienia OpenOCD, w Eclipse i z linii komend wynik jest taki sam: komenda:...
Witam! Po latach odkopałem "bohatera wątku" i próbuję go odpalić. Niestety nie chce zbytnio współpracować a openocd wypisuje co następuje: C:\Documents and Settings\dell>openocd -f interface/jtagkey.cfg -f target/stm32f 1x.cfg Open On-Chip Debugger 0.8.0-dev-00277-g871b34c (2013-12-15-11:29) Licensed under GNU GPL v2 For bug reports,...
Używam KT-LINK, OpenOCD 0.7.0, libusb. Środowisko działa prawidłowo, kilka identycznych płyt z STM32F4xx działa prawidłowo, debug, flash itp. Jedna idzie opornie. Po podłączeniu się OpenOCD: Open On-Chip Debugger 0.7.0 (2013-05-05-10:41) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d...
Ciągle walczę i właśnie pobrałem sobie CubeIDE i teraz ta: 1. stworzyłem nowy projekt bez bibliotek zaznaczając m.in. Target projekt type na empty: https://obrazki.elektroda.pl/9699499800_... 2. w projekcie zobaczyłem pliki: - main.c - syscalls.c - sysmem.c 3. wrzuciłem sobie do projektu kolejne pliki: - stm32f103xb.h - core_cm3.h -...
Ś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...
Witam, FRDM-KL25Z z openSDA na sterownikach od Pemicro OpenOCD 0.8.0 (paczka od Freddiego) OpenOCD znajduje procesor (tutaj wszystko wygląda OK) ale potem co kilka sekund wyrzuca: Info : CMSIS-DAP: SWD Supported Info : CMSIS-DAP: Interface Initialised (SWD) Info : add flash_bank kinetis MKL25Z128VLK4.flash cortex_m reset_config vectreset adapter speed:...
(at)Freddie Chopin Czy używasz jakiegoś konkretnego rozszerzenia w VSC dla cmake tzn. czy mógłbyś jakieś polecić? Mam tylko rozszerzenie o ambitnej nazwie "CMake", ale jego główną funkcjonalnością jest pomoc przy edycji plików CMake'a (kolorowanie składni, podpowiedzi, help itd.) - nie ma w nim żadnego wsparcia dla budowania/konfiguracji przy użyciu...
Witam. Poskładałem Jtaga ze strony Freediego Chopina. Niestety nie mogę zaprogramować targeta(płytka HY-Mini z STM32F103VCT6). Wszystko jest konfigurowane wg tutoriala. To pokazuje mi konsola eclipse: 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/doxyge...
Witam, Aktualnie debug działa. Konfiguracja: # NXP LPC1768 Cortex-M3 with 512kB Flash and 32kB+32kB Local On-Chip SRAM, clocked with 4MHz internal RC oscillator if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME lpc1788 } if { [info exists ENDIAN] } { set _ENDIAN...
https://obrazki.elektroda.pl/4053057400_... https://obrazki.elektroda.pl/3722728900_... PY32F002: https://obrazki.elektroda.pl/2521503900_... PY32F003: https://obrazki.elektroda.pl/1568258700_... Przykładowe obudowy: https://obrazki.elektroda.pl/7999632900_... https://obrazki.elektroda.pl/6190049000_...
https://obrazki.elektroda.pl/2492343300_... RP2040 to nowa płytka prototypowa chińskiej marki WeAct. RP2040 przypomina Raspberry Pi Pico, ale posiada do 16 MB pamięci flash, port USB-C i przycisk reset. Sercem RP2040 jest układ RO2040 fundacji Raspberry Pi zawierający dwurdzeniowy procesor ARM typu Cortex-M0+ o taktowaniu 133MHz. Kompatybilność...
Witam, troszkę odgrzewany kotlet, ale mam identyczny zestaw jak Ty, uruchamiam go pod FreeRTOS'em, ale niestety bez efektu, system operacyjny działa dobrze, robiłem na nim różne inne rzeczy, jako przykład zastosowałem jeden z biblioteki FreeRTOS -> CORTEX_STM32F107_GCC_Rowley z katalogu FreeRTOS DEMO, jest on napisany pod płytkę STM3210C z ST, kod...
Witam, próbuje debuggować projekt z procesorem na rdzeniu Cortex-M3 (STM32F107) środowisku Eclipse (GALILEO) /OpenOCD (0.3.1) i nie bardzo mi to wychodzi (może ktoś z Kolegów ma jakieś doświadczenia). 1) W Eclipse dla zmiennej globalnej ustawiam watchpoint: Run->Toggle->Watchpoint, zaznaczam pole „Write” w okienku [Add Watchpoint]...
Po małej dyskusji oraz przejrzeniu Cortex ™-M3 TechnicalReference Manual, Revision: r1p1, nasuwa się takie ciekawe pytanie. Wiadomo, że zewnętrzne przerwania od układów peryferyjnych są podłączane pod odpowiednie linie IRQ_n, w tym przypadku mamy numery od 0-239, czyli IRQ0-239. Natomiast poziom priorytetów można ustalić dla wszystkich przerwań...
Dziś przeinstalowalem ubuntu i zmuszony byłem do ponownych ustawień openocd. Po ściągnięcu i przebudowaniu źródeł wg http://www.fun-tech.se/stm32/OpenOCD/ind... próbowałem wpierw się połączyć z moja płytką: sudo openocd -f interface/jtagkey.cfg -f target/stm32f1x.gfg ale wyskakiwały błędy ftdi2232 .. poszło dopiero: sudo openocd -f interface/ftdi/jtagkey.cfg...
pisalem o tym w innym watku - gdb w najnowszego i poprzedniego (2008q3 - obydwie wersje) jest lekko zwalony i nie chce smigac z najnowszym eclipse. niemniej jednak gdb to gdb i cortex nie ma tu nic do rzeczy - mozna uzywac zarowno gdb z dowolnej starszej wersji CS, jak i gdb z - na przyklad - yagarto. co do ustawien dla cortexa, to w sumie nic nie trzeba...
A będziesz z takowych korzystał? <: Jest inna opcja - tworzysz dwa osobne projekty. Jedyna zależność między nimi jest taka, że ten pierwszy ("zwyczajny") może uruchomić ten drugi ("bootloader") poprzez skok pod adres początku tamtego (lub jakiś inny znany i stały adres). Projekt bootloadera będzie miał po prostu skrypt linkera w którym pamięć flash...
Witam, wczoraj z przerażeniem przeczytałem post kolegi tymon_x: [url=http://www.elektroda.pl/rtvforum/to... Niestety jest to prawda, a tym bardziej bolesna, że mam prawie gotowy projekt oparty na LPC17xx z hostem USB. Znalazłem w sieci, że nie muszę panikować, jeżeli nie...
Mój config: # NXP LPC1768 Cortex-M3 with 512kB Flash and 32kB+32kB Local On-Chip SRAM, clocked with 4MHz internal RC oscillator if { Wgrywam aplikację ze strony: http://tenuki.fr/nio101/?page_id=117 Komenda do OpenOCD: openocd -f LPC1756.cfg -c "init" -c "reset halt" -c "flash write_image erase lpc1756.elf" -c "reset run" -c "shutdown" I otrzymuję komunikat:...
cortex firmware cortex przerwania cortex manager
bezpieczniki octavia ogniwo peltiera zwarcie podlewać ogród
TDA8954 Stereo Output Issue: No LOUT, Only ROUT Working – Troubleshooting NXP Class-D Amp Toyota Yaris – aktualizacja map nawigacji Touch & Go, Touch 2, Smart Connect