Pomijając sensowność używania sprintf do SKOPIOWANIA stringa do jakiejś zmiennej, to błędów jest bardzo dużo. 1. Skasowałeś stronę którą chcesz zapisywać? 2. Odblokowałeś zapis do flasha? 3. Twój zapis jest dziurawy, bo jak zero będzie na nieparzystej pozycji, to pętla nie zakończy się wtedy kiedy będziesz chciał 4. Odczytujesz FlashStatus, to sprawdź...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
http://obrazki.elektroda.pl/7258579400_1... Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;) Tym razem jest to miniaturowy sterownik ethernetowy - " uWebServer ". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość...
Cześć :) W związku z tym, że w miejscu w którym pracuję istnieje potrzeba programowania pamięci SPI których wsad jest taki sam, stwierdziłem że zbuduję urządzenie, które będzie kopiowało zawartość jednej kości do drugiej. Niby nic, ale z czasem chciałbym zająć się zawodowo projektowaniem oraz programowaniem mikrokontrolerów, więc jako pierwszy projekt...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
Jestem nowy w STM32. Podłączyłem flash w25q128jv poprzez QSPI z poradnika https://controllerstech.com/w25q-flash-s... działa, ale podczas próby odczytu pamięci zwraca mi zawsze 0x88, lecz gdy odłączę GND do pamięci odczyt działa z artefaktami.
https://obrazki.elektroda.pl/3479042800_... Efektem nocnych dłubanin jest sterownik taśm RGB/RGBW. https://obrazki.elektroda.pl/6143799100_... https://obrazki.elektroda.pl/6487351400_... https://obrazki.elektroda.pl/8955729600_... Głównym przeznaczeniem jest sterowanie oświetleniem...
Oczywiście, że można to zrobić bez użycia HAL, czy SPL. Kod, który tu przedstawiłeś wymaga bardzo wielu poprawek. Nie uważasz, że funkcja zapisu do pamięci jest zbyt skomplikowana? Długa na 88 linii, zawiera dziwne stałe typu: 1 << 14, 0xF3. Np co robi ta instrukcja: [syntax=c]FLASH->CR &= 0x1FFE;[/syntax], albo taka: [syntax=c]while(FLASH->SR...
Próbował ktoś z was zablokować odczyt pamięci flash z poziomu programu ? Według not wpisanie do bitów 15-8 (RDP) rejestru FLASH_OPTCR dowolnego bajtu poza 0xaa 0xcc powoduje włączenie blokady odczytu, poziomu 1 zabezpieczeń. Z funkcji bibliotecznych można użyć funkcji FLASH_OB_RDPConfig(OB_RDP_Level_1); dodatkowo można zresetować urządzenie. Testowałem...
Witam. Zaopatrzyłem się niedawno w aplikację zwaną Flash loader demonstrator. Umożliwia ona m.in. zapis i odczyt pamięci programu mikrokontrolera STM32 przez bootloader poprzez RS232. Gdy chciałem odczytać pamięć flash i zapisać obraz pamięci w pliku hex mocno się zdziwiłem, gdyż plik miał rozmiar 319744 bajtów, a flash mojego STM32F103RB ma "tylko"...
Czytałem o tym i faktycznie coś w tym jest, czyli podsumowując nie da się po prostu podłączyć kabelki TX RX jak w stm32 i jakimś flash downloaderem zgrać wsadu?
Kontroler flasha to nadal tylko peryferial memory-mapped, wiec SFR w ktorym ustawiasz protekcje niczym sie nie rozni od SFRów od np. SPI, i dokladnie tak samo mozna go zapisać przez SWD/JTAG . A to juz wprost odpowiedz na twoje pytanie. SWD/JTAG pozwala na rw dowolnego 32bitowego adresu w losowym momencie, niezaleznie od tego, czy rdzen wykonuje kod,...
Witam, Zaczynam przygodę z mikrokontrolerami STM32, posiadam STM32F429IDISCOVERY. Zaczynam pracę z kursem na youtube: https://www.youtube.com/watch?v=kSVNG3sC... Wykonałem konfigurację środowiska jak w poprzednim odcinku, jednak gdy teraz próbuję wgrać program (zwykłe zapalenie diody) to w STM32CubeIDE 1.3.0 pojawia się komunikat: Debugger connection...
Hmm, chodzi o to, że Level 1 to cokolwiek oprócz 0xAA i 0xCC, czyli również 0xFF? Właśnie we flash programming manual to jakoś tak tajemniczo i krótko było opisane ;) Bo pomyślałem sobie jeszcze, że może jest odczyt bieżących RDP, WRP, Data0 itp., potem erase i zapis nowych, po czym dopiero po Launch (czyli chyba de facto soft reset?), jeśli RDP się...
tmf napisał: Kolego, kompilator nic nie wie o adresach, typach pamięci i całym tym bałaganie. Cóś jednak wie czasami - bo jak by nie wiedział to jak by avr-gcc generował poprawny kod dla NAS? Przecież nie generuje. NAS powoduje tylko związanie z danym obiektem jednobajtowego identyfikatora przestrzeni, a reszta leży po stronie frontendu. Każde odwołanie...
4,7k jest wyliczony raczej dla 5V, DS18B20 jak i STM32 może działać na 3.3V i wtedy proporcjonalnie to już jest ~3k. A jak zasilasz układ czujników jednak 5V to tym gorzej dla układu. Nie mam styczności z MacOS, sprawdzałeś to: http://macappstore.org/stlink/ ? Poza tym przy wgraniu bootloadera trzeba pamiętać o zworkach, bo się kasuje, może uległeś...
to tablicy unsigned charow w flashu stm32 juz nie mozna trzymać? sprawdzilem na tablicy uint8_t zarówno zapis jak i odczyt działa bez zarzutów. W takim razie nie wiem co mogło być przyczyną problemów w przypadku pojedynczych zmiennych. To, że ci nie działa tak jak trzeba to jest wina twojego softu, nie flasha ani kompilatora. Sprawdź jak zmusić GCC...
Hejka, robię właśnie przesiadkę projektu z kompilatora IAR'a do GCC'a i mam problem z przeniesieniem niektórych ustawień, konkretniej chodzi o nie wycinanie przez linker konkretnych, nieużywanych zmiennych globalnych wygenerowanych przez zewnętrzne narzędzie, zawierających informacje np. o dacie buildu, checksumie itp. które są potem w przypadku reklamacji...
Przepraszam , że nie dokończyłem wczoraj ale przysnołem. Nie poszło tak prosto bo nie otrzymuje zapisu na kartę , cały program kompiluje się mi w porządku tzn otrzymuje hex -a, zadaniem poniżej przedstawionego programu jest tylko odczyt jednej wartości z wejścia adc1 oraz zapisanie jej na karcie do pliku o nazwie plik, poniżej przedstawiam listing z...
Podałeś przykład z mnożeniem niedostosowanych do FFP liczb, to ja podam kontrprzykład: for(float i=0;i<10;i+=0.00000001); Zadziała z float? Oczywiście nie. O czym to świadczy? Wyłącznie o tym, że programując trzeba myśleć. Rozwiązanie problemu który przedstawiłeś zajmuje jakieś 3 sekundy - wystarczy zastosować typ double (lub po prostu zmienić wartości,...
C-SKY Flash Programmer jest oprogramowaniem dostarczanym do pobrania przez XuanTie na stronie https://www.xrvm.cn/community/download?i... https://obrazki.elektroda.pl/1504579400_... Narzędzie to współpracuje z programatorami CK-Link do odczytu i zapisu w pamięci flash procesorów C-Sky z rdzeniem RISC. Procesory...
Są jakieś mechanizmy odczytu flash, jednak to nie jest ani bardzo proste ani za bardzo legalne. Tutaj jakaś wstępna lektura https://sec-consult.com/blog/detail/secg...
Czy tak trudno odpowiedzieć na pytanie? Sam się czasami dziwie, że to taki trudne. Nie specjalizuje się w angielskim, a trudno przetłumaczyć/znaleźć zagadnienie w pdfie. Wszystko wynika ze specyfiki takiej pamięci. Pomijając aspekty fizyczne, czysta komórka pamięci flash odpowiada stanowi "1". Podczas zapisu do pojedynczej komórki można tylko i wyłącznie...
Witam! Mam pytanie o kwestię banalną przy pracy z programatorem, ale niewiadomą puki co dla mnie, przy pracy z j-tagiem. Jak włączyć zabezpieczenie przed odczytem flash-a?
Niezależnie od tego, co z nimi potem robisz, najwygodniej czytać je zwyczajnie przez adresy po jednokrotnym ustawieniu odwzorowania QSPI w przestrzeni adresowej, a nie poleceniami odczytu pamięci. W EP możesz kupić elektronicznie dowolny numer.
========================================... Option Bytes Programming functions ========================================... This group includes the following functions: - void FLASH_OB_Unlock(void) - void FLASH_OB_Lock(void) - void FLASH_OB_WRPConfig(uint32_t OB_WRP, FunctionalState...
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
stm32f407vet6+st link i do tego ST-LINK Utility, i tak... po podłączeniu automatycznie ładuje program z procka klikam zapisz Upewnij się czy masz dobrze określony obszar flash do odczytu odpowiedni do danego uC, bo Stlink nie ustawia tego automatycznie. Może odczytujesz i wgrywasz później tylko część istotnego obszaru flash i stąd te dziwy. Przykładowo,...
Ciężko odpowiedzieć na tak zadane pytanie. To tak jakbyś zapytał jak sprawdzić wartość jakiejś komórki pamięci RAM (czyli powiedzmy jakąś zmienną). No po prostu odczytując ją :D Tak samo różne opcje zabezpieczeń. One są zapisane w pamięci, tyle że FLASH. Żeby je sprawdzić to trzeba je odczytać. No inaczej się nie na napisać. Ale mała podpowiedz: Option...
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...
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 wyszukiwarce wpisz "stm32 eeprom emulation".
Widać, że coś się odczytało i jest czysta pamięć. Nowy układ nie będzie zabezpieczony przed odczytem. A jeszcze dopytam, z tego starego STM32 zero szans żeby coś odczytać? Jedyne co o nim wiem że robi zwarcie pomiędzy 3.3V a GND. Jeżeli jakiś np. port jest uszkodzony nie oznacza to, że na 100% rdzeń się uszkodził i interfejs do pamięci flash również....
Znalazłem kod obsługi wyś 7-segmentowego, pozmieniałem rejestry pod swój mikro procesor (ATmega32). Tylko mam problem z linia " static const uint8_t __flash DIGITS To standardowy błąd eclipse i pluginu do AVR, nie wpływa ten błąd na kompilację, jedynie na "podkreślanie" składni w Eclipse. Rozwiązanie tego problemu znajdziesz m.in. w tym wątku: https://forum.atnel.pl/topic15543.html#p...
Po zdjęciu nie trzeba odłączać zasilania. Tylko po włączeniu (zabezpieczenia). Dowodem na to jest np. w trybie automatycznym ST-Link zdejmuje zabezpieczenie (o ile jest poziom 1), programuje i ustawia zabezpieczenie bez konieczności wyłączenia zasilania. Korzystam z tego dość często jak muszę przeprogramować układy (np zmiana bootloadera).
Czy spotkaliście się może z takim problemem? Teraz zrobiłem test i jest tak jak piszesz. Akurat mam pod ręką Nucleo (jako programator) i osobną płytkę z osobnym procesorem (F0 ale to chyba nie jest ważne) to widzę że po ustawieniu zabezpieczenia Level1, faktycznie poprzez odłączanie i załączanie Nucleo do USB, procesor nie startuje. Nie pomaga reset...
(at)JacekCz Przejrzyj ofertę pamięci dataFLASH, są pamięci z intgefejsem SPI (obudowy zazwyczaj SO08) lub równoległym (większe obudowy). Odczyt sekwencyjny jest szybki (do kilkunastu MB/s), zapis odbywa się blokami o stałej długości dla danego typu pamięci i jest raczej wolny (do kilkuset kB/s przy zapisie do wcześniej skasowanych bloków). Masz też...
jakąś pamięć na ustawienia Możesz ustawienia przechowywać w NVS (wydzielona partycja we flash). Jest to o tyle wygodne, że konkretny obiekt do odczytu/zapisu jest szukany wg klucza i nie trzeba się martwić o jego konkretną lokalizację. https://docs.espressif.com/projects/esp-...
Yup. O wiele lepszy będzie jakiś odczyt z pamięci czy coś takiego. 4\/3!!
Podczas zapisu do Flash w uC, które mają jeden bank Flash, próba odczytu powoduje zatrzymanie procesora i poczekania do końca zapisu. Nie jest to problemem przy obsłudze przerwań UART, bo czas zapisu jest krótszy, niż czas transmisji znaku przez UART.
Witam Ja bym to zrobił tak: 1. Kompiluje sobie moja funkcję- mam .bin. 2. W pliku .map lub debugując patrzę jaki funkcja ma adres. 3. Kopiuję bin'a na kartę SD i potem czytam .bin'a od adresu gdzie się zaczyna moja funkcja i kopiuję ramu procesora. 4. Wywołuje funkcję z ramu, przez wskaźnik. Jak nie zależy ci na szybkości to ok, bo trzeba odczytać z...
Wprawdzie program mojego bootloadera napisałem korzystając z bibliotek ST, ale odblokowanie dowolnych stron FLASH'a do zapisu bardzo ładnie działa i nie mam z nim najmniejszych problemów. Zrobiłem to w następujący sposób (kolejność jest ważna): 1. Odblokowanie FLASH'a: FLASH_Unlock(); 2. Skopiowanie ustawień bitów rejestru USER OPTION BYTES: KopiaOBR...
Pierwsza rzecz to ponowna próba odbezpieczenia "obszaru opcji" powoduje u mnie lądowanie w HardFault. Piszę o tym: [syntax=c] FLASH->OPTKEYR = 0x08192A3B; FLASH->OPTKEYR = 0x4C5D6E7F; while( FLASH -> SR & FLASH_SR_BSY ) {}; -> FLASH->KEYR = 0x08192A3B; -> FLASH->KEYR = 0x4C5D6E7F; -> while( FLASH -> SR & FLASH_SR_BSY ) {}; [/syntax] Po drugie po co...
Szanowni Forumowicze, Mam problem z Virtual Port COM. Używam procesora STM32F103VBT6. Na nim chcę zrobić taki sterownik uniwersalny kilka wejść wyjść oraz USB do wysyłania komend i odczytu stanu wejść i wyjść. Chcę zrobić to tak że np mam wyjście powiedzmy PA0 i jest tam podłączona dioda i po wysłaniu komendy "LEDON" włączy się. Niestety mając do dyspozycji...
0. Konfiguracja FMC wymaga poprawy. Wszystkie czasy masz ustawione domyślnie, więc interfejs niepotrzebnie czeka z wykonaniem każdej operacji. Popatrz na parametry MEMxSET, MEMxWAIT, MEMxHOLD i porównaj z tym co może pamięć. Przykład: MEMxSET jest ustawiony na 0xFC, czyli jakieś 252 x 4,63ns = 1,16us. Pamięć potrzebuje około 20ns -12ns = 8ns. Dostosuj...
Nie mam żadnej płytki z STM32F072CBxx, dlatego sprawdzić na żywym nie mogę. Odczyt rejestru nie może generować błędu, jeżeli projekt jest skompilowany dla tego właśnie mikrokontrolera. Jeżeli błąd jest podczas odczytu, a projekt zawiera definicjami rejestrów dla stm32f072xb, to sprawdziłbym co jest podłączone do programatora. Czy to na pewno jest STM32F072CBTx?...
Czy można skopiować jakiś program bezpośrednio z jednego urządzenia na drugie (STM32F4 Discovery)? Trochę mało konkretne to pytanie. Jeśli przypadkiem Ci chodzi o skopiowanie programu z jednego Discovery do drugiego (tego samego typu), to nie ma problemu (jeśli akurat nie jest ustawiona opcja blokady odczytu). Programem ST-LINK odczytuje się i zrzuca...
Okazało się, że podszedłem do tematu z niewystarczającą wiedzą. Przed każdym zapisem, należy określony sektor wyczyścić instrukcja Sector Erase. Chcialbym móc kasować pojedyncze komórki i aktualizować tam niektóre dane, jednakże pamięci flash tego nie umożliwiają, cóż coś za coś. Może uda się niektóre zmienne zapisywać do flashu procesora. Coś wymyślę,...
Wcześniej użyłem volatile bo chciałem wymusić odczyt tych tablic za każdym razem z pamięci FLASH. A nie z jakiegoś rejestru gdzie wartość mogła by zostać zapamiętana. W tym celu, żeby po przeprogramowaniu pamięci, program na pewno operował na nowych wartościach. Ale mam rozumieć że w tym wypadku volatile nie pełni roli wymuszenia każdorazowego dostępu,...
Chodzi mi tylko o to żeby procesor nie zawiesił się na pętli w obsługi wyjątku. Jak skończy się FLASH to niech odczytuje śmieci, przewinie adres czy co tam chce. Odczyt spod nieistniejącego adresu jak i wykonanie śmieci samo w sobie problemem nie jest. Problemem jest że procesor wtedy generuje wyjątek. Widzę jednak że będę uszczęśliwiany na siłę. Więc...
stm32 flash odczyt odczyt pamięć flash stm32 odczyt pamięci flash stm32
regulator wzbudzić agregat micra stick reklama neonowa
spawarka scherman inwertorowa bateria milwaukee
Radmor 5102 - brak dźwięku w kolumnach zewnętrznych Radmor 5102: Funkcja wyłącznika gramofon/magnetofon