Witam, Udało mi się uruchomić STM32 z OpenOCD przez Wigglera. Problem mi jedynie sprawia debugowanie programu w Eclipse. Program ładuję przez Makefile , wszystko wygląda ok: D:\Projekty\ARM\project>cs-make program "Programming with OPENOCD" openocd -d0 -f interface/parport.cfg -f target/stm32.cfg -c init -c "fast enable "...
Bo to jest właśnie little-endian (; https://en.wikipedia.org/wiki/Endianness...
Aktualizacja z września 2025: zobacz tutaj, aby uzyskać szczegółowe informacje na temat konwersji STM32 przez UART zamiast J-Link (tj. J-Link nie jest wymagany) https://www.elektroda.com/rtvforum/viewt... (dzięki (at)max4elektroda!) zobacz tutaj, aby uzyskać wyższą wersję przekonwertowanego oprogramowania CK-Link Lite dla STM32...
Włączyłeś zegar dla CRC? Jesteś pewny, że wersja linuksowa używa wielomianu 0x04C11DB7? Może problem wynika z zamiany big/little endian?
Problem na 99% jest z podaniem adresu do zapisu w 23K256, a dokładnie z rozbiciem liczby 16 bit na dwie 8 bitowe LSB, i MSB. Jak dokładnie wyznaczyć LSB i MSB ? Czy tryb pracy procesora Big Endian i Litte Endian może mieć wpływ na wartość ?
(at)miszcz310 jednak widzę, że lubisz się katować. Jakoś przywykłem do pisania w atomie lub vimie i tylko zmapowanymi klawiszami myk. Zainstaluj sobie np. https://marketplace.eclipse.org/content/... i masz vim-a w eclipse. Ale jeżeli już naprawdę chcesz to debugować to wydrukuj sobie informacje dwarf (dwarfdump-em np), zobacz czy te symbole...
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,...
dziękuje za pomoc teraz prawie wszystko jasne :D zrobiłem tak: telnet localhost 4444 reset halt stm32x unlock 0 flash protect 0 0 3 off flash banks flash erase_check 0 flash erase_address 0x08000000 0x00040000 pamięć odblokowana i chroniona no i mam wyczyszczoną całą pamięć teraz posostaje sprawa wgrania programu w postaci hex Dla flash write_image...
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...
Witam, próbuję uruchomić program napisany przez Freddie'go Chopin'a, na procku STM32F103R wlutowanym w moduł MMstm32F103R http://www.propox.com/products/t_174.htm... na płycie ewaluacyjnej EVBmm http://www.propox.com/products/t_183.htm... Zainstalowałem oprogramowanie, sterowniki, Eclipse, openocd itp. według instrukcji umieszczonej na stronie Freddiego....
Providera? Nie rozumiem. Zawsze używałem Zylin, odkąd przeczytałem o tym w tutorialu Freddiego. ;) Program na pewno wgrywa się prawidłowo. Sprawdziłem ST-LINK Utility na Windows. Chyba masz rację z tymi symbolami debugowania. Ale to jest dziwne bo mam -g przy kompilacji: /home/(...)/arm/gcc-arm-none-eab... -mcpu=cortex-m3...
Witam, Korzystajac z .text .global _start _start: (at) Label, not really required mov r0, #5 (at) Load register r0 with the value 5 mov r1, #4 (at) Load register r1 with the value 4 add r2, r1, r0 (at) Add r0 and r1 and store in r2 stop: b stop (at) Infinite loop to stop execution 2. Kompilacja: $ arm-none-eabi-gcc -o program pierwszy.S $ file...
Proszę bardzo: Program jest taki prosty testowy: #include "stm32f1xx_hal.h" int main(void) { HAL_Init(); while (1) { }; } A oto Build Log: Komunikaty występują przy kompilacji plików: - stm32f1xx_hal.c - stm32f1xx_hal_cortex.c - stm32f1xx_hal_flash.c - stm32f1xx_hal_gpio.c - stm32f1xx_hal_rcc.c ----------------Make...
D:\>arm-none-eabi-gcc -print-multi-lib .; thumb;(at)mthumb armv6-m;(at)mthumb(at)march=armv6-m thumb2;(at)mthumb(at)march=armv7(at)mfix... D:\> oraz D:\Robert\TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0\ARMTools\bin>arm-at ollic-eabi-gcc -print-multi-lib .; thumb;(at)mthumb armv4t;(at)march=armv4t arm926ej-s;(at)mcpu=arm926ej-s...
próbuje uruchomić openocd i rlinka na targecie stm32 primer (circle). Komunikacja z Ride7 działa, ale chciałem skonfigurować eklipsa tak jak radzi Freedie. Skompilowałem openocd 0.4.0 odpalam: G:\arm\openocd\tcl>openocd openocd -d 3 -l openocd.log -f interface/rlink.cfg -f board/stm3210e_eval.cfg lub G:\arm\openocd\tcl>openocd openocd -d 3 -l openocd.log...
(at)bulek01 -> Bardzo ciekawa sprawa. Nie mam niestety aktualnie dostępu do tego tunera. Jak tylko będę miał możliwość to oczywiście spróbuję to zabootować. Można by to też skompresować przez LZMA, przez co może obraz ten zmieściłby się we flashu. Nie znam się na takich sprawach, ale widzę, że są różne dystrybucje Debiana na [url=https://www.debian.org/ports/mips/]...
Witam Posiadam oryginalnego JLinka firmy Segger + sterowniki libusb-win32 1.2.2. Mam problem z połączeniem z targetem w OpenOCD. Używam mikrokontrolera STM32. Takie błędy mi wyskakują: C:\>openocd -f interface/jlink.cfg -f target/stm32.cfg Open On-Chip Debugger 0.4.0 (2010-02-22-19:05) Licensed under GNU GPL v2 For bug reports, read...
No bo przecież chyba, jeśli np. float wynosi 0x12345678 to w zależnosci od tego czy mamy little czy big endian to możemy mieć wartości w tablicy uint8_t Jeśli wysyłane by to było do innego systemu (z innym endianess) to oczywiście należało by zadbać, o właściwe poukładanie bajtów. Ale tutaj kolega zapisuje do EEPROM-u więc chyba nie ma tego problemu.
0xE000ED04 = 411FC231 (przełożone juz na low endian) czyli 1000001000111111100001000110001 Te wartości też są jakieś nienormalne chodzi mi tu o VECTPENDING = 508 100000100 0111111100 001000110001 Nie wiem czy to dobrze odczytujesz
Witam. Podpinam się pod temat, bo mam problem z tej samej kategorii. Dopiero zaczynam zabawę z ARMami i zaciąłem się na samym początku. Wygląda to tak jakby OpenOCD nie mógł skomunikować się z mikrokontrolerem. Mój sprzęt: płytka Olimex stm32-p103 + jtag lock-pick od Freddiego. OpenOCD wyrzuca takie komunikaty: G:\>openocd -f interface/jtagkey.cfg...
Hmm, tylko że ja korzystam z OpenOCD i eclipse więc tam nie ma za dużo opcji (nie mogę wybrać ani JTAG ani SWD ani pozostałych parametrów o których piszesz. Myślałem, że to coś jest źle skonfigurowane w eclipse. Wszystko o czym napisał BlueDraco można skonfigurować w OpenOCD. Wielkie dzięki za naprowadzenie. Zacząłem przeglądać configi i faktycznie...
To jak już znajdziesz tam jakieś DOBRE porady to daj znać (; Chyba znalazłem. :) Pomocny okazał się STLINK/V2 z kupionej okazyjnie przeze mnie płytki STM32F4DISCOVERY (niejako dla samego STLINK-a). Po paru próbach z konfiguracjami udało mi się ustalić pierwszą rzecz - czyli programowanie i kasowanie pamięci Flash. Najpierw plik konfiguracyjny : [syntax=c]#...
Nie będę ukrywał że wgryzłem się w kod, bo tego nie zrobiłem alee.. Dlaczego musisz to umieszczać w poszczególnych miejscach pamięci? Poczytaj o czymś takim jaki little endiam i big endian może ci coś to pomoże :/ ? nwm Może w tym jest problem :/ Odwiedź ten link Google -> Peczarski M. Mikrokontrolery STM 32 w sieci Ethernet chomikuj -> Na początku...
Czy komuś kiedyś zmalała ilość flash'a w STM32F103C6 ? Na początku było 32kB lecz po kilkudziesięciu zaprogramowaniach zrobiło się 16kB ;). Mikrokontroler pracuje poprawnie, próba załadowania programu większego jak 16kB powoduje błędy. Nie pomagało czyszczenie przez wbudowany boot loader który melduje że jest 32kB flash'a. Rejestr WRPR wskazuje że nie...
albertb: Idąc tym tropem, każdy kompilator powinien z instrukcji a = 5 generować dwa takie same podstawienia, bo jakiś procesor może się pomylić i zignorować instrukcję. Jeśli specyfikacja architekury i ABI mówi, że stos ma być wyrównany, to ma być. Po to jest specyfikacja. Architektura ARM dopuszcza np. knwencję little-endian i big-endian, ale kompilatory...
Nie generuje pliku *.hex, tylko *.elf, ale do pełnego debugowania wystarczy. Można wybrać tylko zapis Little-endian. Widać, że jest zakładka SFR do podglądu rejestrów (ODR z GPIOx itp.), bez konieczności szukania po adresie, ale cwaniacy zablokowali. Ogólnie jest to skonfigurowany Eclipse i tyle w temacie. Działa tylko z JTAG ST-Link i im pochodnych...
Witam ponownie, problem rozwiązany, a rozwiązanie jest proste (J-link SEGGER), tylko trzeba trochę poszukać, aby debugować arma przez sw-dp (JTMS,JTCK,GND,VCC), należy po pierwsze przestawić gdb server do pracy w sw-dp, podejrzewam, że w większości gdb jest podobnie, wiersz poleceń: C:\jlinkgdbserverCL -if swd Uruchomi się gdb server w tym trybie,...
Tak, to wiem, ale funkcja będzie pobierać dane wg swojej deklaracji czy wg deklaracji tablicy? Według swojej deklaracji. Jeżeli przekażesz do funkcji tablice: [syntax=c] uint8_t tab[] = {0x14, 0x2A, 0x56, 0xDF}; [/syntax] to w funkcji odczytasz przez wskaźnik na zmienna 16 bitowa (zakładając ze procek jest little endian): [syntax=c] font[0] - 0x2A14;...
Przypuszczam, że Twój problem może wynikać z "-specs=nosys.specs" - osobiście nigdy nie używałem tej opcji. Przy okazji dwie uwagi: - opcja "-mlittle-endian" jest bezsensu, bo i tak nie jesteś w stanie ustawić innego; - masz układ w którym jest FPU, a nie podałeś nigdzie opcji, która by to FPU włączyła/użyła;
Czy to co pokazałeś w 1. poście to jest to co dostałeś na wyświetlacz po uruchomieniu programu? Program powinien napisać kilka linii tekstu i wygenerować kilka losowych prostokątów. Czy modyfikowałeś coś w funkcjach sterowania samym wyświetlaczem? Czy wiesz jakie powinny być kolory wyświetlanych obiektów i czy są prawidłowe? To co widać na ekranie wygląda...
Witam! Ja jeszcze chciałbym wrócić do kwestii konfiguracji OpenOCD. Posiadam programator Wiggler i moduł z lpc2368 oraz OpenOCD 0.2.0+Eclipse+CodeSourcery. Przerobiłem plik parport.cfg na #Daemon telnet_port 4444 gdb_port 2001 #JTAG interface parport jtag_speed 4 jtag_device 4 0x01 0x0f 0x0e parport_port 0x378 parport_cable wiggler oraz plik lpc2368.cfg...
komendy do OpenOCD mam takie: # connect to the J-Link gdb server target remote localhost:2331 # Set gdb server to little endian monitor endian little # Set JTAG speed to 5 kHz monitor speed 5 # Reset the target monitor reset monitor sleep 100 # Set JTAG speed in khz monitor speed auto # Vector table placed in RAM monitor writeu32 0xE000ED08 = 0x20000000...
Wspominam teraz, że czytałem o używaniu jakiegoś pliku elf CK-Link wgranego do STM32, dzięki czemu można zrobić tani debugger CK-Link. Nie wiem jednak, czy tryb debugowania = dostęp do pamięci flash. Jest kilka artykułów na ten temat. np. https://en.eeworld.com.cn/bbs/thread-119... https://hackaday.io/page/12671-how-to-de...
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
Z https://obrazki.elektroda.pl/9844991400_... Pin PA4 podłączony za pomocą igły do szycia. https://obrazki.elektroda.pl/3034334300_... https://obrazki.elektroda.pl/8066860900_... Otrzymujemy te informacje z serwera debugowania XuanTie https://obrazki.elektroda.pl/6958044300_...
Witam, Zakupiłem zestaw z prockiem STM32F103ZET6 + TFT + jtag j-link segger i mam pewien problem: Skonfigurowałem środowisko Keil uVision 4 do pracy z j-link'em według manuala ze strony Keil'a i podczas aktywacji opcji FLASH DOWNLOAD w build window wyświetla mi sie: Load "..\\Obj\\test.AXF" Set JLink Project File to "C:\projekty\arm\JLinkSettings....
interesujące. PB6 i PB7 są na nich wyprowadzone dla SWDIO/SWCLK https://obrazki.elektroda.pl/3486774000_... Połączenie J-Link Commander i zrzut do pliku [syntax=text]SEGGER J-Link Commander V8.30 (Compiled Apr 30 2025 12:06:45) DLL version V8.30, compiled Apr 30 2025 12:05:50 Connecting to J-Link via USB...O.K. Firmware: J-Link ARM-OB...
Nie jest tak źle. Działa. Więc jest tak: Pod windowsem flashujemy ST-Linka i robimy z niego J-Linka. Ta strona jest pomocna. http://mikrokontroler.pl/2016/05/06/stli... Uwaga. W Windows trzeba mieć zainstalowane sterowniki pod ST-Linka. UWAGA: Jakby ktoś chciał na powrót zrobić ST-Linka z...
Witam, właśnie dostałem płytki stm32fdiscovery i chciałem zacząć z nim pracować w oparciu o gcc. Sciągnąłem sobie taki szablonowy program z tej strony /usr/lib64/gcc/arm-none-eabi/4.8.1/../..... error: Libraries/libstm32f3.a(stm32f30x_ext... uses VFP register arguments, main.elf does not /usr/lib64/gcc/arm-none-eabi/4.8.1/../.....
Witam serdecznie. Proszę o poradę. Programuje STM32L051 w Atolicu. Wstępna konfiguracja została wykonana poprzez Cube. Kod to tylko i wyłącznie ustawianie w pętli: naprzemiennie stanu wysokiego i niskiego na dwóch pinach z opóźnieniem i wygląda tak: SEGGER J-Link GDB Server V6.44i Command Line Version JLinkARM.dll V6.44i (DLL compiled May 17 2019 17:34:22)...
Witam, potrzebowałem podłączyć się z prostą płytką opartą na STM32F100C4T6 i użyłem dość starego programatora opartego na OOCDLINK A, udało mi podłączyć bez większych problemów, ale prędkość podłączenia pozostaje niezwykle wolna, co przekłada się na długi czas programowania i straszne lagi na telnecie i gdb. Testowałem już sam setup na dwóch różnych...
Hej Mam podłączony wyświetlacz na sterowniku Ili9341 do Stm32f429. Komunikuję się z tym sterownikiem po SPI. (wyświetlacz mam ustawiony w trybie RGB666) Wszystko działa jak należy. Postanowiłem się pobawić z DMA2D wraz pixel format conversion. Ustawiłem DMA2D https://obrazki.elektroda.pl/6103285500_... Oraz napisałem taki kod: Niestety...
Dzięki. W ramach dalszego kombinowania patrzę sobie na pliki wypluwane przez kompilator (elf, hex, bin). Okazuje się, że tam adres jest poprawny. Dopiero we Flashu najstarszy bajt zmienia się z 08 na 88, a cały adres z 0x0800ec89 na 0x8800ec89 (obrazki różnią się endianem, jest też lekkie przesunięcie względem adresów z oryginalnego posta). http://obrazki.elektroda.pl/8514149500_1...
Przejrzyj w manualu rozdział "13.3.4 Programmable data width, data alignment and endians", ze szczególnym uwzględnieniem akapitu "Addressing an AHB peripheral that does not support byte or halfword write operations". Potem patrzysz na początek opisu rejestrów timera i wyczytujesz tam: "The peripheral registers can be accessed by half-words (16-bit)...
Z kombinowaniem chodziło mi dokładnie o coś takiego, żeby wynik pokazywany był jako Signed Integer od -32768 do 32767, ale domyślnie do integera brane są 4, a nie 2 bajty pamięci dlatego widoczny wynik był zupełnie inny niż wartości w tablicy. http://obrazki.elektroda.pl/3317665300_1... Co do pamięci napisałem program, który to konwertuje...
dzięki za poradę. Aktualnie nie mam czasu ale sprawdzę tym sposobem. [Edit] Niestety nie mogę wypatrzyć żadnych adresów zaczynających się od 0800xxxx na stosie. A robiłem to tak: sprawdziłem wskaźnik sp i od wskazanej pozycji jechałem w górę - patrzyłem jako little i big endian bo nie pamiętałem jak ma być - nie ma takich adresów o które by mi chodziło....
Przy tej samej prędkosci zegara PIC-e maję wolniejszy FLASH - przy 48MHZ PIC-e 2WS a F0 1WS. Tak że będą czytać stałe z FLASH wolniej. oba procki chodzą na 24MHz, ze względu na pobór prądu Na prośbę moderatora: PIC32MX150, STM32F030K6T6 Tu prosta maszyna stanów - funkcja, która wykonuje się wolniej o jakieś 30...40% niż na PIC. Uprzedzam, sprawdziłem,...
Cześć, używam czegoś takiego jako bibliotek. Mógłbyś sprawdzić co tu może nie grać? Na moje oko to coś z funkcją wysyłającą tekst lub liczbę jest źle. Zależy mi abym nauczył się wyświetlać na nim jakieś napisy. Dotyku narazie nie chcę. Plik c [syntax=c] #include "ft800.h" #include "main.h" #include "notify.h" #include "spi.h" #include <stdlib.h>...
Witam, Zakupiłem sobie stm32butterfly, do tego programator z Allegro, przeczuwam, że był to błąd, o nazwie Triton. No i mam problem. Plik do open ocd dostarczony z programatorem jest skonfigurowany do pracy z atsam7 i w sumie nie bardzo wiem jak go zmienić, szczególnie że napisany jest dla starszej wersji openOCD. Probowałem zrobić swój własny plik...
Witam Bardzo proszę o pomoc w konfiguracji programu OpenOCD. Męcze się już drugi dzień, czytam fora i manuale, już ściągnąłem kilka wersji oprogramowania i nic:/ Problem jest następujący. Wykonałem układ turtelizera2 i mam do niego podłączony swój układ z AT91SAM7S64 na pokładzie (dodam że pod CrossStudio wszystko chodzi bezbłędnie i układ był już testowany...
format endian little endian stm32 f103rb
zasilać sieciowy bateryjny telefony używane gwarancja maska lakierowanie
krups ea872 bezpiecznik świateł mijania
Kod błędu 241 Subaru Forester 2004 automat - diagnostyka i rozwiązania Najlepsze karty graficzne do zasilacza 300W